[ELDK] No uImage in build images directory
Larry Baker
baker at usgs.gov
Wed Sep 4 20:43:15 CEST 2013
Wolfgang,
Welcome back from vacation.
I found that the zImage was a byproduct of enabling the QEMU tests in my conf file.
The default kernel image format is supposed to be uImage. I think enabling a QEMU
test overrides that to use zImage kernel format.
When I first set up ELDK, I examined the conf file to see what options were available.
I found the option to test the build using QEMU. I liked that idea, so I enabled it.
When I did the bitbake for generic-armv5te core-image-basic , it failed because there is
no recipe for the QEMU test. Even after I removed that choice in my conf file, bitbake
was still using the previous kernel format and rootfs format settings left over from
when I had enabled the QEMU testing. It was only after I completely wiped out all
the files in my build directory and started over that bitbake made a uImage kernel and
not a zImage kernel.
I had a similar experience later (see my conversations with Detlev) when bitbake did
not pick up one of my modifications and I had to wipe everything out and start over.
I cannot always tell when bitbake is using cached configuration data and when it
will do a rebuild. When in doubt, I wipe everything out now.
Larry Baker
US Geological Survey
650-329-5608
baker at usgs.gov
On 4 Sep 2013, at 2:58 AM, Wolfgang Denk wrote:
> Dear Larry,
>
> I apologizxe for the late follow-up to this question; I was on
> vacation and read this thread only now.
>
> In message <C666D0A2-D23A-419A-B3BC-431A84BCD801 at usgs.gov> you wrote:
>> I have built an ELDK rootfs and kernel from git sources using the steps from the Wiki section 3:
>>
>>> MACHINE=generic-armv5te bitbake core-image-basic
>>
>> In tmp/deploy/images there is a Linux kernel zImage, but not a uImage.
>
> To understand this, you have to realize that ELDK is a generic
> distribution built on top of Yocto. In Yocto, you always have
> configurations for specific machines (read: boards). In ELDK< you can
> do the same, but the nature of the "generic-*" targets is different:
> these are NOT for a specific board, but for a whole class of systems
> utilizing a certail class of processors or SoCs. In your case,
> "generic-armv5te" attempts to support all ARMv5TE based systems.
>
> Unfortunately, there is no way to configure U-Boot or Linux such that
> a single image would run on _all_ ARMv5TE boards.
>
> So which uImage file would you expect? We cannot build one, as we
> don't have any information which board you are using - and if we had,
> the next user would need a different uImage as he'll be using another
> board.
>
> The existence of the zImage is misleading here - do not expect that
> this would work on your actual system. It is just a by-product of the
> build process that is needed elsewhere, but not a kernel image ready
> to use.
>
> For testing, you would use the ELDK cross tools to configure and build
> a kernel image (and DTB blob) matching your hardware, using either the
> included kernel source tree, or any externel sources.
>
> For production, you would add a definition for your own hardware (a
> new MACHINE) to the build system, which then includes generation of
> the U-Boot and Linux kernel binary images suitable for your board.)
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> "I believe the use of noise to make music will increase until we
> reach a music produced through the aid of electrical instruments
> which will make available for musical purposes any and all sounds
> that can be heard." - composer John Cage, 1937
More information about the eldk
mailing list