[Bug 1848856] Re: Upgrade from 19.04 to 19.10 with zfs on root fails with grub syntax error

jpb 1848856 at bugs.launchpad.net
Tue Oct 22 22:25:29 UTC 2019


The \r is an invisible return character, commonly returned by an echo.
However, here, we are executing grub_probe --target=device /boot

The code in 10_linux_zfs:
 initrd_device=$(${grub_probe} --target=device "${boot_dir}")

The results are the same as above.  For the specific entry, it is the first drive in my mirror:
/dev/sdc1  (first drive as defined in my mirror)
/dev/sda1  (second drive as defined in my mirror)
/dev/nvme0n1p2 (zfs logs)
/dev/nvme0n1p4 (zfs cache)

Notice that the results of the output from grub_probe has new lines.
New lines are usually \n but may be \r\n.  I don't know what grub_probe
is doing and didn't look to see how it does it.  But the return from
there would be what's got the \r (again it isn't visible).

I have nothing special or different from the stock Ubuntu
/etc/default/grub other than I added zswap entries to the
/etc/default/grub and those don't affect this.

The underlying cause may be that because I have a mirrored root using
zfs mirroring, multiple devices show up and may cause the \r to be
returned.  It's just a guess.

So, to test, you'd want grub_probe to return multiple devices and the
easiest way would be to just have a mirror for the rpool.

-- 
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/1848856

Title:
  Upgrade from 19.04 to 19.10 with zfs on root fails with grub syntax
  error

Status in grub2 package in Ubuntu:
  Confirmed

Bug 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:
   friendly-recovery
   grub-efi-amd64
   grub-efi
   grub-efi-amd64-signed
   shim-signed
   linux-image-5.3.0-18-generic

  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:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1848856/+subscriptions



More information about the foundations-bugs mailing list