extra } crashes update-grub in eaon w/zfs

Bug #1846975 reported by Harry Coin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
New
Undecided
Unassigned

Bug Description

Despite the attempted patch to prevent a double } } by 10_linux_zfs in grub.cfg for pure zfs systems, the failure remains in the latest eoan.
Total install failure results crashing do-release-upgrade. Critical.
A debug run follows, then the generated file with the extra }

I added a set -x at the top of the loop. the results were
a799481e327948b6a6dc54d8582a111c - history 2016-07-01_05.30.00--6m, Ubuntu 16.04 LTS on 07/01/2016 @ 05:30 zfsroots/std@2016-07-01_05.30.00--6m /dev/sda1
a799481e327948b6a6dc54d8582a111c - history pristinewntp, Ubuntu 16.04 LTS on 05/08/2016 @ 15:02 zfsroots/std@pristinewntp /dev/sda1
+ true
+ have_zsys=
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ main = history ]
+ [ != main -a -n ]
+ title=Ubuntu Eoan Ermine (development branch)
+ main_dataset_name=Ubuntu Eoan Ermine (development branch)
+ main_dataset=zfsroots/std
+ zfs_linux_entry 0 Ubuntu Eoan Ermine (development branch) simple zfsroots/std /dev/sda1
+ submenu_level=0
+ title=Ubuntu Eoan Ermine (development branch)
+ type=simple
+ dataset=zfsroots/std
+ boot_device=/dev/sda1
+ initrd=
+ kernel=
+ kernel_additional_args=
+ basename
+ sed -e s,^[^0-9]*-,,g
+ kernel_version=
+ printf %0s
+ tr
+ submenu_indentation=
+ sed s/^//
+ echo Ubuntu Eoan Ermine (development branch)
+ grub_quote
+ sed s/'/'\\''/g
+ echo menuentry 'Ubuntu Eoan Ermine (development branch)' --class ubuntu --class gnu-linux --class gnu --class os ${menuentry_id_option} 'gnulinux-zfsroots/std-' {
+ [ 1 = 1 ]
+ echo recordfail
+ sed s/^//
+ [ = ]
+ echo load_video
+ sed s/^//
+ [ 1 = 0 ]
+ [ simple != recovery ]
+ [ != ]
+ [ 1 = 1 ]
+ echo gfxmode ${linux_gfx_mode}
+ sed s/^//
+ echo insmod gzio
+ sed s/^//
+ echo if [ "${grub_platform}" = xen ]; then insmod xzio; insmod lzopio; fi
+ sed s/^//
+ prepare_grub_to_access_device_cached /dev/sda1
+ local boot_device=/dev/sda1
+ grub_add_tab
+ sed+ -e s/^/ /
sed s/^//
+ echo /dev/sda1
+ tr / _
+ local boot_device_idx=_dev_sda1
+ echo boot_device_dev_sda1
+ cache_file=/tmp/zfstmp.qX6P4N/boot_device_dev_sda1
+ [ ! -f /tmp/zfstmp.qX6P4N/boot_device_dev_sda1 ]
+ set +u
+ prepare_grub_to_access_device /dev/sda1
+ old_ifs=

+ IFS=

+ /usr/sbin/grub-probe --device /dev/sda1 --target=partmap
+ partmap=msdos
+ echo insmod part_msdos
+ loop_file=
+ /usr/sbin/grub-probe --device /dev/sda1 --target=abstraction
+ abstraction=
+ /usr/sbin/grub-probe --device /dev/sda1 --target=fs
+ fs=zfs
+ echo insmod zfs
+ [ x = xy ]
+ /usr/sbin/grub-probe --device /dev/sda1 --target=compatibility_hint
+ fs_hint=hd0,msdos1
+ [ xhd0,msdos1 != x ]
+ echo set root='hd0,msdos1'
+ /usr/sbin/grub-probe --device /dev/sda1 --target=fs_uuid
+ fs_uuid=7a1b09c5771f32a5
+ /usr/sbin/grub-probe --device /dev/sda1 --target=hints_string
+ hints=--hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1
+ echo if [ x$feature_platform_search_hint = xy ]; then
+ echo search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 7a1b09c5771f32a5
+ echo else
+ echo search --no-floppy --fs-uuid --set=root 7a1b09c5771f32a5
+ echo fi
+ IFS=

+ [ x != x ]
+ echo insmod part_msdos
insmod zfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 7a1b09c5771f32a5
else
  search --no-floppy --fs-uuid --set=root 7a1b09c5771f32a5
fi
+ set -u
+ cat /tmp/zfstmp.qX6P4N/boot_device_dev_sda1
+ echo insmod part_msdos
        insmod zfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 7a1b09c5771f32a5
        else
          search --no-floppy --fs-uuid --set=root 7a1b09c5771f32a5
        fi
+ [ 1 = 0 ]
+ [ simple != simple ]
+ linux_default_args=boot=zfs rpool=zfsroot bootfs=zfsroot/std
+ [ simple = recovery ]
+ sed s/^//
+ [ 1 = 0 ]
+ [ simple != simple ]
+ sed s/^//
+ echo }
+ sed s/^//
+ at_least_one_entry=1
+ last_section=main
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ history = history ]
+ [ - != yes ]
+ continue
+ printf \t
+ IFS= read -r machineid iszsys section name dataset device initrd kernel opt
+ [ 1 -eq 1 ]
+ echo }
Found memtest86+ image: /std@/boot/memtest86+.elf
Found memtest86+ image: /std@/boot/memtest86+.bin
error: syntax error.
error: Incorrect command.
error: syntax error.
Syntax error at line 182
Syntax errors are detected in generated GRUB config file.

