Bug#980782: Info received (Bug#980782: Acknowledgement (os-prober: linux-boot-prober returning "root=/dev/dm-X" line instead of expected "root=UUID=[UUID128]))
Mirko Vogt writes: > Looking at /usr/share/initramfs-tools/scripts/local-top/lvm2 more > closely, passing a UUID also wouldn't trigger a `vgchange -ay` here. > But a path like /dev/mapper/X would. > So maybe the question is rather: how to make os-prober return a > "root=/dev/mapper/X" line instead of one containing a UUID(?) The first thing that comes to mind is: For a given UUID run blkid, and exclude all lines that do not match the UUID count lines and error if there are duplicates (it probably already does this, and I think the risk of collisions most significant for short UUIDs like FAT has) as part of that regex, check for ^/dev/mapper, with that anchor use /dev/mapper/X for the truly unique UUID Cheers, Nicholas signature.asc Description: PGP signature
Bug#980782: Info received (Bug#980782: Acknowledgement (os-prober: linux-boot-prober returning "root=/dev/dm-X" line instead of expected "root=UUID=[UUID128]))
Looking at /usr/share/initramfs-tools/scripts/local-top/lvm2 more closely, passing a UUID also wouldn't trigger a `vgchange -ay` here. But a path like /dev/mapper/X would. So maybe the question is rather: how to make os-prober return a "root=/dev/mapper/X" line instead of one containing a UUID(?)
Bug#980782: Acknowledgement (os-prober: linux-boot-prober returning "root=/dev/dm-X" line instead of expected "root=UUID=[UUID128])
Just adding, this isn't only a feature request but results in non-bootable systems. If one of the os-probe'd systems e.g. is also a Debian, it will drop into an initramfs due to not finding the root device. This is due to - within the initramfs - the VGs as part of the the LVM system only get activated by certain naming schemes ("/usr/share/initramfs-tools/scripts/local-top/lvm2"). It tries ti figure out whether the rootfs resides on a LVM and if it thinks it doesn't, the respective VG won't be activated, resulting in the passed /dev/dm-X block device not being available.