0

My Debian sid machine had been booting kernel 4.13 from a raid array for several months without issue. 2 days ago I upgraded the platform and now booting fails like this: enter image description here

Additionally, the initramfs prompt does not accept any input, so I cannot investigate from there.

I have an older kernel (4.9*)) which still boots fine.

These things I tried so far:

  • Used kernel param "rootdelay=10"
  • Installed a newer kernel (4.19): fails the same way
  • Compared the initrams of 4.13 and 4.9: the init script had some changes. Downgraded initramfs-tools from 132 to 130, now the initrams are same (according to diff on extracted files), but 4.13 still has that issue.
  • The mentioned UUID c28..e99 is correct

Do you have any idea how to fix this?

*) Which I cannot use because compiling the NVIDIA module fails because of unknown rela relocation and I don't want to downgrade binutils (yet).

2

There is a new bug affecting at least Debian sid, testing (so near to a freeze...) (and also Archlinux) related to systemd 240, more specifically to its udev component, possibly udevadm: udev 240 Makes System Unbootable; rootfs Not Found

This bug leads to no devices being enumerated in /dev by udev: no disk (perhaps only no /dev/disk/, so no UUID rather than no /dev/sda?). Probably same with no USB enumeration so no keyboard unless it's a PS/2 port, etc. can't really tell.

It's not related to the kernel, but upgrading kernel as well as boot components triggers the rebuild of the initramfs boot part: make a backup of the still working 4.9 kernel's initramfs file, it can still be lost later.

Reverting to udev (and libudev1) 239-15 is said to fix the issue for now. Be sure initramfs is rebuilt for all kernels not just the current one.

UPDATE: udev 240-4 in sid includes the upstream fix for this issue:

  * sd-device-monitor: Fix ordering of setting buffer size.
    Fixes an issue with uevents not being processed properly during coldplug
    stage and some kernel modules not being loaded via "udevadm trigger".
    (Closes: #917607)
  • Thanks a lot. Indeed, downgrading udev and libudev1 from 240-3 to 232-25+deb9u6 (no other available in the repo) did the trick. Ah, yes, and "scrounging up a ps/2 keyboard" as OP of #917607 did, let me work from the initramfs prompt. – holunda Jan 12 at 12:13
  • Additional question for my understanding: is udev installed inside the initram? If so, my diff should have spotted a difference to the 4.9 one. If not, meaning the same udev is called regardless which kernel (and initram) I boot, should not 4.9 be also affected by udev 240's issue? – holunda Jan 12 at 12:27
  • udev is inside the initramfs. upgrading udev triggers rebuild of current kernel's initramfs, older is left untouched. – A.B Jan 12 at 12:32
  • also follow the link at the end of my answer: snapshot.debian.org does have the packages there. see my answer there if you really need it in a repo: unix.stackexchange.com/a/490356/251756 (including the comment on number 1001) but you can rely on https and download it directly too – A.B Jan 12 at 12:39
  • and last comment: diff is not meant to compare binary files. udevadm is a binary executable, diff would only display binary files differ – A.B Jan 12 at 12:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.