[OE-core] Always install initramfs-framework-base in case of linux-yocto & INITRAMFS_IMAGE_BUNDLE=1

Alexey Brodkin alexey.brodkin at synopsys.com
Tue Jan 29 20:00:37 UTC 2019


Hello,

I'd like to get more educated opinions before sending silly patches.

I'm building a uImage with built-in initramfs.
If I build any vanilla kernel (i.e. with no OE/Yocto patches)
all work well but if I switch to linux-yocto I'm getting a panic
saying:
--------------------------->8----------------------
/dev/console is missing or not a character device!
Please ensure your rootfs is properly configured
--------------------------->8----------------------

This panic comes from linux-yocto patch [1].
And the fix is simple - just add "initramfs-framework-base" to the image
so that "/dev/console" will be explicitly created on host thanks to
Patrick's fix [2].

What I don't like here is that developer has to keep in mind that
not super obvious dependency [especially since vanilla kernels just work].
So how that could be automated?

1. Use "core-image-minimal-initramfs"
   And that's what I did in the first place... but that probably work for x86
   because of COMPATIBLE_HOST = "(i.86|x86_64).*-linux".
   I tried to add "arc|" there so it becomes suitable for poor ARC users and faced
   COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
   in initramfs-module-install.
   That said not sure now if "core-image-minimal-initramfs" is really any
   "general purpose" image or not. Is there a point in trying to make it usable
   for all?

2. Just automatically add "initramfs-framework-base" to the image whenever
   both linux-yocto and INITRAMFS_IMAGE_BUNDLE=1 are used. But then what is
   the best place to do that check?
   Is "meta/recipes-kernel/linux/linux-yocto.inc" the right place?

[1] http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/tree/patches/boot/check-console-device-file-on-fs-when-booting.patch
[2] https://github.com/openembedded/openembedded-core/commit/0352841cd92f6316bcac092e2fff9d28c352b36b

-Alexey


More information about the Openembedded-core mailing list