[OE-core] dracut is impossible to run in do_rootfs

Böszörményi Zoltán zboszor at pr.hu
Wed Nov 14 09:53:59 UTC 2018


Hi,

I need to create the initramfs for the target build during
do_rootfs using dracut to include systemd and plymouth into it and
using the modules from the kernel version the image was built with.
Currently I am on Yocto 2.5.

There are several problem I am facing.

First, the dracut recipe needs some fixes in the
RDEPENDS/RRECOMMENDS clauses to only use subpackages of the
recipes it depends on in class-target only. I could fix this
with a bbappend file.

Then, all the packages in the system that use the
update-alternatives.bbclass have unusable symlinks during the
do_rootfs stage.

E.g. coreutils's binaries use this:

zboszormenyi at buildbox-0001 rootfs]$ ls -l usr/bin/[
lrwxrwxrwx 1 zboszormenyi zboszormenyi 27 nov   14 03.51 usr/bin/[ -> 
/usr/bin/lbracket.coreutils

Of course, the target of the symlink does not exist on
the build host. As a consequence, dracut will not find anything
that it needs to copy to the initramfs.

Is there a way to tell update-alternatives.bbclass (e.g. globally
from my layer.conf) to just use the relative symlink it is given?

Thanks in advance,
Zoltán Böszörményi


More information about the Openembedded-core mailing list