[oe] Base image dependencies

Rod Whitby rod at whitby.id.au
Mon Dec 24 00:52:00 UTC 2007


Koen Kooi wrote:
> As part of the OE-testlab I wrote a .dot generator for image contents
> and made a png of
> Angstrom-base-image-glibc-ipk-2007.11RC2-ixp4xxbe.rootfs.tar.gz:
> 
> http://ewi546.ewi.utwente.nl/tmp/test-nolibc-noupdate-nq8.png
> 
> This shows the Depends: (solid lines) and Recommends: (dashed lines)
> fields of the installed packages, but with 'libgcc', 'libc6' and
> 'update_' filtered out for readability.

As a result of this excellent analysis by Koen (thanks!), I'm trimming
task-distro-base and task-machine-base out of base-image.  There are too
many things that distros and machines add using DISTRO_EXTRA_* and
MACHINE_EXTRA_* which are not strictly required to boot, get networking
up, and run ipkg install.

For example, the x86.conf file adds "kernel-modules" to
MACHINE_EXTRA_RDEPENDS which would mean that a base-image for x86 has
*all* kernel modules included in the rootfs.  Things like avahi, whilst
very convenient, are also not strictly required and can be installed
later using tasks.

In my opinion, anything that a machine needs to boot, be accessible by
the default network interface, and be able to run a package manager (if
one happens to be installed by some other means) should be included in
MACHINE_ESSENTIAL_* (and therefore becomes part of task-boot).

Perhaps we also need a corresponding DISTRO_ESSENTIAL_* set of variables
for things that distro requires to boot and be accessible by the default
network interface, and be able to run a package manager (if one happens
to be installed by some other means).  Feed configs would fit into this
category.

-- Rod




More information about the Openembedded-devel mailing list