[oe] Generating slightly different images for different IMAGE_FSTYPES

Martin Jansa martin.jansa at gmail.com
Fri Feb 26 17:32:34 UTC 2010


On Fri, Feb 26, 2010 at 10:20:08AM -0700, Tom Rini wrote:
> On Fri, 2010-02-26 at 18:14 +0100, Martin Jansa wrote:
> > On Fri, Feb 26, 2010 at 10:07:41AM -0700, Tom Rini wrote:
> > > On Fri, 2010-02-26 at 17:54 +0100, Marcin Juszkiewicz wrote:
> > > > Dnia piątek, 26 lutego 2010 o 17:39:16 Martin Jansa napisał(a):
> > > > 
> > > > > We're slowly stripping packages not really needed, but it would be
> > > > > nice to remove whole /boot with kernel-image.
> > > > 
> > > > > Is there better way to solve it or should we try harder to save space
> > > > >  somewhere else?
> > > > 
> > > > Learn about ROOTFS_POSTPROCESS_COMMAND variable present in 
> > > > classes/rootfs_*.bbclass files. You can use it to launch your function after 
> > > > rootfs is populated.
> > > > 
> > > > So for example your shr-lite-image has drop_kernel_from_boot function in which 
> > > > you check "MACHINE==om-gta01" and if it is then "rm -rf /boot/uImage". After 
> > > > your function all normal ext2/ubifs/jffs2/tarball images will be created 
> > > > without kernel in them.
> > > 
> > > Or (as there's a number of ways to do this):
> > > PACKAGE_REMOVE = "kernel-image-*"
> > > ROOTFS_POSTPROCESS_COMMAND_om-gta01 += "opkg-cl ${IPKG_ARGS}
> > > -force-depends \
> > >                                 remove ${PACKAGE_REMOVE};"
> > 
> > This removes it from ALL FSTYPEs... not just jffs2/ubi/ubifs
> 
> I would strongly argue (especially after my last email) that you either
> always want a kernel in your rootfs, because it's actually booted from,
> or you never do and it's just wasting space (and just not critically so
> on other devices).

OK so more info:

Qi (alternative bootloader) usually used on om-gta02 (because it safer
to reflash it there with u-boot still as fail-safe in NOR)
looks for kernel on first partitions on uSD in /boot, then it loads
kernel from specified (different than rootfs) partition in nand and pass
right rootfs params. Qi doesn't read jffs2 (because nobody really needed
it so much to implement it).

u-boot env shipped with device by default looks for kernel in nand and
in menu is option to load kernel from first small fat32 partition on uSD
and rootfs in second partition.

I know that I can change flash layout/u-boot env (and I would do it on
my om-gta01 if I had one :)), but I'm trying to make smaller images
without forcing gta users to mess with their bootloader/flash layout.

As I don't even have gta01 (gta02 has bigger flash), than I can say that 
I'll wait for someone else to do it, or someone can sort out which icons 
are not realy needed in image and remove them instead of unused kernel
(which is as useless as not used icons but harder to remove).

Kind regards,

I really appreciate your comments/advise (if it looks different).

-- 
uin:136542059                jid:Martin.Jansa at gmail.com
Jansa Martin                 sip:jamasip at voip.wengo.fr 
JaMa                         




More information about the Openembedded-devel mailing list