[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