[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:27 UTC 2019

This bug was fixed in the package grub2 - 2.04-1ubuntu14

grub2 (2.04-1ubuntu14) focal; urgency=medium

  * debian/patches/ubuntu-zfs-enhance-support.patch:
    - Handle the case where grub-probe returns several devices for a single
      pool (LP: #1848856). Thanks jpb for the report and the proposed patch.
    - Add savedefault to non-recovery entries (LP: #1850202). Thanks Deltik
      for the patch.
    - Do not crash on invalid fstab and report the invalid entry.
      (LP: #1849347) Thanks Deltik for the patch.
    - 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) Thanks
      satmandu for the investigation and the proposed patch

 -- Jean-Baptiste Lallement <jean-baptiste.lallement at ubuntu.com>  Mon,
18 Nov 2019 11:22:43 +0100

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:
  Fix Released
Status in grubzfs-testsuite package in Ubuntu:
  Fix Released
Status in grub2 source package in Eoan:
Status in grubzfs-testsuite source package in Eoan:
Status in grub2 source package in Focal:
  Fix Released
Status in grubzfs-testsuite source package in Focal:
  Fix Released

Bug description:
  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

  [Test Case]
  1. Create a mirrored pool
  $ zpool create mirror /dev/Xda1 /dev/Xda2

  2. run update-grub

  Expected result:
  grub configuration is generated successfully.

  Actual result:
  The generated grub configuration file is incomplete and its syntax is invalid

  [Regression Potential]
  Low. The patch takes the first device returned by grub-probe which is the first device of data of the mirror. 

  [Original Description]
  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 mailing list