grub-mkconfig generated file
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${initrdfail}" = 2 ]; then
   set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
   set next_entry="${prev_entry}"
   set prev_entry=
   save_env prev_entry
   if [ "${next_entry}" ]; then
      set initrdfail=2
   fi
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function initrdfail {
    if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
      if [ -z "${initrdfail}" ]; then
        set initrdfail=1
        if [ -n "${boot_once}" ]; then
          set prev_entry="${default}"
          save_env prev_entry
        fi
      fi
      save_env initrdfail
    fi; fi
}
function recordfail {
  set recordfail=1
  # GRUB lacks write support for zfs, so recordfail support is disabled.
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod zfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint-bios=hd3,msdos1 --hint-efi=hd3,msdos1 --hint-baremetal=ahci3,msdos1 --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 7a1b09c5771f32a5
else
  search --no-floppy --fs-uuid --set=root 7a1b09c5771f32a5
fi
    font="/std@/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=hidden
    set timeout=10
  # Fallback hidden-timeout code in case the timeout_style feature is
  # unavailable.
  elif sleep --interruptible 10 ; then
    set timeout=0
  fi
fi
if [ $grub_platform = efi ]; then
  set timeout=30
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_linux_zfs ###
function gfxmode {
        set gfxpayload="${1}"
        if [ "${1}" = "keep" ]; then
                set vt_handoff=vt.handoff=1
        else
                set vt_handoff=
        fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu Eoan Ermine (development branch)' --class ubuntu --class gnu-linux --class gnu --class os ${menuentry_id_option} 'gnulinux-zfsroots/std-' {
        recordfail
        load_video
        gfxmode ${linux_gfx_mode}
        insmod gzio
        if [ "${grub_platform}" = xen ]; then insmod xzio; insmod lzopio; fi
        insmod part_msdos
        insmod zfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 7a1b09c5771f32a5
        else
          search --no-floppy --fs-uuid --set=root 7a1b09c5771f32a5
        fi
        linux root=ZFS=zfsroots/std ro boot=zfs rpool=zfsroot bootfs=zfsroot/std
        initrd
}
}
### END /etc/grub.d/10_linux_zfs ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 'Memory test (memtest86+)' {
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod zfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint-bios=hd3,msdos1 --hint-efi=hd3,msdos1 --hint-baremetal=ahci3,msdos1 --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 7a1b09c5771f32a5
        else
          search --no-floppy --fs-uuid --set=root 7a1b09c5771f32a5
        fi
        knetbsd /std@/boot/memtest86+.elf
}
menuentry 'Memory test (memtest86+, serial console 115200)' {
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod zfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint-bios=hd3,msdos1 --hint-efi=hd3,msdos1 --hint-baremetal=ahci3,msdos1 --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 7a1b09c5771f32a5
        else
          search --no-floppy --fs-uuid --set=root 7a1b09c5771f32a5
        fi
        linux16 /std@/boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: grub-common 2.04-1ubuntu9
ProcVersionSignature: Ubuntu 5.0.0-31.33-generic 5.0.21
Uname: Linux 5.0.0-31-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu7
Architecture: amd64
Date: Sun Oct 6 13:56:20 2019
InstallationDate: Installed on 2016-05-08 (1246 days ago)
InstallationMedia: Lubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1)
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: grub2
UpgradeStatus: Upgraded to eoan on 2019-10-05 (0 days ago)
modified.conffile..etc.grub.d.10_linux_zfs: [modified]
mtime.conffile..etc.grub.d.10_linux_zfs: 2019-10-06T13:43:23.791068

Revision history for this message
Harry Coin (hcoin) wrote :
Revision history for this message
Harry Coin (hcoin) wrote :

deleting 10_linux_zfs restored previous normal zfs boot operations.
Note the script shows more severe errors than the extra }, the initrd arguments were blank.

Perhaps some guidance for those of us that already have zfs roots as per the previous guides... to have the new 'for desktops' feature for zfs disabled until explicitly enabled?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.