[Bug 1848856] Re: zfs on root fails with grub syntax error with multidisks pools
Launchpad Bug Tracker
1848856 at bugs.launchpad.net
Mon Nov 25 08:31:26 UTC 2019
This bug was fixed in the package grubzfs-testsuite - 0.4.6
grubzfs-testsuite (0.4.6) focal; urgency=medium
[ Jean-Baptiste Lallement ]
[ Didier Roche ]
* Test cases for:
- Handle the case where grub-probe returns several devices for a single
pool (LP: #1848856).
- Do not crash on invalid fstab and report the invalid entry.
- When a pool fails to import, catch and display the error message and
continue with other pools. Import all the pools in readonly mode so we
can import other pools with unsupported features (LP: #1848399)
-- Jean-Baptiste Lallement <jean-baptiste.lallement at ubuntu.com> Mon,
18 Nov 2019 11:38:20 +0100
** Changed in: grubzfs-testsuite (Ubuntu Focal)
Status: Triaged => Fix Released
** Changed in: grub2 (Ubuntu Focal)
Status: In Progress => Fix Released
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
zfs on root fails with grub syntax error with multidisks pools
Status in grub2 package in Ubuntu:
Status in grubzfs-testsuite package in Ubuntu:
Status in grub2 source package in Eoan:
Status in grubzfs-testsuite source package in Eoan:
Status in grub2 source package in Focal:
Status in grubzfs-testsuite source package in Focal:
When a pool is created on several devices like cache and log on separate devices, mirror or raidz. When grub-probe queries the target to report the device attached to the boot directory, it reports all the devices that make the pool, one by line. The result is an error in 10_linux_zfs that generates an invalid grub configuration file. Only the case 1 pool = 1 device was considered
1. Create a mirrored pool
$ zpool create mirror /dev/Xda1 /dev/Xda2
2. run update-grub
grub configuration is generated successfully.
The generated grub configuration file is incomplete and its syntax is invalid
Low. The patch takes the first device returned by grub-probe which is the first device of data of the mirror.
At the end of the upgrade from 19.04 to 19.10, the post process of the update-grub reports:
Syntax error at line 185
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/grub/grub.cfg.new file attached.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
dpkg: error processing package linux-image-5.3.0-18-generic (--configure):
installed linux-image-5.3.0-18-generic package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
The system used https://github.com/zfsonlinux/zfs/wiki/Ubuntu-18.04
-Root-on-ZFS to add zfs on root to a 19.04 system.
The syntax error in grub.cfg.new is an extra } on line 185. However,
comparing the grub.cfg.new to the previously generated grub.cfg under
19.04, there is a significant quantity of configuration missing.
Manually running update-grub generates the same error.
/etc/default/grub is the only file changed from default installation
to include zswap. This file was not changed prior to upgrade.
The error is reported during the processing of
/etc/grub.d/10_linux_zfs which is dated October 11. I attempted the
upgrade on 10/18 and have done multiple updates to get the latest
kernel and remove old kernels prior to the upgrade. So, I believe the
problem is with one of the upgrade modules.
To manage notifications about this bug go to:
More information about the Ubuntu-sponsors