[UBUNTU 20.04] installkernel script does not symlink /boot/initrd.img which is required with the default zipl.conf
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
High
|
Skipper Bug Screeners | ||
linux-base (Ubuntu) |
Fix Released
|
Medium
|
Stefan Bader | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Hirsute |
Fix Released
|
Medium
|
Stefan Bader |
Bug Description
[Impact]
* initrd link is not updated when using installkernel or "make install" from kernel sources. This leads to boot failure after installing a new kernel with mentioned methods because the kernel does not match initrd.
* It's a regression because for Focal it was working before.
* Issue was reproduced also on Bionic.
* The proposed fixed by Stefan Bader adds a hook in /etc/kernel/
* The solution from Stefan (first patch) was tested by the bug reporter (<email address hidden>).
[Test Plan]
* Build a kernel
* sudo installkernel 5.7.0-rc4-
* Check if /boot/initrd or /initrd symlink to the new initrd
[Where problems could occur]
* Installing kernel via: installkernel or "make install", so mostly kernel developer environments
[Other info from developer]
When testing development kernels I usually rely on the installkernel
script either through the "make install" target of the Kernel source
or manually. This used to work great on Ubuntu on Z.
On Ubuntu 20.04 (freshly installed up to date) this fails however because
/boot/initrd.img is not updated (/boot/vmlinuz is) and thus zipl installs the
wrong kernel/initrd combination rendering the system unbootable.
(with the correct modules already copied to /usr/lib/
# sudo installkernel 5.7.0-rc4-
run-parts: executing /etc/kernel/
run-parts: executing /etc/kernel/
update-initramfs: Generating /boot/initrd.
Using config file '/etc/zipl.conf'
Building bootmap in '/boot'
Building menu 'menu'
Adding #1: IPL section 'ubuntu' (default)
Adding #2: IPL section 'old'
Preparing boot device: dasda (3844).
Done.
run-parts: executing /etc/kernel/
Using config file '/etc/zipl.conf'
Building bootmap in '/boot'
Building menu 'menu'
Adding #1: IPL section 'ubuntu' (default)
Adding #2: IPL section 'old'
Preparing boot device: dasda (3844).
Done.
# ls -l /boot
total 178364
-rw------- 1 root root 135168 May 6 11:52 bootmap
-rw-r--r-- 1 root root 90471 Apr 29 15:34 config-
lrwxrwxrwx 1 root root 27 May 6 11:40 initrd.img -> initrd.
-rw-r--r-- 1 root root 19663996 May 6 11:42 initrd.
-rw-r--r-- 1 root root 125339494 May 6 11:52 initrd.
lrwxrwxrwx 1 root root 27 May 6 11:40 initrd.img.old -> initrd.
-rw------- 1 root root 3087920 Apr 29 15:34 System.
-rw-r--r-- 1 root root 4031691 May 6 11:52 System.
-rw-r--r-- 1 root root 4031691 May 6 11:49 System.
lrwxrwxrwx 1 root root 37 May 6 11:52 vmlinuz -> vmlinuz-
-rw------- 1 root root 8086072 Apr 29 15:54 vmlinuz-
-rw-r--r-- 1 root root 9080832 May 6 11:52 vmlinuz-
-rw-r--r-- 1 root root 9080832 May 6 11:49 vmlinuz-
lrwxrwxrwx 1 root root 41 May 6 11:52 vmlinuz.old -> vmlinuz-
tags: | added: architecture-s39064 bugnameltc-185794 severity-high targetmilestone-inin2004 |
Changed in ubuntu: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
affects: | ubuntu → linux (Ubuntu) |
summary: |
- installkernel script does not symlink /boot/initrd.img which is required - with the default zipl.conf + [UBUNTU 20.04] installkernel script does not symlink /boot/initrd.img + which is required with the default zipl.conf |
Changed in linux (Ubuntu): | |
assignee: | Skipper Bug Screeners (skipper-screen-team) → Canonical Kernel Team (canonical-kernel-team) |
Changed in ubuntu-z-systems: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
importance: | Undecided → High |
affects: | linux (Ubuntu) → linux-base (Ubuntu) |
Changed in ubuntu-z-systems: | |
status: | New → Triaged |
Changed in ubuntu-z-systems: | |
status: | Triaged → Incomplete |
Changed in ubuntu-z-systems: | |
status: | Incomplete → Triaged |
tags: | added: patch |
Changed in ubuntu-z-systems: | |
status: | Triaged → In Progress |
description: | updated |
tags: | added: bionic focal hirsute installkernel |
description: | updated |
description: | updated |
no longer affects: | debianutils (Ubuntu) |
no longer affects: | debianutils (Ubuntu Hirsute) |
no longer affects: | debianutils (Ubuntu Focal) |
no longer affects: | debianutils (Ubuntu Bionic) |
Changed in ubuntu-z-systems: | |
status: | In Progress → Fix Committed |
tags: | added: verification-failed-focal |
tags: | removed: verification-failed-focal |
Changed in ubuntu-z-systems: | |
status: | Fix Committed → Fix Released |
------- Comment From <email address hidden> 2020-05-06 08:06 EDT-------
To add, I'm pretty sure this broke in a very recent change as we were using
the installkernel script extensively just last week.
Also I believe there is something in the usual kernel upgrade process that
hides this issue as kernel upgrades via apt seem to work fine.