[Bug 1534162] Re: symlinks managed by kernel postinst are different from zipl-installer and livefs-rootfs
Paride Legovini
1534162 at bugs.launchpad.net
Tue Apr 9 09:47:17 UTC 2019
It seems that we're hitting this issue again with the subiquity
installer. The installer fails at the "installing kernel" stage, when
zipl is called. These are the last lines of the installer log
(retrieving the full log is not trivial because of LP: #1823797):
Setting up linux-image-5.0.0-8-generic (5.0.0-8.9) ...
I: /vmlinuz.old is now a symlink to boot/vmlinuz-5.0.0-8-generic
I: /initrd.img.old is now a symlink to boot/initrd.img-5.0.0-8-generic
I: /vmlinuz is now a symlink to boot/vmlinuz-5.0.0-8-generic
I: /initrd.img is now a symlink to boot/initrd.img-5.0.0-8-generic
Not invoking zipl: initrd doesn't exist yet
/etc/kernel/postinst.d/zz-zipl:
Not invoking zipl: initrd doesn't exist yet
Setting up linux-generic (5.0.0.8.9) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.0.0-8-generic
Not invoking zipl: initrd doesn't exist yet
/etc/kernel/postinst.d/zz-zipl:
Not invoking zipl: initrd doesn't exist yet
Running command ['unshare', '--fork', '--pid', '--', 'chroot', '/target', 'zipl']
Error: Image file '/boot/vmlinuz' in section 'ubuntu': No such file or directory
The qcow2 disk image can be mounted like this:
$ sudo modprobe nbd max_part=8
$ sudo qemu-nbd --connect=/dev/nbd0 /path/to/CE-install-test.qcow2
$ sudo mount /dev/nbd0p1 /mnt/guest
and it contains the expected target filesystem, but the vmlinuz and
initrd.img symlink are in / instead of being in /boot, where zipl
expects them:
lrwxrwxrwx 1 root root 31 Apr 9 08:11 initrd.img ->
boot/initrd.img-5.0.0-8-generic
lrwxrwxrwx 1 root root 28 Apr 9 08:11 vmlinuz ->
boot/vmlinuz-5.0.0-8-generic
Moving the symlinks in /boot and chrooting in the target partition makes zipl work:
$ for i in sys dev proc; do sudo mount -o bind /$i /mnt/guest/$i; done
$ sudo chroot /mnt/guest/
groups: cannot find name for group ID 129
root at s1lp04:/# rm initrd.img* vmlinuz*
root at s1lp04:/# cd /boot/
root at s1lp04:/boot# ln -s vmlinuz-5.0.0-8-generic vmlinuz
root at s1lp04:/boot# ln -s initrd.img-5.0.0-8-generic initrd.img
root at s1lp04:/boot# cd ..
root at s1lp04:/# zipl -V
Using config file '/etc/zipl.conf'
Warning: Could not remove temporary file : No such file or
directoryfree(): double free detected in tcache 2
Aborted
(It still errors, but we go past the "No such file or directory" error, and this error is probably related to the chroot.)
It seems that the location of the vmlinuz and initrd symlinks can be
configured with the /etc/kernel-img.conf file. On the host system we
have:
$ cat /etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
do_bootloader = yes
do_initrd = yes
link_in_boot = yes
and the symlinks are indeed created in /boot. In the (subiquity
installed, non functional) guest system the /etc/kernel-img.conf is
missing. The package responsible of installing kernel-img.conf is
kernel-common, but it is *not* installed in the host system, so the file
is probably (supposed to be) copied from the installer system. My
supposition is that this step is missing in the subiquity installer.
I am reopening this and setting it as Confirmed as it was verified
together by me and cpaelzer.
Dimitri: do you remember how this was fixed with the debian-installer?
** Changed in: linux (Ubuntu)
Status: Invalid => Confirmed
** Changed in: zipl-installer (Ubuntu)
Status: Invalid => Confirmed
** Changed in: livecd-rootfs (Ubuntu)
Status: Invalid => New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to zipl-installer in Ubuntu.
https://bugs.launchpad.net/bugs/1534162
Title:
symlinks managed by kernel postinst are different from zipl-installer
and livefs-rootfs
Status in subiquity:
New
Status in linux package in Ubuntu:
Confirmed
Status in livecd-rootfs package in Ubuntu:
New
Status in zipl-installer package in Ubuntu:
Confirmed
Bug description:
Symlinks are not managed correctly.
Last installed and configured kernel, prior to purging -5- was -6-,
yet symlinks were not updated to -6- when that happened.
root at devac03:~# apt-get remove --purge linux-headers-4.3.0-5 linux-headers-4.3.0-5-generic linux-image-4.3.0-5-generic linux-image-extra-4.3.0-5-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-headers-4.3.0-5* linux-headers-4.3.0-5-generic* linux-image-4.3.0-5-generic*
linux-image-extra-4.3.0-5-generic*
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 131 MB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 92073 files and directories currently installed.)
Removing linux-headers-4.3.0-5-generic (4.3.0-5.16) ...
Removing linux-headers-4.3.0-5 (4.3.0-5.16) ...
Removing linux-image-extra-4.3.0-5-generic (4.3.0-5.16) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.3.0-5-generic /boot/vmlinuz-4.3.0-5-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.3.0-5-generic /boot/vmlinuz-4.3.0-5-generic
update-initramfs: Generating /boot/initrd.img-4.3.0-5-generic
Using config file '/etc/zipl.conf'
Building bootmap in '/boot/'
Building menu 'zipl-automatic-menu'
Adding #1: IPL section 'ubuntu' (default)
Preparing boot device: dasda (0200).
Done.
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.3.0-5-generic /boot/vmlinuz-4.3.0-5-generic
run-parts: executing /etc/kernel/postinst.d/zz-zipl 4.3.0-5-generic /boot/vmlinuz-4.3.0-5-generic
Using config file '/etc/zipl.conf'
Building bootmap in '/boot/'
Building menu 'zipl-automatic-menu'
Adding #1: IPL section 'ubuntu' (default)
Preparing boot device: dasda (0200).
Done.
Purging configuration files for linux-image-extra-4.3.0-5-generic (4.3.0-5.16) ...
Removing linux-image-4.3.0-5-generic (4.3.0-5.16) ...
WARN: Proceeding with removing running kernel image.
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.3.0-5-generic /boot/vmlinuz-4.3.0-5-generic
update-initramfs: Deleting /boot/initrd.img-4.3.0-5-generic
run-parts: executing /etc/kernel/postrm.d/zz-zipl 4.3.0-5-generic /boot/vmlinuz-4.3.0-5-generic
Using config file '/etc/zipl.conf'
Error: Image file '/boot/vmlinuz' in section 'ubuntu': No such file or directory
run-parts: /etc/kernel/postrm.d/zz-zipl exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-4.3.0-5-generic.postrm line 328.
dpkg: error processing package linux-image-4.3.0-5-generic (--purge):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
linux-image-4.3.0-5-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
root at devac03:~# ls -latr /boot
total 24208
drwx------ 2 root root 16384 Dec 9 16:38 lost+found
lrwxrwxrwx 1 root root 26 Jan 6 16:23 initrd.img -> initrd.img-4.3.0-5-generic
lrwxrwxrwx 1 root root 23 Jan 6 16:24 vmlinuz -> vmlinuz-4.3.0-5-generic
-rw------- 1 root root 13026048 Jan 11 21:36 vmlinuz-4.3.0-6-generic
-rw------- 1 root root 2446124 Jan 11 21:36 System.map-4.3.0-6-generic
-rw-r--r-- 1 root root 63422 Jan 11 21:36 config-4.3.0-6-generic
-rw-r--r-- 1 root root 517933 Jan 11 21:36 abi-4.3.0-6-generic
drwxr-xr-x 22 root root 4096 Jan 14 13:03 ..
-rw-r--r-- 1 root root 8574889 Jan 14 13:03 initrd.img-4.3.0-6-generic
-rw------- 1 root root 69632 Jan 14 13:41 bootmap
drwxr-xr-x 3 root root 4096 Jan 14 13:41 .
root at devac03:~# dpkg -l | grep 4.3.0
ii iproute 1:4.3.0-1ubuntu1 all transitional dummy package for iproute2
ii iproute2 4.3.0-1ubuntu1 s390x networking and traffic control tools
ii linux-generic 4.3.0.6.7 s390x Complete Generic Linux kernel and headers
ii linux-headers-4.3.0-6 4.3.0-6.17 all Header files related to Linux kernel version 4.3.0
ii linux-headers-4.3.0-6-generic 4.3.0-6.17 s390x Linux kernel headers for version 4.3.0 on System 390x SMP
ii linux-headers-generic 4.3.0.6.7 s390x Generic Linux kernel headers
rc linux-image-4.3.0-2-generic 4.3.0-2.11 s390x Linux kernel image for version 4.3.0 on System 390x SMP
pH linux-image-4.3.0-5-generic 4.3.0-5.16 s390x Linux kernel image for version 4.3.0 on System 390x SMP
ii linux-image-4.3.0-6-generic 4.3.0-6.17 s390x Linux kernel image for version 4.3.0 on System 390x SMP
rc linux-image-extra-4.3.0-2-generic 4.3.0-2.11 s390x Linux kernel extra modules for version 4.3.0 on System 390x SMP
ii linux-image-extra-4.3.0-6-generic 4.3.0-6.17 s390x Linux kernel extra modules for version 4.3.0 on System 390x SMP
ii linux-image-generic 4.3.0.6.7 s390x Generic Linux kernel image
ii linux-libc-dev:s390x 4.3.0-6.17 s390x Linux Kernel Headers for development
ii xfslibs-dev 4.3.0 s390x XFS filesystem-specific static libraries and headers
ii xfsprogs 4.3.0 s390x Utilities for managing the XFS filesystem
To manage notifications about this bug go to:
https://bugs.launchpad.net/subiquity/+bug/1534162/+subscriptions
More information about the foundations-bugs
mailing list