grub-mkconfig fails to include zpool when using zfs & xen

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

Bug Description

After installing 20.04.1 using the ZFS root option I installed Xen. When it rebooted it failed in initramfs with the error "No pool imported". I was able to boot the previous kernel. When I examined the /boot/grub/grub.cfg I found what looked like invalid "root=ZFS=" options like this:

"root=ZFS=/ROOT/ubuntu_xxxxxx"

The previous kernel that boots looks like this:

"root=ZFS=rpool/ROOT/ubuntu_xxxxxx"

As a test saved a copy and edited /boot/grub/grub.cfg adding the rpool to each "root=ZFS=" line where rpool was missing. This time I was able to boot the Xen kernel.

The xen postinst script is using the update-grub command, which runs grub-mkconfig. Running grub-mkconfig produced this output:
root@corona:~# grub-mkconfig -o /boot/grub/grub.cfg
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Sourcing file `/etc/default/grub.d/xen.cfg'
Including Xen overrides from /etc/default/grub.d/xen.cfg
WARNING: GRUB_DEFAULT changed to boot into Xen by default!
         Edit /etc/default/grub.d/xen.cfg to avoid this warning.
Generating grub configuration file ...
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found linux image: vmlinuz-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found initrd image: initrd.img-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found linux image: vmlinuz-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found initrd image: initrd.img-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found linux image: vmlinuz-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found initrd image: initrd.img-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found linux image: /boot/vmlinuz-5.4.0-52-generic
Found initrd image: /boot/initrd.img-5.4.0-52-generic
Found linux image: /boot/vmlinuz-5.4.0-51-generic
Found initrd image: /boot/initrd.img-5.4.0-51-generic
Found linux image: /boot/vmlinuz-5.4.0-42-generic
Found initrd image: /boot/initrd.img-5.4.0-42-generic
Found linux image: /boot/vmlinuz-5.4.0-52-generic
Found initrd image: /boot/initrd.img-5.4.0-52-generic
Found linux image: /boot/vmlinuz-5.4.0-51-generic
Found initrd image: /boot/initrd.img-5.4.0-51-generic
Found linux image: /boot/vmlinuz-5.4.0-42-generic
Found initrd image: /boot/initrd.img-5.4.0-42-generic
Found linux image: /boot/vmlinuz-5.4.0-52-generic
Found initrd image: /boot/initrd.img-5.4.0-52-generic
Found linux image: /boot/vmlinuz-5.4.0-51-generic
Found initrd image: /boot/initrd.img-5.4.0-51-generic
Found linux image: /boot/vmlinuz-5.4.0-42-generic
Found initrd image: /boot/initrd.img-5.4.0-42-generic
Found memtest86+ image: /BOOT/ubuntu_69vvbr@/memtest86+.elf
Found memtest86+ image: /BOOT/ubuntu_69vvbr@/memtest86+.bin
device-mapper: reload ioctl on osprober-linux-sda7 failed: Device or resource busy
Command failed.
done

The result in /boot/grub/grub.cfg include lines like this:

"module2 /BOOT/ubuntu_69vvbr@/vmlinuz-5.4.0-52-generic placeholder root=ZFS=/ROOT/ubuntu_69vvbr ro quiet splash"

The "root=ZFS=/ROOT/ubuntu_69vvbr" should be "root=ZFS=rpool/ROOT/ubuntu_69vvbr"

==============================
How to reproduce the problem

From scratch install ubuntu 20.04.1 desktop, select ZFS as root option, then install xen-hypervisor-4.11-amd64.
It will fail to reboot because the grub root=ZFS=/ROOT/ argument is wrong.

Todd (codesleuth7)
affects: xen (Ubuntu) → grub2 (Ubuntu)
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.