RPI4 USB boot fails with kernel 5.10
Greetings, I'm running a Raspberry Pi 4, headless, Tumbleweed 20210209 JeOS, booting from USB3. End of December 2020, I was forced to add an lock on the update of kernel-default. At the moment I'm still running 5.9.14-1-default. The thing is I cannot update to kernel 5.10. If I do that, initrd is not able to find the root filesystem anymore. In fact, USB seems to be absent in the initrd stage, although, as far as I can see, all modules are present. The situation can be reproduced with a fresh image: http://download.opensuse.org/ports/aarch64/tumbleweed/appliances/openSUSE-Tu... Booting such an image from the SD card slot works. Booting the same image via USB fails in the initrd stage. More information can be found in a forum thread that I started: https://forums.opensuse.org/showthread.php/549232-RPI4-USB-boot-fails-with-k...) I did find this message (Regression observed on Rasbperry Pi 4 with snapshot 20201214): https://lists.opensuse.org/archives/list/arm@lists.opensuse.org/thread/5BEWN... but that seems to be related to u-boot and GRUB. My problem seems to occur later, in initrd. But then again, who am I? I'd be happy to provide more information and am willing to try to debug the issue that I'm facing, but I will need a little bit of help with that. -- Best regards, Paul.
Hi,
-----Original Message----- From: Paul Uiterlinden
Sent: 17 February 2021 00:07 To: arm@lists.opensuse.org Subject: RPI4 USB boot fails with kernel 5.10 Greetings,
I'm running a Raspberry Pi 4, headless, Tumbleweed 20210209 JeOS, booting from USB3. End of December 2020, I was forced to add an lock on the update of kernel-default. At the moment I'm still running 5.9.14-1-default.
The thing is I cannot update to kernel 5.10. If I do that, initrd is not able to find the root filesystem anymore. In fact, USB seems to be absent in the initrd stage, although, as far as I can see, all modules are present.
The situation can be reproduced with a fresh image: http://download.opensuse.org/ports/aarch64/tumbleweed/appliances/openSU SE-Tumbleweed-ARM-JeOS-raspberrypi4.aarch64.raw.xz
Booting such an image from the SD card slot works. Booting the same image via USB fails in the initrd stage.
More information can be found in a forum thread that I started: https://forums.opensuse.org/showthread.php/549232-RPI4-USB-boot-fails- with-kernel-5-10-(plus-work-around)
I did find this message (Regression observed on Rasbperry Pi 4 with snapshot 20201214): https://lists.opensuse.org/archives/list/arm@lists.opensuse.org/thread/5BEWN 672GVVCJCMPZTYC2QCNO7AMBS2Y/ but that seems to be related to u-boot and GRUB. My problem seems to occur later, in initrd. But then again, who am I?
It looks like it is https://bugzilla.opensuse.org/show_bug.cgi?id=1180336 So, reset-raspberrypi.ko is probably missing in initrd. Cheers, Guillaume
On Wednesday 17 februari 2021 08:43:42 CET Guillaume Gardet wrote:
It looks like it is https://bugzilla.opensuse.org/show_bug.cgi?id=1180336
Thanks!
So, reset-raspberrypi.ko is probably missing in initrd.
Any way to add that? Unhindered by any knowledge, I tried to create a new initrd with: dracut --force --add-drivers reset-raspberrypi It does not show up with lsinitrd afterwards. The new initrd still works from SDcard, still not from USB. Or if this already is work in progress, I can wait. -- Paul.
-----Original Message----- From: Paul Uiterlinden
Sent: 17 February 2021 23:49 To: arm@lists.opensuse.org; Guillaume Gardet Cc: nd Subject: Re: RPI4 USB boot fails with kernel 5.10 On Wednesday 17 februari 2021 08:43:42 CET Guillaume Gardet wrote:
It looks like it is https://bugzilla.opensuse.org/show_bug.cgi?id=1180336
Thanks!
So, reset-raspberrypi.ko is probably missing in initrd.
Any way to add that? Unhindered by any knowledge, I tried to create a new initrd with:
dracut --force --add-drivers reset-raspberrypi
That should do it. Do you have any log to share?
It does not show up with lsinitrd afterwards. The new initrd still works from SDcard, still not from USB.
Or if this already is work in progress, I can wait.
There is a Dracut update including the fix which is being tested in Factory staging. So, do not expect it to reach aarch64 Tumbleweed before few days (weeks?). Cheers, Guillaume
-- Paul.
On Thursday 18 februari 2021 13:36:33 CET Guillaume Gardet wrote:
-----Original Message----- From: Paul Uiterlinden
Sent: 17 February 2021 23:49 To: arm@lists.opensuse.org; Guillaume Gardet Cc: nd Subject: Re: RPI4 USB boot fails with kernel 5.10 On Wednesday 17 februari 2021 08:43:42 CET Guillaume Gardet wrote:
It looks like it is https://bugzilla.opensuse.org/show_bug.cgi?id=1180336
Thanks!
So, reset-raspberrypi.ko is probably missing in initrd.
Any way to add that? Unhindered by any knowledge, I tried to create a new initrd with:
dracut --force --add-drivers reset-raspberrypi
That should do it. Do you have any log to share?
Sure. I first did a run without extra options: dracut /boot/initrd1 https://susepaste.org/36932169 Then: dracut --add-drivers reset-raspberrypi /boot/initrd2 https://susepaste.org/16143320 Finally, because I noticed the original initrd is much larger and lsinitrd shows that a lot more options are used, I used these in addition to the --add- drivers option: https://susepaste.org/81617401 All initrds behave the same: OK via SD card, not OK via USB. -- Paul.
On Thursday 18 februari 2021 23:59:33 CET Paul Uiterlinden wrote:
All initrds behave the same: OK via SD card, not OK via USB.
Perhaps it is because I always see these "failed" messages, with or without the --add-drivers option: dracut-install: Failed to find module 'crc32c'dracut: FAILED: /usr/lib/ dracut/dracut-install -D /var/tmp/dracut.aC0RwQ/initramfs -H -N i2o_scsi -- kerneldir /lib/modules/5.10.12-1-default/ -m crc32c dracut-install: Failed to find module 'bcm2835-sdhost' dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.aC0RwQ/ initramfs -N i2o_scsi --kerneldir /lib/modules/5.10.12-1-default/ -m sdhci_iproc bcm2835-sdhost bcm2835_dma mmc_block dwc2 So I experimented with --omit and --omit-drivers options to try to avoid the failure messages by not including the failing modules crc32c and bcm2835- sdhost, but that does not change anything either. -- Paul
The new Tumbleweed snapshot 20210317 release solves my issue with the failing RPI4 USB boot. I guess this is the part of that release that solves my issue: - Update config files: Set reset-raspberrypi as builtin (bsc#1180336) This driver is needed in order to boot through USB. Ideally the kernel module should be selected by dracut, but it's not. So make it builtin until the relevant dracut fixes are available. Still, with each update that creates a new initramfs, I see errors like: dracut-install: Failed to find module 'crc32c' dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.IvY0Au/ initramfs -H -N i2o_scsi --kerneldir /lib/modules/5.11.6-3-default/ -m crc32c dracut: *** Including modules done *** dracut-install: Failed to find module 'bcm2835-sdhost' dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.IvY0Au/ initramfs -N i2o_scsi --kerneldir /lib/modules/5.11.6-3-default/ -m sdhci_iproc bcm2835-sdhost bcm2835_dma mmc_block dwc2 Is that a known issue? I cannot seem to find much about it. -- Paul.
participants (2)
-
Guillaume Gardet
-
Paul Uiterlinden