[Bug 1850003] Re: /etc/grub.d/10_linux_zfs doesn't skip non-linux zpools
Kyle Ambroff-Kao
1850003 at bugs.launchpad.net
Thu Oct 22 21:40:54 UTC 2020
I had time to revisit this. I think the user property thing is the way
to go. The installer would just mark the entire pool as a pool that is
considered bootable.
kyle at optional:~$ zfs get zsys:bootable rpool
NAME PROPERTY VALUE SOURCE
rpool zsys:bootable - -
kyle at optional:~$ sudo zfs set zsys:bootable=YES rpool
[sudo] password for kyle:
kyle at optional:~$ zfs get zsys:bootable rpool
NAME PROPERTY VALUE SOURCE
rpool zsys:bootable YES local
kyle at optional:~$
So then the grub update script could just check for that property
instead of looking for a child dataset that matches some expectation.
--
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/1850003
Title:
/etc/grub.d/10_linux_zfs doesn't skip non-linux zpools
Status in grub2 package in Ubuntu:
Confirmed
Bug description:
# 1. Symptoms: `update-grub` fails when trying to access an os-release
file
root at x250:/home/benjamin# update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
/etc/grub.d/10_linux_zfs: 338: .: Can't open /tmp/zfsmnt.Ejuktn/etc/os-release
done
# 2. Cause: 10_linux_zfs is trying to access /etc/os-release in all zpool, even when the system is not Linux based
+ machine_id=rpool/ROOT/openindiana
+ . /tmp/zfsmnt.AC9sAy/etc/os-release
/etc/grub.d/10_linux_zfs: 339: .: Can't open /tmp/zfsmnt.AC9sAy/etc/os-release
+ pretty_name=
+ boot_list=\n
+ boot_list=
+ on_exit
+ zpool export rpool
+ mountpoint -q /tmp/zfsmnt.AC9sAy
+ true
+ rmdir /tmp/zfsmnt.AC9sAy
+ rm -rf /tmp/zfstmp.lEMWy3
+ exit 0
done
# 3. Quick fix (for /etc/os-release)
in /etc/grub.d/10_linux_zfs:321, replace:
if [ -z "${etc_dir}" ]; then
by:
if [ -z "${etc_dir}" ] || [ ! -f "${etc_dir}/os-release" ]; then
then when the file is not found, the zpool is skipped
root at x250:/home/benjamin# update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Warning: Ignoring rpool/ROOT/openindiana
Warning: Ignoring rpool/ROOT/openindiana-1
Warning: Ignoring rpool/ROOT/openindiana-1 at install
Warning: Ignoring rpool/ROOT/openindiana-1 at 2018-08-24-23:15:22
Found linux image: vmlinuz-5.0.0-32-generic in x250/ROOT/ubuntu
Found initrd image: initrd.img-5.0.0-32-generic in x250/ROOT/ubuntu
Found linux image: vmlinuz-5.3.0-19-generic in x250/ROOT/ubuntu
Found initrd image: initrd.img-5.3.0-19-generic in x250/ROOT/ubuntu
Found linux image: vmlinuz-5.0.0-32-generic in x250/ROOT/ubuntu at install
Found initrd image: initrd.img-5.0.0-32-generic in x250/ROOT/ubuntu at install
Found linux image: vmlinuz-5.3.0-19-generic in x250/ROOT/ubuntu at install
Found initrd image: initrd.img-5.3.0-19-generic in x250/ROOT/ubuntu at install
done
ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: grub-common 2.04-1ubuntu12
ProcVersionSignature: Ubuntu 5.3.0-19.20-generic 5.3.1
Uname: Linux 5.3.0-19-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu8
Architecture: amd64
CurrentDesktop: XFCE
Date: Sun Oct 27 00:30:31 2019
SourcePackage: grub2
UpgradeStatus: Upgraded to eoan on 2019-10-26 (0 days ago)
modified.conffile..etc.grub.d.10_linux_zfs: [modified]
mtime.conffile..etc.grub.d.10_linux_zfs: 2019-10-27T00:09:53.228144
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1850003/+subscriptions
More information about the foundations-bugs
mailing list