[Bug 1987567] Re: Xen Dom0 linux boot fails with multiple initrd files
Mauricio Faria de Oliveira
1987567 at bugs.launchpad.net
Wed Feb 8 10:39:42 UTC 2023
Verification done on focal.
---
$ sudo apt update && sudo apt install -y xen-system-amd64 microcode-
initrd
$ sudo add-apt-repository -y 'deb http://archive.ubuntu.com/ubuntu focal-proposed main'
sudo apt install -y grub-common microcode-initrd
$ apt policy grub2-common
grub2-common:
Installed: 2.04-1ubuntu26.17
Candidate: 2.04-1ubuntu26.17
Version table:
*** 2.04-1ubuntu26.17 500
500 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64 Packages
100 /var/lib/dpkg/status
...
$ grep module2 /boot/grub/grub.cfg | grep -v vmlinuz
module2 --nounzip /boot/initrd.img-5.4.0-137-generic
module2 --nounzip /boot/microcode.cpio
module2 --nounzip /boot/initrd.img-5.4.0-137-generic
module2 --nounzip /boot/microcode.cpio
module2 --nounzip /boot/initrd.img-5.4.0-137-generic
module2 --nounzip /boot/microcode.cpio
module2 --nounzip /boot/initrd.img-5.4.0-137-generic
module2 --nounzip /boot/microcode.cpio
module2 --nounzip /boot/initrd.img-5.4.0-137-generic
module2 --nounzip /boot/microcode.cpio
$ sudo reboot
# it works!
$ dmesg | grep 'Hypervisor detected'
[ 0.000000] Hypervisor detected: Xen PV
$ dmesg | grep -i initrd
[ 2.441382] Freeing initrd memory: 32296K
$ du -k /boot/initrd.img-* /boot/microcode.cpio
32296 /boot/initrd.img-5.4.0-137-generic
4936 /boot/microcode.cpio
** Tags removed: verification-needed verification-needed-focal
** Tags added: verification-done verification-done-focal
--
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/1987567
Title:
Xen Dom0 linux boot fails with multiple initrd files
Status in grub2 package in Ubuntu:
Fix Released
Status in grub2 source package in Focal:
Fix Committed
Status in grub2 source package in Jammy:
Fix Committed
Status in grub2 source package in Kinetic:
Fix Released
Bug description:
[Impact]
The linux_xen template seems to be broken for multiple initrd files.
Linux fails to boot when it needs a real initrd but early/microcode
initrd(s) are found by grub-mkconfig.
The 2 patches (merged upstream [2]) allow more than one initrd to be
actually loaded, and the real/non-microcode initrd get used by Linux.
More details in the patchset cover letter [1].
[Test Plan]
$ sudo apt install microcode-initrd
$ du --bytes /boot/...
13660416 /boot/vmlinuz-5.4.0-122-generic
33062542 /boot/initrd.img-5.4.0-122-generic
5045248 /boot/microcode.cpio
$ sudo reboot
- Original:
[ 2.505207] Kernel panic - not syncing: VFS: Unable to mount root
fs on unknown-block(0,0)
- Patch 1:
[ 1.890498] Freeing initrd memory: 4928K
...
[ 2.710948] Kernel panic - not syncing: VFS: Unable to mount root
fs on unknown-block(0,0)
- Patch 2:
[ 1.968578] Freeing initrd memory: 32288K
...
[ 2.844889] Run /init as init process
[ 2.916532] systemd-udevd[148]: Starting version 245.4-4ubuntu3.17
[Where problems could occur]
Regressions would be likely to manifest when booting Linux under Xen
with more than one initrd file (changes contained in this code path).
[Other Info]
[1] https://lists.gnu.org/archive/html/grub-devel/2022-08/msg00137.html
[PATCH 0/2] templates/linux_xen: Properly handle multiple initrd files
grub.git commits:
18d8eafdea23 templates/linux_xen: Properly order the multiple initrd files
b4b4acaf4ec7 templates/linux_xen: Properly load multiple initrd files
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1987567/+subscriptions
More information about the foundations-bugs
mailing list