[Bug 1987567] Re: Xen Dom0 linux boot fails with multiple initrd files
Mauricio Faria de Oliveira
1987567 at bugs.launchpad.net
Wed Aug 24 22:07:52 UTC 2022
Merge Request for Kinetic/devel series:
https://code.launchpad.net/~mfo/grub/+git/grub/+merge/428882
** Description changed:
+ [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
- https://lists.gnu.org/archive/html/grub-devel/2022-08/msg00137.html
- ~/git/grub$ git log --oneline -2 origin/master -- util/grub.d/20_linux_xen.in
+ grub.git commits:
18d8eafdea23 templates/linux_xen: Properly order the multiple initrd files
b4b4acaf4ec7 templates/linux_xen: Properly load multiple initrd files
** Description changed:
[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
+ $ 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
+ $ 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)
+ [ 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)
+ [ 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
+ [ 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
--
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:
In Progress
Status in grub2 source package in Focal:
Triaged
Status in grub2 source package in Jammy:
Triaged
Status in grub2 source package in Kinetic:
In Progress
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