[OE-core] issues encountered using wic
Peter A. Bigot
pab at pabigot.com
Fri Oct 31 15:36:12 UTC 2014
I've started to transition to wic (in master) in hopes it reduces the
amount of host passwd contamination resulting from creating SD images by
untarring the rootfs onto an SD card. I've run into the following
initial issues:
First, wic requires a populated rootfs, by default in the recipe build
directory. Two issues: (1) this normally removed by rm_work, and (2)
bitbake foo-image will not populate that directory if the required
artifacts are available from sstate-cache (as happens when you then add
foo-image to RM_WORK_EXCLUDE and reinvoke bitbake).
Both could be solved by getting the rootfs contents from an archive
created by the image instead of assuming it's unpacked somewhere
already. Requiring IMAGE_FSTYPES to contain "tar.bz2" for wic doesn't
seem burdensome. Taking this path also opens up the possibility for wic
plug-ins to customize configuration files (such as host keys) in the
image rootfs without contaminating a shared resource used by other
invocations of wic.
If this seems like a reasonable approach and the wic maintainers would
like assistance with it, I'd be happy to put together a patch.
Second, wic requires IMAGE_BOOT_FILES to be provided (normally in
machine.conf, as with meta-yocto-bsp's beaglebone.conf). I normally use
the beaglebone.conf from meta-ti, and found copying the IMAGE_BOOT_FILES
setting to that BSP layer didn't work because the reference to
${UBOOT_SUFFIX} remained empty. meta-yocto-bsp's beaglebone.conf defines
and uses UBOOT_SUFFIX="img", but this is fragile as the real
UBOOT_SUFFIX comes from u-boot.inc (where the default is "bin") or some
other override.
Is there a way to resolve the potential inconsistency other than
hard-coding a specific suffix in machine.conf? "include u-boot.inc" in
the machine.conf seems like a bad idea.
Peter
More information about the Openembedded-core
mailing list