Re: [yocto] The best way to change target architecture

2017-06-06 Thread Zhuoqun Cheng
Sorry for the previous message. Accidentally sent it out.

Thanks, Andre! That explains a lot.
I got rid of the entire tmp directory and then rebuilt. And unfortunately
I'm still running into the same problem...
I entered the directory shown in the error and did a 'file' on the
binaries. They are all x86-64 binary. Now I wonder why in the
core2-32-intel-commom-poke-linux folder exists 64 bit binaries?
What configuration could I have messed up?

Thanks,
Tom.


On Tue, Jun 6, 2017 at 7:09 PM, Zhuoqun Cheng  wrote:

> Thanks, Andre! That explains a lot.
> I got rid of the entire tmp directory and then rebuilt. And unfortunately
> I'm still running into the same problem...
> Looking at the error again (see below)
>
>
> On Tue, Jun 6, 2017 at 1:30 PM, Andre McCurdy  wrote:
>
>> On Tue, Jun 6, 2017 at 5:42 AM, Zhuoqun Cheng  wrote:
>> > Hi Yocto Experts,
>> >
>> > I'm fairly new to Yocto and I've already tried my best to search for
>> > answers, but not happy with what I found.
>> >
>> > So here's the situation I've got:
>> >
>> > I'm using yocto to build the intel aero board image, following this
>> link:
>> > https://github.com/intel-aero/meta-intel-aero/wiki/Quickstar
>> t-Guide#yocto-for-intel-aero
>> >
>> > Everything worked fine, until I wanted to change the target architecture
>> > from the default 64-bit x86 to 32-bit x86. What I did is three steps:
>> > 1. do a clean: bitbake -c clean intel-aero-image
>>
>> Note that running the clean task for the final image doesn't have any
>> affect on the packages which go into that image, so this step doesn't
>> actually do very much.
>>
>> > 2. change configuration, from "require conf/machine/intel-corei7-64.conf"
>> to
>> > "require conf/machine/intel-core2-32.conf" in the file
>> > "meta-intel-aero/conf/machine/intel-aero.conf"
>>
>> Here you are changing the target architecture but keeping the machine
>> name the same. In theory it should work, but it probably isn't well
>> tested...
>>
>> > 3. do a build: bitbake intel-aero-image
>> >
>> > Unfortunately, I got loads of errors, like "ERROR:
>> > linux-yocto-4.4.60+gitAUTOINC+2cc78e92f4-r0 do_package_qa: QA Issue:
>> > Architecture did not match (3 to 62) on
>> > work/core2-32-intel-common-poky-linux/linux-yocto/4.4.60+git
>> AUTOINC+2cc78e92f4-r0/packages-split/kernel-module-gspca-
>> kinect/lib/modules/4.4.60-yocto-standard/kernel/drivers/
>> media/usb/gspca/gspca_kinect.ko
>> > [arch]
>> > "
>> >
>> > Then I tried deleting all the files in the packages-split directory and
>> > rebuilding.
>>
>> Manually deleting anything within a recipe's working directory isn't
>> really recommended. Better to run the clean (or cleansstate) task for
>> that recipe instead, e.g. in this case:
>>
>>   bitbake -c cleansstate linux-yocto
>>
>> > It passed building the kernel (even though failed because some
>> > other package's arch mismatch), but those file I deleted never got
>> generated
>> > again! Now I'm a bit worried.
>>
>> It's quite normal that build artefacts will not be generated again if
>> a recipe has been successfully built once before, since build results
>> are stored in sstate cache. To force a particular recipe to be
>> rebuilt, you can use:
>>
>>   bitbake -c cleansstate 
>>   bitbake 
>>
>> > So I guess my question is:
>> > What is the correct procedures to follow to reuse a poky folder (already
>> > built once) for a different target architecture? I'm happy to accept any
>> > links and suggested readings.
>>
>> The normal way to recover from the kind of problems you are seeing
>> would be to remove the entire tmp directory (and if that still doesn't
>> work, then manually run the cleansstate task for any individual
>> recipes which still fail to build).
>>
>> > Thanks a lot!
>> > Tom.
>> >
>> >
>> > --
>> > ___
>> > yocto mailing list
>> > yocto@yoctoproject.org
>> > https://lists.yoctoproject.org/listinfo/yocto
>> >
>>
>
>
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] The best way to change target architecture

