The "statoverride" script appears to work on the first run for each kernel. However, any subsequent times the `dpkg-statoverride` command exits with errorcode 2:
$ apt-get install something-triggering-dkms Processing triggers for linux-image-5.4.0-96-generic (5.4.0-96.109) ... /etc/kernel/postinst.d/dkms: * dkms: running auto installation service for kernel 5.4.0-96-generic ...done. /etc/kernel/postinst.d/initramfs-tools: update-initramfs: Generating /boot/initrd.img-5.4.0-96-generic /etc/kernel/postinst.d/statoverride: dpkg-statoverride: error: an override for '/boot/vmlinuz-5.4.0-96-generic' already exists; aborting run-parts: /etc/kernel/postinst.d/statoverride exited with return code 2 dpkg: error processing package linux-image-5.4.0-96-generic (--configure): installed linux-image-5.4.0-96-generic package post-installation script subprocess returned error exit status 1 Errors were encountered while processing: linux-image-5.4.0-96-generic E: Sub-process /usr/bin/dpkg returned an error code (1) Adding the `--force-statoverride-add` flag fixed the issue: #!/bin/sh # https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725 set -e version="$1" if [ -z "$version" ]; then exit 0 fi exec dpkg-statoverride --force-statoverride-add --update --add root root 0644 "/boot/vmlinuz-${version}" After that change, now the kernel dkms trigger succeeds: Setting up linux-image-5.4.0-96-generic (5.4.0-96.109) ... Processing triggers for linux-image-5.4.0-96-generic (5.4.0-96.109) ... /etc/kernel/postinst.d/dkms: * dkms: running auto installation service for kernel 5.4.0-96-generic ...done. /etc/kernel/postinst.d/initramfs-tools: update-initramfs: Generating /boot/initrd.img-5.4.0-96-generic /etc/kernel/postinst.d/statoverride: dpkg-statoverride: warning: an override for '/boot/vmlinuz-5.4.0-96-generic' already exists, but --force specified so will be ignored /etc/kernel/postinst.d/zz-update-grub: Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/init-select.cfg' Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.4.0-96-generic Found initrd image: /boot/initrd.img-5.4.0-96-generic Found linux image: /boot/vmlinuz-5.4.0-94-generic Found initrd image: /boot/initrd.img-5.4.0-94-generic Found linux image: /boot/vmlinuz-5.4.0-91-generic Found initrd image: /boot/initrd.img-5.4.0-91-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin Found Ubuntu 20.04.3 LTS (20.04) on /dev/md126p1 done If this is to be added as a postinst.d to the libguestfs-tools package, please don't forget the `--force-statoverride-add` flag... or else we introduce a new dkms / kernel postinst.d trigger idempotency bug. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/759725 Title: The kernel is no longer readable by non-root users To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs