Yes, my rpool is mirrored.
pool: rpool
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(5) for details.
scan: scrub repaired 0B in 0 days 05:45:25 with 0 errors on Sun Oct 13 06:09:31 2019
config:
In 10_linux_zfs, there is an if statement that echos data:
if [ -n "${initrd_list}" -a -n "${kernel_list}" ]; then
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}"
else
grub_warn "didn't find any valid initrd or kernel."
fi
The problem is that execution time, the last 3 parameters are dropped even though they have data.
You can see from the expanded debug of the run (set -xv) that both initrd_list and kernel_list had data that included the kernel and initrd but within the if, it gets dropped. That is causing the generated grub.cfg.new to be missing the kernel, initrd, and the advanced submenu items that would normally be generated.
Yes, my rpool is mirrored.
pool: rpool
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(5) for details.
scan: scrub repaired 0B in 0 days 05:45:25 with 0 errors on Sun Oct 13 06:09:31 2019
config:
NAME STATE READ WRITE CKSUM 0x5000cca24ce19 a84-part1 ONLINE 0 0 0 0x5000c5004e60c 802-part1 ONLINE 0 0 0 eui.00000000010 000004ce00018dd 8c9084- part2 ONLINE 0 0 0
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
wwn-
wwn-
logs
nvme-
cache
nvme0n1p4 ONLINE 0 0 0
errors: No known data errors
In 10_linux_zfs, there is an if statement that echos data:
if [ -n "${initrd_list}" -a -n "${kernel_list}" ]; then \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} "
echo "${dataset}
else
grub_warn "didn't find any valid initrd or kernel."
fi
The problem is that execution time, the last 3 parameters are dropped even though they have data.
+ [ -n /ROOT/ubuntu@ /boot/initrd. img-5.3. 0-18-generic| /ROOT/ubuntu@ /boot/initrd. img-5.0. 0-32-generic| /ROOT/ubuntu@ /boot/initrd. img-5.0. 0-31-generic| /ROOT/ubuntu@ /boot/initrd. img-5.0. 0-29-generic -a -n /ROOT/ubuntu@ /boot/vmlinuz- 5.3.0-18- generic| /ROOT/ubuntu@ /boot/vmlinuz- 5.0.0-32- generic| /ROOT/ubuntu@ /boot/vmlinuz- 5.0.0-31- generic| /ROOT/ubuntu@ /boot/vmlinuz- 5.0.0-29- generic ] ubuntu\ t-\t6d41e97f077 94e0b9d409db9a9 9529a5\ tUbuntu 19.10\t15715422 78\t/dev/ sdc1
+ echo rpool/ROOT/
You can see from the expanded debug of the run (set -xv) that both initrd_list and kernel_list had data that included the kernel and initrd but within the if, it gets dropped. That is causing the generated grub.cfg.new to be missing the kernel, initrd, and the advanced submenu items that would normally be generated.