[Bug 1876331] Re: update-grub fails to add ZFS menu entries

Matthias Benkard login at mail.matthias.benkard.de
Fri May 8 04:12:43 UTC 2020


I have experienced this problem too.  Adding the -e flag, substituting
printf for echo, or changing the shebang line into #!/bin/dash fixes the
issue, as does switching /bin/sh from Bash to Dash by running dpkg-
reconfigure dash.  My guess is that this is a Dashism, i.e. an
incompatibility with systems configured to use Bash as /bin/sh, as the
two shells are not 100% compatible.

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

Title:
  update-grub fails to add ZFS menu entries

Status in grub2 package in Ubuntu:
  New

Bug description:
  This is for:

  Ubuntu 20.04 LTS
  grub-common 2.04-1ubuntu26

  I don't know how I got into this mess (maybe by removing ZFS @install
  snapshots?), but update-grub stopped adding any Ubuntu entries to my
  menu.cfg.

  The culprit is the use of \t as a field separator in
  /etc/grub.d/10_linux_zfs.

  There's a line that says:
          echo "${dataset}\t${is_zsys}\t${machine_id}\t${pretty_name}\t${last_used}\t${initrd_device}\t${initrd_list}\t${kernel_list}\t${last_booted_kernel}"

  
  Instead, it should say:
          echo -e "${dataset}\t${is_zsys}\t${machine_id}\t${pretty_name}\t${last_used}\t${initrd_device}\t${initrd_list}\t${kernel_list}\t${last_booted_kernel}"

  By default, echo does not interpret the escaped tab sequence, \t. So
  all of the awk lines that use it as a field separator elsewhere in the
  script fail.

  Adding the above -e flag fixed my problem.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1876331/+subscriptions



More information about the foundations-bugs mailing list