[Bug 1899372] Re: update-grub 10_linux_zfs fails when /usr is a separate filesystem
Dimitri John Ledkov
1899372 at bugs.launchpad.net
Thu Nov 12 16:30:58 UTC 2020
So, /etc/os-release is an obsolete file location, which is normally a
symlink to /usr/lib/os-release.
When mounting snapshots, the grub script doesn't parse /etc/fstab; to
mount the snapshots of where the /usr is, and mount that.....
However, I don't know how having /usr as a subvolumen (if that is the
right term) even supported or usable with zsys.
What do you mean by /usr is a separate filesystem? which filesystem is
it?
We only support zsys when everything is managed by it.
** Changed in: grub2 (Ubuntu)
Status: Confirmed => Incomplete
--
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/1899372
Title:
update-grub 10_linux_zfs fails when /usr is a separate filesystem
Status in grub2 package in Ubuntu:
Incomplete
Status in grubzfs-testsuite package in Ubuntu:
New
Bug description:
Description: Ubuntu 20.04.1 LTS
Release: 20.04
grub-common: 2.04-1ubuntu26.4
I expect grub-update to create grub.cfg with Linux entries for ZFS.
Instead I am left with an empty list and an unbootable OS.
The output from update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Sourcing file `/etc/default/grub.d/kdump-tools.cfg'
Generating grub configuration file ...
/etc/grub.d/10_linux_zfs: 404: .: Can't open /tmp/zfsmnt.stGSQC/etc/os-release
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
done
This is failing because I have a separate ZFS filesystem for /usr.
The 10_linux_zfs script is gathering information from /etc/os-release
which is a symlink to ../usr/lib/os-release.
The first issue I see in 10_linux_zfs is under function get_dataset_info() at line 382:
mount -o noatime,zfsutil -t zfs "${base_dataset}" "${mntdir}"
Since /usr is under a separate filesystem, the symlink would be broken
and the script fails. This should mount /usr as well if it is a
separate filesystem.
The next issue I see is when the script iterates the zsys snapshots at line 514:
for snapshot_dataset in $(zfs list -H -o name -t snapshot "${dataset}"); do
boot_list="${boot_list}$(get_dataset_info ${snapshot_dataset} ${mntdir})\n"
done
You would get a similar error message about os-release.
/etc/grub.d/10_linux_zfs: 410: .: Can't open /.zfs/snapshot/autozsys_oiimb5/etc/os-release
Again, the script should consider reading the /usr snapshot as well if
it is a separate filesystem.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1899372/+subscriptions
More information about the foundations-bugs
mailing list