2017-06-06 Thread Zhuoqun Cheng
Thanks, Andre! That explains a lot.
I got rid of the entire tmp directory and then rebuilt. And unfortunately
I'm still running into the same problem...
Looking at the error again (see below)


On Tue, Jun 6, 2017 at 1:30 PM, Andre McCurdy  wrote:

> On Tue, Jun 6, 2017 at 5:42 AM, Zhuoqun Cheng  wrote:
> > Hi Yocto Experts,
> >
> > I'm fairly new to Yocto and I've already tried my best to search for
> > answers, but not happy with what I found.
> >
> > So here's the situation I've got:
> >
> > I'm using yocto to build the intel aero board image, following this link:
> > https://github.com/intel-aero/meta-intel-aero/wiki/
> Quickstart-Guide#yocto-for-intel-aero
> >
> > Everything worked fine, until I wanted to change the target architecture
> > from the default 64-bit x86 to 32-bit x86. What I did is three steps:
> > 1. do a clean: bitbake -c clean intel-aero-image
>
> Note that running the clean task for the final image doesn't have any
> affect on the packages which go into that image, so this step doesn't
> actually do very much.
>
> > 2. change configuration, from "require conf/machine/intel-corei7-64.conf"
> to
> > "require conf/machine/intel-core2-32.conf" in the file
> > "meta-intel-aero/conf/machine/intel-aero.conf"
>
> Here you are changing the target architecture but keeping the machine
> name the same. In theory it should work, but it probably isn't well
> tested...
>
> > 3. do a build: bitbake intel-aero-image
> >
> > Unfortunately, I got loads of errors, like "ERROR:
> > linux-yocto-4.4.60+gitAUTOINC+2cc78e92f4-r0 do_package_qa: QA Issue:
> > Architecture did not match (3 to 62) on
> > work/core2-32-intel-common-poky-linux/linux-yocto/4.4.60+
> gitAUTOINC+2cc78e92f4-r0/packages-split/kernel-module-
> gspca-kinect/lib/modules/4.4.60-yocto-standard/kernel/
> drivers/media/usb/gspca/gspca_kinect.ko
> > [arch]
> > "
> >
> > Then I tried deleting all the files in the packages-split directory and
> > rebuilding.
>
> Manually deleting anything within a recipe's working directory isn't
> really recommended. Better to run the clean (or cleansstate) task for
> that recipe instead, e.g. in this case:
>
>   bitbake -c cleansstate linux-yocto
>
> > It passed building the kernel (even though failed because some
> > other package's arch mismatch), but those file I deleted never got
> generated
> > again! Now I'm a bit worried.
>
> It's quite normal that build artefacts will not be generated again if
> a recipe has been successfully built once before, since build results
> are stored in sstate cache. To force a particular recipe to be
> rebuilt, you can use:
>
>   bitbake -c cleansstate 
>   bitbake 
>
> > So I guess my question is:
> > What is the correct procedures to follow to reuse a poky folder (already
> > built once) for a different target architecture? I'm happy to accept any
> > links and suggested readings.
>
> The normal way to recover from the kind of problems you are seeing
> would be to remove the entire tmp directory (and if that still doesn't
> work, then manually run the cleansstate task for any individual
> recipes which still fail to build).
>
> > Thanks a lot!
> > Tom.
> >
> >
> > --
> > ___
> > yocto mailing list
> > yocto@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/yocto
> >
>
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] The best way to change target architecture

