[Bug 1987567] Re: Xen Dom0 linux boot fails with multiple initrd files

Mauricio Faria de Oliveira 1987567 at bugs.launchpad.net
Sun Dec 18 22:33:28 UTC 2022


testing on focal:

Launch/Setup:
---

$ multipass launch -c 2 -d 8g -m 2g -n xf focal
$ multipass shell xf

$ sudo apt update && sudo apt install -y xen-system-amd64

$ sudo vim /etc/default/grub.d/50-cloudimg-settings.cfg
# ... GRUB_TERMINAL=serial, GRUB_TIMEOUT=5, GRUB_TIMEOUT_STYLE=''
$ sudo update-grub && sudo reboot

$ virsh console xf

Before:
---

$ dpkg -s grub-common | grep Version:
Version: 2.04-1ubuntu26.15

$ sudo apt install -y microcode-initrd

$ grep module2 /boot/grub/grub.cfg | grep -v vmlinuz
	module2	--nounzip   /boot/microcode.cpio /boot/initrd.img-5.4.0-135-generic
			module2	--nounzip   /boot/microcode.cpio /boot/initrd.img-5.4.0-135-generic
			module2	--nounzip   /boot/microcode.cpio /boot/initrd.img-5.4.0-135-generic
			module2	--nounzip   /boot/microcode.cpio /boot/initrd.img-5.4.0-135-generic
			module2	--nounzip   /boot/microcode.cpio /boot/initrd.img-5.4.0-135-generic
			
$ du -k /boot/initrd.img-* /boot/microcode.cpio
32296	/boot/initrd.img-5.4.0-135-generic
4936	/boot/microcode.cpio

$ sudo reboot # fails
...
[    2.097349] Freeing initrd memory: 4936K
...
[    2.954304] VFS: Cannot open root device "UUID=..." or unknown-block(0,0): error -6
...

After:
---

$ sudo add-apt-repository -y ppa:mfo/build-proposed
$ sudo apt install -y grub-common

$ dpkg -s grub-common | grep Version:
Version: 2.04-1ubuntu26.17

$ grep module2 /boot/grub/grub.cfg | grep -v vmlinuz
	module2	--nounzip   /boot/initrd.img-5.4.0-135-generic
	module2	--nounzip   /boot/microcode.cpio
			module2	--nounzip   /boot/initrd.img-5.4.0-135-generic
			module2	--nounzip   /boot/microcode.cpio
			module2	--nounzip   /boot/initrd.img-5.4.0-135-generic
			module2	--nounzip   /boot/microcode.cpio
			module2	--nounzip   /boot/initrd.img-5.4.0-135-generic
			module2	--nounzip   /boot/microcode.cpio
			module2	--nounzip   /boot/initrd.img-5.4.0-135-generic
			module2	--nounzip   /boot/microcode.cpio

$ sudo reboot # works
...
[    1.381813] Freeing SMP alternatives memory: 40K
...

-- 
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:
  Triaged
Status in grub2 source package in Jammy:
  Triaged
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

  - 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