[oe] [meta-initramfs][PATCH 2/6] dracut: Allow native build

Böszörményi Zoltán zboszor at pr.hu
Mon Feb 18 09:58:13 UTC 2019


2019. 02. 17. 21:40 keltezéssel, Khem Raj írta:
> On Sat, Feb 16, 2019 at 9:04 AM Böszörményi Zoltán <zboszor at pr.hu> wrote:
>>
>> For useful modules to be successfully included into the initramfs,
>> the dependencies must be extended.
>>
>> Signed-off-by: Böszörményi Zoltán <zboszor at pr.hu>
>> ---
>>   meta-initramfs/recipes-devtools/dracut/dracut_git.bb | 12 ++++++++++--
>>   1 file changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
>> index dd2e8bbb3..71926c3b8 100644
>> --- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
>> +++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
>> @@ -59,11 +59,19 @@ FILES_${PN}-dbg += "${prefix}/lib/dracut/.debug"
>>
>>   CONFFILES_${PN} += "${sysconfdir}/dracut.conf"
>>
>> -RDEPENDS_${PN} = "findutils cpio util-linux-blkid util-linux-getopt util-linux bash ldd"
>> +RDEPENDS_${PN}_class-target = " \
>> +                     findutils cpio util-linux-blkid util-linux-getopt util-linux-losetup util-linux-umount util-linux \
>> +                     bash ldd xz plymouth-initrd kbd-consolefonts kbd-consoletrans kbd-keymaps kbd-unimaps gzip tar sed \
>> +                     openssh-scp openssh-ssh systemd udev linux-firmware \
>> +                    "
>> +RDEPENDS_${PN}_class-native = "coreutils-native findutils-native cpio-native util-linux-native bash-native cross-compiler-ldd"
>>
> 
> this adds unconditional dependency on systemd, if this is the case
> then we need to make it such that it does not get pulled
> into non systemd builds e.g. when using sysvinit

Thanks, I will fix it.

I will need to send a v2 patch for other patches in the series, so

1. allarch packages can also use dracut.bbclass, like script-only dracut
    module packages, and
2. for the s,execute-dracut,execute_dracut, change for the opkg intercept
    script name so its name is identical to the do_rootfs variant

As for (1), with such a package that uses "inherit allarch" but with
dracut.bbclass depending on binutils-cross-${TUNE_ARCH} and
gcc-cross-${TUNE_ARCH}, I get these warnings in Yocto 2.5 for an i686 target:

WARNING: sicom-pos-initramfs-1.24-r0 do_prepare_recipe_sysroot: Manifest 
/data/OE/sicom-manifest-2.5/build/tmp-sicom-glibc/sstate-control/manifest-x86_64_allarch-binutils-cross-i686.populate_sysroot 
not found in x86_64_allarch (variant '')?
WARNING: sicom-pos-initramfs-1.24-r0 do_prepare_recipe_sysroot: Manifest 
/data/OE/sicom-manifest-2.5/build/tmp-sicom-glibc/sstate-control/manifest-x86_64_allarch-gcc-cross-i686.populate_sysroot 
not found in x86_64_allarch (variant '')?
WARNING: sicom-pos-initramfs-1.24-r0 do_install: Manifest 
/data/OE/sicom-manifest-2.5/build/tmp-sicom-glibc/sstate-control/manifest-x86_64_allarch-binutils-cross-i686.populate_sysroot 
not found in x86_64_allarch (variant '')?
WARNING: sicom-pos-initramfs-1.24-r0 do_install: Manifest 
/data/OE/sicom-manifest-2.5/build/tmp-sicom-glibc/sstate-control/manifest-x86_64_allarch-gcc-cross-i686.populate_sysroot 
not found in x86_64_allarch (variant '')?
WARNING: sicom-pos-initramfs-1.24-r0 do_package: Manifest 
/data/OE/sicom-manifest-2.5/build/tmp-sicom-glibc/sstate-control/manifest-x86_64_allarch-binutils-cross-i686.populate_sysroot 
not found in x86_64_allarch (variant '')?
WARNING: sicom-pos-initramfs-1.24-r0 do_package: Manifest 
/data/OE/sicom-manifest-2.5/build/tmp-sicom-glibc/sstate-control/manifest-x86_64_allarch-gcc-cross-i686.populate_sysroot 
not found in x86_64_allarch (variant '')?
WARNING: sicom-pos-initramfs-1.24-r0 do_package_write_ipk: Manifest 
/data/OE/sicom-manifest-2.5/build/tmp-sicom-glibc/sstate-control/manifest-x86_64_allarch-binutils-cross-i686.populate_sysroot 
not found in x86_64_allarch (variant '')?
WARNING: sicom-pos-initramfs-1.24-r0 do_package_write_ipk: Manifest 
/data/OE/sicom-manifest-2.5/build/tmp-sicom-glibc/sstate-control/manifest-x86_64_allarch-gcc-cross-i686.populate_sysroot 
not found in x86_64_allarch (variant '')?

Can it be worked around cleanly or are these warnings acceptable?

> 
> ERROR: Nothing RPROVIDES 'systemd' (but
> /mnt/a/yoe/sources/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
> RDEPENDS on or otherwise requires it)
> systemd was skipped: missing required distro feature 'systemd' (not in
> DISTRO_FEATURES)
> 
> 
> 
>>   # This could be optimized a bit, but let's avoid non-booting systems :)
>> -RRECOMMENDS_${PN} = " \
>> +RRECOMMENDS_${PN}_class-target = " \
>>                        kernel-modules \
>>                        busybox \
>>                        coreutils \
>> +                     intel-microcode \
>>                       "
>> +
>> +BBCLASSEXTEND = "native"
>> --
>> 2.20.1
>>
> 



More information about the Openembedded-devel mailing list