2017-06-06 Thread Andre McCurdy
On Tue, Jun 6, 2017 at 5:42 AM, Zhuoqun Cheng  wrote:
> Hi Yocto Experts,
>
> I'm fairly new to Yocto and I've already tried my best to search for
> answers, but not happy with what I found.
>
> So here's the situation I've got:
>
> I'm using yocto to build the intel aero board image, following this link:
> https://github.com/intel-aero/meta-intel-aero/wiki/Quickstart-Guide#yocto-for-intel-aero
>
> Everything worked fine, until I wanted to change the target architecture
> from the default 64-bit x86 to 32-bit x86. What I did is three steps:
> 1. do a clean: bitbake -c clean intel-aero-image

Note that running the clean task for the final image doesn't have any
affect on the packages which go into that image, so this step doesn't
actually do very much.

> 2. change configuration, from "require conf/machine/intel-corei7-64.conf" to
> "require conf/machine/intel-core2-32.conf" in the file
> "meta-intel-aero/conf/machine/intel-aero.conf"

Here you are changing the target architecture but keeping the machine
name the same. In theory it should work, but it probably isn't well
tested...

> 3. do a build: bitbake intel-aero-image
>
> Unfortunately, I got loads of errors, like "ERROR:
> linux-yocto-4.4.60+gitAUTOINC+2cc78e92f4-r0 do_package_qa: QA Issue:
> Architecture did not match (3 to 62) on
> work/core2-32-intel-common-poky-linux/linux-yocto/4.4.60+gitAUTOINC+2cc78e92f4-r0/packages-split/kernel-module-gspca-kinect/lib/modules/4.4.60-yocto-standard/kernel/drivers/media/usb/gspca/gspca_kinect.ko
> [arch]
> "
>
> Then I tried deleting all the files in the packages-split directory and
> rebuilding.

Manually deleting anything within a recipe's working directory isn't
really recommended. Better to run the clean (or cleansstate) task for
that recipe instead, e.g. in this case:

  bitbake -c cleansstate linux-yocto

> It passed building the kernel (even though failed because some
> other package's arch mismatch), but those file I deleted never got generated
> again! Now I'm a bit worried.

It's quite normal that build artefacts will not be generated again if
a recipe has been successfully built once before, since build results
are stored in sstate cache. To force a particular recipe to be
rebuilt, you can use:

  bitbake -c cleansstate 
  bitbake 

> So I guess my question is:
> What is the correct procedures to follow to reuse a poky folder (already
> built once) for a different target architecture? I'm happy to accept any
> links and suggested readings.

The normal way to recover from the kind of problems you are seeing
would be to remove the entire tmp directory (and if that still doesn't
work, then manually run the cleansstate task for any individual
recipes which still fail to build).

> Thanks a lot!
> Tom.
>
>
> --
> ___
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] The best way to change target architecture

2017-06-06 Thread Zhuoqun Cheng
Hi Leo and Khem,

I just changed the MACHINE var to "intel-core2-32" (I assume it's the one
in build/conf/local.conf. It was read-only and I added write permission)
and it still gives me the same error.

Here's some info that might be useful, before I change, when I do build, it
prints:

Build Configuration:
BB_VERSION= "1.30.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING   = "universal"
TARGET_SYS= "i686-poky-linux"
MACHINE   = "intel-aero"
DISTRO= "poky-aero"
DISTRO_VERSION= "1.4.0-dev"
TUNE_FEATURES = "m32 core2"
TARGET_FPU= ""

After change:

Build Configuration:
BB_VERSION= "1.30.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING   = "universal"
TARGET_SYS= "i686-poky-linux"
MACHINE   = "intel-core2-32"
DISTRO= "poky-aero"
DISTRO_VERSION= "1.4.0-dev"
TUNE_FEATURES = "m32 core2"
TARGET_FPU= ""

Thanks,
Tom.

On Tue, Jun 6, 2017 at 11:59 AM, Leonardo Sandoval <
leonardo.sandoval.gonza...@linux.intel.com> wrote:

