FS#31240 - lvm2 root device can't be found, not possible to boot anymore
Attached to Project:
Arch Linux
Opened by Heiko Baums (cyberpatrol) - Wednesday, 22 August 2012, 11:49 GMT
Last edited by Dave Reisner (falconindy) - Wednesday, 22 August 2012, 18:07 GMT
Opened by Heiko Baums (cyberpatrol) - Wednesday, 22 August 2012, 11:49 GMT
Last edited by Dave Reisner (falconindy) - Wednesday, 22 August 2012, 18:07 GMT
|
Details
Description:
Since the latest bigger system update on my Live USB stick it's not possible to boot anymore. On this USB stick there's one unencrypted /boot partition and one dm-crypt/LUKS partition. In this LUKS container there's an LVM volume group with two logical volumes, one for / and one for /home. When I now try to boot I get this message: :: running hook [lvm2] Activating logical volumes... 2 logical volume(2) in volume group 'vg_stick' now active Waiting 10 seconds for device /dev/disk/by-uuid/<uuid> ... ERROR: Unable to find root device '/dev/disk/by-uuid/<uuid>'. You are being dropped to a recovery shell Type 'exit' to try and continue booting sh: can't access tty; job control turned off [rootfs /]# After entering 'exit' I get the same error message. Running 'udevadm trigger' doesn't help either. After the second 'exit' I get a message that says something about "you're on your own". After the third 'exit' I get a kernel panic. |
This task depends upon
Closed by Dave Reisner (falconindy)
Wednesday, 22 August 2012, 18:07 GMT
Reason for closing: Not a bug
Wednesday, 22 August 2012, 18:07 GMT
Reason for closing: Not a bug
It was indeed the initrd. There haven't been created links to the logical volumes in /dev/disk/by-uuid.
These are the kernel parameters:
cryptdevice=/dev/disk/by-uuid/<cryptcontainer-uuid>:root root=/dev/disk/by-uuid/<root-logical-volume-uuid>
After changing this to
root=/dev/mapper/vg_stick-lv_root
booting was possible again.
After running mkinicpio even the uuid is working again.
Maybe mkinitcpio should not only be run automatically by pacman after a kernel update but also after every update of a package which is involved in the initrd. To save time this probably could be done not by the PKGBUILD or post_install() but globally by pacman if a relevant package has been updated. This way such boot issues could be avoided even if they appear in only a few cases.