[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