> On Tue, 2017-06-06 at 08:42 -0400, Zhuoqun Cheng wrote:
> > Hi Yocto Experts,
> >
> >
> > I'm fairly new to Yocto and I've already tried my best to search for
> > answers, but not happy with what I found.
> >
> >
> > So here's the situation I've got:
> >
> >
> > I'm using yocto to build the intel aero board image, following this
> > link:
> > https://github.com/intel-aero/meta-intel-aero/wiki/
> Quickstart-Guide#yocto-for-intel-aero
> >
> >
> >
> > Everything worked fine, until I wanted to change the target
> > architecture from the default 64-bit x86 to 32-bit x86. What I did is
> > three steps:
> > 1. do a clean: bitbake -c clean intel-aero-image
> > 2. change configuration, from "require
> > conf/machine/intel-corei7-64.conf" to "require
> > conf/machine/intel-core2-32.conf" in the file
> > "meta-intel-aero/conf/machine/intel-aero.conf"
> > 3. do a build: bitbake intel-aero-image
> >
> Did you change the MACHINE var?
>
>
>
> >
> > Unfortunately, I got loads of errors, like "ERROR: linux-yocto-4.4.60
> > +gitAUTOINC+2cc78e92f4-r0 do_package_qa: QA Issue: Architecture did
> > not match (3 to 62) on
> > work/core2-32-intel-common-poky-linux/linux-yocto/4.4.60+gitAUTOINC
> > +2cc78e92f4-r0/packages-split/kernel-module-gspca-kinect/
> lib/modules/4.4.60-yocto-standard/kernel/drivers/media/usb/gspca/gspca_kinect.ko
> [arch]
> > "
> >
> >
> > Then I tried deleting all the files in the packages-split directory
> > and rebuilding. It passed building the kernel (even though failed
> > because some other package's arch mismatch), but those file I deleted
> > never got generated again! Now I'm a bit worried.
> >
> >
> > So I guess my question is:
> > What is the correct procedures to follow to reuse a poky folder
> > (already built once) for a different target architecture? I'm happy to
> > accept any links and suggested readings.
> >
> >
> > Thanks a lot!
> > Tom.
> >
> >
> > --
> > ___
> > yocto mailing list
> > yocto@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/yocto
>
>
>
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] The best way to change target architecture

2017-06-06 Thread Leonardo Sandoval
On Tue, 2017-06-06 at 08:42 -0400, Zhuoqun Cheng wrote:
> Hi Yocto Experts,
> 
> 
> I'm fairly new to Yocto and I've already tried my best to search for
> answers, but not happy with what I found.
> 
> 
> So here's the situation I've got: 
> 
> 
> I'm using yocto to build the intel aero board image, following this
> link:
> https://github.com/intel-aero/meta-intel-aero/wiki/Quickstart-Guide#yocto-for-intel-aero
> 
> 
> 
> Everything worked fine, until I wanted to change the target
> architecture from the default 64-bit x86 to 32-bit x86. What I did is
> three steps:
> 1. do a clean: bitbake -c clean intel-aero-image
> 2. change configuration, from "require
> conf/machine/intel-corei7-64.conf" to "require
> conf/machine/intel-core2-32.conf" in the file
> "meta-intel-aero/conf/machine/intel-aero.conf"
> 3. do a build: bitbake intel-aero-image
> 
Did you change the MACHINE var?



> 
> Unfortunately, I got loads of errors, like "ERROR: linux-yocto-4.4.60
> +gitAUTOINC+2cc78e92f4-r0 do_package_qa: QA Issue: Architecture did
> not match (3 to 62) on
> work/core2-32-intel-common-poky-linux/linux-yocto/4.4.60+gitAUTOINC
> +2cc78e92f4-r0/packages-split/kernel-module-gspca-kinect/lib/modules/4.4.60-yocto-standard/kernel/drivers/media/usb/gspca/gspca_kinect.ko
>  [arch]
> "
> 
> 
> Then I tried deleting all the files in the packages-split directory
> and rebuilding. It passed building the kernel (even though failed
> because some other package's arch mismatch), but those file I deleted
> never got generated again! Now I'm a bit worried.
> 
> 
> So I guess my question is:
> What is the correct procedures to follow to reuse a poky folder
> (already built once) for a different target architecture? I'm happy to
> accept any links and suggested readings.
> 
> 
> Thanks a lot!
> Tom.
> 
> 
> -- 
> ___
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] The best way to change target architecture

