[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