[Bug 1527727] Re: grub-probe for zfs assumes all devices prefix with /dev, ignoring /dev/disk/...
Scott Moser
ssmoser2+ubuntu at gmail.com
Fri Feb 23 03:00:06 UTC 2018
>From the install log you can see that we install grub2 at 2.02~beta2-36ubuntu3.17.
..
Unpacking grub2-common (2.02~beta2-36ubuntu3.17)
..
'dpkg-reconfigure grub-pc' and 'grub-install /dev/vda' are run
And also:
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-116-generic /boot/vmlinuz-4.4.0-116-generic
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-9025-euclid
Found initrd image: /boot/initrd.img-4.4.0-9025-euclid
Found linux image: /boot/vmlinuz-4.4.0-116-generic
Found initrd image: /boot/initrd.img-4.4.0-116-generic
/run/lvm/lvmetad.socket: connect failed: No such file or directory
Then during boot we see
[ 0.000000] Command line:
BOOT_IMAGE=/ROOT/zfsroot@/boot/vmlinuz-4.4.0-9025-euclid
root=ZFS=rpool/ROOT/zfsroot ro console=ttyS0
So we have successfully booted from root on a zfs system.
** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done verification-done-xenial
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1527727
Title:
grub-probe for zfs assumes all devices prefix with /dev, ignoring
/dev/disk/...
Status in grub:
Unknown
Status in grub2 package in Ubuntu:
Fix Released
Status in grub2-signed package in Ubuntu:
Fix Released
Status in zfs-linux package in Ubuntu:
Fix Released
Status in grub2 source package in Xenial:
Fix Committed
Status in grub2-signed source package in Xenial:
Fix Committed
Status in zfs-linux source package in Xenial:
Fix Released
Bug description:
[Impact]
Installs over ZFS where a ZFS disk is expected to be used as a root device.
[Test case]
- Run update-grub on a system with a ZFS root filesystem.
[Regression Potential]
Installs relying on the current broken behavior to avoid listing other operating systems in grub menu may find that new entries are added.
---
update-grub runs /usr/sbin/grub-probe
Without libzfslinux support compiled in, /usr/sbin/grub-probe runs
["zpool", "status", poolname] to find out ZFS info.
zpool responds with device names as used at (I think!) pool creation
time. Often, this is /dev/disk/by-id/... names, without the path.
grub-probe then parses the output, and takes the names of devices, and
if they do not start with a "/", it prepends "/dev/".
It then tests the existence of the path name of the device. it fails.
grub-probe then returns something like
/usr/sbin/grub-probe: error: failed to get canonical path of `/dev
/ata-ST31000333AS_99999999-part1'.
The actual path is of course /dev/disk/by-
id/ST31000333AS_99999999-part1
It can prepend smarter than "/dev" or it can understand ZFS natively,
to fix the problem.
To manage notifications about this bug go to:
https://bugs.launchpad.net/grub/+bug/1527727/+subscriptions
More information about the foundations-bugs
mailing list