[oe] Ideas for scripts, to save work, when building several boards
Ulf Samuelsson
ulf.samuelsson at atmel.com
Thu Aug 13 15:23:34 UTC 2009
Koen Kooi skrev:
> On 13-08-09 14:10, Ulf Samuelsson wrote:
>> Koen Kooi skrev:
>>> On 13-08-09 12:07, Ulf Samuelsson wrote:
>>>> Koen Kooi skrev:
>>>>> On 13-08-09 09:13, Ulf Samuelsson wrote:
>>>>>> Since I will need to test multiple boards,
>>>>>> I decided to write some scripts which I will
>>>>>> check in later today in origin/ulf/linux-2.6.30.2
>>>>>>
>>>>>> I generated a "MAKEALL" script which will
>>>>>> source a file "board_list.sh" with board build commands
>>>>>>
>>>>>> <SOF>
>>>>>> build_board sam9263dfc x11-gpe-image
>>>>>> build_board sam9g45ek opie-image
>>>>>> build_board sam9g10df x11-gpe-image
>>>>>> build_board sam9g20dfc console-image
>>>>>> build_board sam9260dfc console-image
>>>>>> build_board sam9261df x11-image
>>>>>> build_board sam9xedfc console-image
>>>>>> <EOF>
>>>>>
>>>>> You do know that you can do that with MACHINE=foo bitbake bar, right?
>>>>>
>>>>
>>>> Didn't try that.
>>>> I assume this means that the cross compiler is not rebuilt,
>>>
>>> Unless you poked at the gcc recipes, no, it won't get rebuilt.
>>>
>>>> Is the root fs assembled from ipks then?
>>>
>>> if you use rootfs_ipk.bbclass, yes.
>>>
>>> Note that the official angstrom buildguide has mentioned that for years:
>>> http://www.angstrom-distribution.org/building-angstrom
>>>
>>
>> Thanks for helping out, but it does not work as expected.
>>
>> I first create a local.conf for the at91sam9261df
>> and bitbake x11-image.
>> Then I do "MACHINE=at91sam9g20dfc bitbake console-image".
>> A console-image is built,but for the at91sam9261df,
>> which is stored in "tmp/deploy/glibc/images/at91sam9261df"
>>
>> The bitbake does not generate u-boot/kernel or at91bootstrap
>> for the at91sam9260dfc
>
> Then either our uboot/kernel/bootstrap recipes are wrong, or your
> machine configs lack proper IMAGE_DEPENDS, either way that isn't the
> fault of doing MACHINE=foo
I guess something is wrong...
Since I have created my own recipes for u-boot/bootstrap and kernel
I have a primary object for the blame ;-) if that is the case.
At least one more has reported u-boot, not beeing installed
and they are not using my recipes.
The machine description contains:
EXTRA_IMAGEDEPENDS += "u-boot"
EXTRA_IMAGEDEPENDS += "at91bootstrap"
This seems to be the way u-boot is used in other boards, correct?
It certainly makes the packages run until do_compile, but not any
further. What do I need to specify to make a package go through
to the do_deploy phase?
at91bootstrap installs its files as part of do_compile
which might be the wrong thing to do.
- It installs though and U-boot doesn't until you bitbake u-boot.
I might make a workaround to install u-boot in do_compile as well.
Part of my u-boot patches contains an new "make DESTDIR=... install
but if there is a preferred way of doing this, I would be keen to know.
U-boot and bootstrap are a bit special, in that they are not part
of the image, you just want to build them and install them anyway.
===============================================
I noted that some boards + 2 packages sets EXTRA_IMAGEDEPENDS.
conf/bitbake.conf:EXTRA_IMAGEDEPENDS = ""
recipes/kexecboot/initramfs-kexecboot-image.bb:EXTRA_IMAGEDEPENDS = ""
They are not using EXTRA_IMAGEDEPENDS += "..."
I assume the first is an initialization, but the second?
Not digged down deep enough to understand if this recipe is used,
but if it is:
Doesn't that mean that any previous declarations/dependencies are gone?
===============================================
I maintain that if I do "MACHINE=at91sam9260dfc bitbake at91bootstrap"
from the build directory, it is ignored and the MACHINE definition
(MACHINE=at91sam9261df) in local.conf is used.
Result:
NOTE: Tasks Summary: Attempted 448 tasks of which 448 didn't need to be
rerun and 0 failed.
If I stay in the same directory and change local.conf
to have MACHINE="at91sam9260dfc" and then do
"bitbake at91bootstrap" then bootstrap builds for the new machine.
I am running OpenSuSE-x64 and this has done things differently
than Ubuntu multiple times...
If you say it should work, and I can't get it to work,
then I will just have to change the local.conf file
(by symlinking) every time I want to build for a new board
===============================================
>
>> I believe that most at91 chips can use the same file system,
>> so it makes sense to do it this way anyway.
>
> The images are built for the machine you specified with MACHINE, I
> suspect you are getting confused somewhere.
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
--
Best Regards
Ulf Samuelsson
More information about the Openembedded-devel
mailing list