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

Didier Roche didrocks at ubuntu.com
Mon May 11 13:42:18 UTC 2020


It’s not expected of course, but we tried to stick to POSIX syntax to
avoid breakages.

However, reading
https://pubs.opengroup.org/onlinepubs/009695399/utilities/echo.html, it
seems that escape sequences in echo are not POSIX: "It is not possible
to use echo portably across all POSIX systems unless both -n (as the
first argument) and escape sequences are omitted." and that we should
rather change those echo by printf. We’ll fix it this way, thanks!

Note that changing sh by bash slows down drastically the boot experience
and it should rather be PyBOMBS to fix their scripts to either requires
bash and be dash compliant.

-- 
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:
  Confirmed

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