FS#54052 - mkinitcpio crash prevents subsequent boot
Attached to Project:
Arch Linux
Opened by Liam (networkimprov) - Sunday, 14 May 2017, 18:40 GMT
Last edited by Dave Reisner (falconindy) - Monday, 15 May 2017, 17:55 GMT
Opened by Liam (networkimprov) - Sunday, 14 May 2017, 18:40 GMT
Last edited by Dave Reisner (falconindy) - Monday, 15 May 2017, 17:55 GMT
|
Details
When doing pacman -Syu after a long hiatus (kernel 4.7 to
4.10)...
Error: :: Running post-transaction hooks... ( 1/14) Updating linux initcpios ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img ==> Starting build: 4.10.13-1-ARCH -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [autodetect] modprobe: ERROR: missing parameters. See -h. This is accompanied by a kernel panic which I no longer have the output for. On subsequent boot attempts: ERROR: Unable to find root device 'LABEL=root'. However according to grub, that is the correct volume label. |
This task depends upon
Closed by Dave Reisner (falconindy)
Monday, 15 May 2017, 17:55 GMT
Reason for closing: None
Additional comments about closing: Nothing to do here if the reporter can't reproduce the bug.
Monday, 15 May 2017, 17:55 GMT
Reason for closing: None
Additional comments about closing: Nothing to do here if the reporter can't reproduce the bug.
Suggestions on diagnosing mkinitcpio?
FS#16702.'bash -x mkinitcpio' would be a good place to start for diagnosing if you're able to reproduce the error.
I just did a system upgrade from even older install (stacklet image for VMWare from 2014) and the initramfs wasn't updated...?
I'm asking for your help in reproducing the error and providing debugging information.
> I just did a system upgrade from even older install (stacklet image for VMWare from 2014) and the initramfs wasn't updated...?
And that makes sense to me -- it's the sort of esoteric problem you get when you try to update an Arch Linux install from 3+ years ago. pacman from that age didn't support hooks, and the initramfs is only supported via hooks nowadays.
I see these before the LABEL=root error:
[0.09...][Firmware Bug]: CPU1: APIC id mismatch. Firmware: 1 APIC: 2
Warning: /lib/modules/4.10.13-1-ARCH/modules.devname not found - ignoring
bash -x -c 'mkinitcpio -p linux -k 4.10.13-1-ARCH'
That works, and now boot works fine.
> OK, my proposal is that kernel updates be tested against several prior kernel releases, covering at least two LTS versions.
I don't think you understand the problems here, then.
Testing kernel install against multiple prior releases could be done against the x.y.0 version for each. I didn't mean to suggest testing against x.y.* :-)
Has a transaction encompassing the kernel & initramfs been considered?
Let the kernel package install a flag, e.g. /boot/outdated-initramfs.
Let mkinitcpio remove the flag on successful completion.
Let grub skip the initramfs if the flag is present.
> Let grub skip the initramfs if the flag is present.
You have a fundamental misunderstanding as to how the boot process works.