This bug was fixed in the package initramfs-tools - 0.131ubuntu11 --------------- initramfs-tools (0.131ubuntu11) cosmic; urgency=medium
* debian/initramfs-tools.postinst: remove orphaned old-dkms initrd files in /boot. (LP: #1791959) -- Tiago Stürmer Daitx <tiago.da...@ubuntu.com> Wed, 12 Sep 2018 12:06:58 +0000 ** Changed in: initramfs-tools (Ubuntu) Status: Confirmed => Fix Released -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to dkms in Ubuntu. https://bugs.launchpad.net/bugs/1791959 Title: [SRU] remove orphaned initrd old-dkms files in /boot Status in dkms package in Ubuntu: Invalid Status in initramfs-tools package in Ubuntu: Fix Released Status in dkms source package in Xenial: Invalid Status in initramfs-tools source package in Xenial: New Status in dkms source package in Bionic: Invalid Status in initramfs-tools source package in Bionic: New Bug description: [Impact] If a dkms package is installed which has REMAKE_INITRD or the same setting has been manually configured by a user then when a kernel is removed its possible for an ".old-dkms" file to be left in /boot with no associated kernel. bug 1515513 dealt with removing old-dkms initrd files using the kernel's prerm hook, but that is only executed for the kernel version being removed: any other old-dkms file generated prior to that would not be removed by the hook, taking space in the /boot directory and being carried forward with every upgrade. Note: Filling up the /boot partition causes updates and upgrades to fail. [Test Case] As the fix for bug 1515513 is available on Xenial and Bionic it is no longer possible to reproduce this by simply installing and updating kernels - dkms 2.2.0.3-2ubuntu11.3/xenial or 2.3-3ubuntu1/bionic would be required for that. In order to replicate it an old dkms file will be created by hand. This assumes a new Xenial/Bionic schroot. 1) create files to work as a placeholders for old dkms files (there are 4 possible namings for these files) touch /boot/initrd-4.0.0-0-generic.img.old-dkms /boot/initramfs-4.0.0-0-generic.img.old-dkms /boot/initrd.img-4.0.0-0-generic.old-dkms /boot/initrd-4.0.0-0-generic.old-dkms 2) install 3 old kernels, r8168-dkms, and the current initramfs-tools * xenial: apt-get install -y linux-image-4.4.0-21-generic linux-image-4.4.0-22-generic linux-image-4.4.0-24-generic r8168-dkms initramfs-tools=0.122ubuntu8.12 * bionic: apt-get install -y linux-image-4.15.0-32-generic linux-image-4.15.0-33-generic linux-image-4.15.0-34-generic r8168-dkms initramfs-tools=0.130ubuntu3.3 3) install the headers for the old kernels (forces dkms to run) * xenial: apt-get install -y linux-headers-4.4.0-21-generic linux-headers-4.4.0-22-generic linux-headers-4.4.0-24-generic * bionic: apt-get install -y linux-headers-4.15.0-32-generic linux-headers-4.15.0-33-generic linux-headers-4.15.0-34-generic 4) verify that there are 7 old-dkms, the 4 manually created ones and one for each installed kernel ls -1 /boot/*.old-dkms 5) install the initramfs-tools from proposed that contains this fix apt-get install -y initramfs-tools 6) verify that the manually created old-dkms files were removed and that there are only 3 files now, one for each installed kernel ls /boot/*.old-dkms 7) mark kernel images and headers as automatically installed apt-mark auto linux-image-4*-generic linux-headers-4*-generic 8) autoremove the older kernel apt-get autoremove -y 9) verify that there are now only 2 old-dkms, one for each installed kernel ls -1 /boot/*.old-dkms These steps guarantees that: - orphaned old-dkms are correctly removed from /boot - non-orphaned old-dkms are kept - when kernel is removed the related old-dkms are also deleted [Regression Potential] Somebody out there might expect the .old-dkms file to be kept, but that seems like an odd expectation. One notices *.old-dkms files being left behind still sitting on the disk after purging the related kernel. This can cause /boot to become full, and when it gets really bad, even sudo apt-get autoremove won't fix the problem - only deleting the old-dkms files manually solves the problem. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/1791959/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp