A device using an Intel Kaby Lake based processor (Core i5-7Y57), fails to show the boot log when using core-image-minimal, simply showing a blank screen. The reason why it says it fails to show the boot log and not fails to boot, is because I'm quite certain the device fully boots, since its able to respond to my commands, if I blindly login and for example type reboot, the machine reboots correctly. This only happens when using core-image-minimal, when using core-image-sato the bootlog shows up (a little late IMO), but it does boot correctly. So far, I've tried meddling with the kernel console parameter passing different ttys, although this does not make much sense, since AFAIC the console=tty0 that is being passed is correct since it is the last console argument passed to the kernel and its from where it will take the input (and as I said that part works). I also tried modifying i915.modeset=0/1 on the kernel cmdline with no success. I'm currently building core-image-minimal and core-image-sato using: meta meta-poky meta-yocto-bsp = "master:edab4b2cecf502a672cc39a8796e60e2fd25cc1c" meta-intel = "master:e92b588839dd40e561e201f6fc21df31db202508" local.conf: MACHINE="intel-corei7-64" This currently builds linux-intel 4.19.55, but it is worth mentioning that I've also tried building genericx86-64 which builds linux-yocto 5.0 showing the same results.
I've checked and both kernels are entirely the same, I was even able to switch the rootfs image (not the kernel) from sato to minimal and it worked fine. I diffed the installed packages on both to get a clue on what is happening since this is obviously coming from a package because of what I just said above. There's a couple of differences, mostly coming from enabling X on sato, but I'd say that this is either coming from kernel-modules-* or linux-firmware-* Theres a couple of other things related(ish) like udev-extraconf but I believe its unlikely it comes from there.
Adding: MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules" to local.conf Solves the issue, hence the default kernel config for intel-corei7-64 is enabling something as a module that should probably be builtin (IMO). It also explains why the boot log shows up a little late than it should, since modules are loaded later than builtin drivers
Specifically the i915 driver is the one causing the issue. MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-i915" Works fine. I've manually modified the kernel config and enabling the driver shows the boot log since the beginning, I believe this should be added as built in, I will send a patch for this. I am wondering though, if this should also be enabled for genericx86-64 and not only on intel-corei7-64.
I don't think we want to change the kernel config, but something like MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS to ensure that all images recommend that kernel module seems right.
We have a MACHINE_EXTRA_RRECOMMENDS for entire kernel-modules for intel-corei7-64 as well as genericx86-64. So that's why it doesn't work for minimal and full-cmdline images which won't have the modules installed.
(In reply to comment #5) > We have a MACHINE_EXTRA_RRECOMMENDS for entire kernel-modules for > intel-corei7-64 as well as genericx86-64. > > So that's why it doesn't work for minimal and full-cmdline images which > won't have the modules installed. Hey Anuj, Yes, I did see that, but I'm just wondering if that is the desired behavior, in my case for example, the kernel-modules package brings an extra 350 MB to my image, also IMO being able to see/type on the console seems pretty ESSENTIAL and not EXTRA to me. Alejandro
I have merged this change. Thank you for reporting and suggesting a fix.
Hey Anuj, Thanks for that, I meant to do ti myself, sorry I had no time. Cheers, Alejandro