2017-06-06 Thread Khem Raj
On Tue, Jun 6, 2017 at 5:42 AM, Zhuoqun Cheng  wrote:
> Hi Yocto Experts,
>
> I'm fairly new to Yocto and I've already tried my best to search for
> answers, but not happy with what I found.
>
> So here's the situation I've got:
>
> I'm using yocto to build the intel aero board image, following this link:
> https://github.com/intel-aero/meta-intel-aero/wiki/Quickstart-Guide#yocto-for-intel-aero
>
> Everything worked fine, until I wanted to change the target architecture
> from the default 64-bit x86 to 32-bit x86. What I did is three steps:
> 1. do a clean: bitbake -c clean intel-aero-image
> 2. change configuration, from "require conf/machine/intel-corei7-64.conf" to
> "require conf/machine/intel-core2-32.conf" in the file
> "meta-intel-aero/conf/machine/intel-aero.conf"
> 3. do a build: bitbake intel-aero-image
>
> Unfortunately, I got loads of errors, like "ERROR:
> linux-yocto-4.4.60+gitAUTOINC+2cc78e92f4-r0 do_package_qa: QA Issue:
> Architecture did not match (3 to 62) on
> work/core2-32-intel-common-poky-linux/linux-yocto/4.4.60+gitAUTOINC+2cc78e92f4-r0/packages-split/kernel-module-gspca-kinect/lib/modules/4.4.60-yocto-standard/kernel/drivers/media/usb/gspca/gspca_kinect.ko
> [arch]
> "
>
> Then I tried deleting all the files in the packages-split directory and
> rebuilding. It passed building the kernel (even though failed because some
> other package's arch mismatch), but those file I deleted never got generated
> again! Now I'm a bit worried.
>
> So I guess my question is:
> What is the correct procedures to follow to reuse a poky folder (already
> built once) for a different target architecture? I'm happy to accept any
> links and suggested readings.
>

there already is a definition for 32bit machine, if you want a pure
32bit rootfs all you need
to do is set MACHINE = "intel-core2-32" in local.conf


> Thanks a lot!
> Tom.
>
>
> --
> ___
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[yocto] The best way to change target architecture

2017-06-06 Thread Zhuoqun Cheng
Hi Yocto Experts,

I'm fairly new to Yocto and I've already tried my best to search for
answers, but not happy with what I found.

So here's the situation I've got:

I'm using yocto to build the intel aero board image, following this link:
https://github.com/intel-aero/meta-intel-aero/wiki/Quickstart-Guide#yocto-for-intel-aero

Everything worked fine, until I wanted to change the target architecture
from the default 64-bit x86 to 32-bit x86. What I did is three steps:
1. do a clean: bitbake -c clean intel-aero-image
2. change configuration, from "require conf/machine/intel-corei7-64.conf"
to "require conf/machine/intel-core2-32.conf" in the file
"meta-intel-aero/conf/machine/intel-aero.conf"
3. do a build: bitbake intel-aero-image

Unfortunately, I got loads of errors, like "ERROR:
linux-yocto-4.4.60+gitAUTOINC+2cc78e92f4-r0 do_package_qa: QA Issue:
Architecture did not match (3 to 62) on
work/core2-32-intel-common-poky-linux/linux-yocto/4.4.60+gitAUTOINC+2cc78e92f4-r0/packages-split/kernel-module-gspca-kinect/lib/modules/4.4.60-yocto-standard/kernel/drivers/media/usb/gspca/gspca_kinect.ko
[arch]
"

Then I tried deleting all the files in the packages-split directory and
rebuilding. It passed building the kernel (even though failed because some
other package's arch mismatch), but those file I deleted never got
generated again! Now I'm a bit worried.

So I guess my question is:
What is the correct procedures to follow to reuse a poky folder (already
built once) for a different target architecture? I'm happy to accept any
links and suggested readings.

Thanks a lot!
Tom.
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto