2018-09-11 14:34:37 |
Tiago Stürmer Daitx |
bug |
|
|
added bug |
2018-09-11 14:42:28 |
Tiago Stürmer Daitx |
description |
[Impact]
If a dkms package is installed which has REMAKE_INITRD or the same setting has be 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 initrd.img-<version>.old-dkms 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.
Note: Filling up the /boot partition causes updates to fail.
[Test Case]
As the fix for bug 1515513 is available on Xenial it is no longer possible to reproduce this by simply installing and updating kernels (dkms 2.2.0.3-2ubuntu11.3 would be required for that). In order to replicate it an old dkms file will be created by hand.
This assumes a new Xenial schroot.
1) create a file to work as a placeholder for the initrd.img old dkms file
sudo touch /boot/initrd.img-4.0.0-0-generic.old-dkms
2) install 3 old kernels, r8168-dkms, and the current initramfs-tools
sudo 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
3) install the headers for the old kernels (forces dkms to run)
sudo 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
4) verify that there are 4 old-dkms
ls /boot/*.old-dkms
5) install the proposed initramfs-tools with this fix
sudo apt-get install -y initramfs-tools
6) verify that the manually created old-dkms file was removed (only 3 files now)
ls /boot/*.old-dkms
7) autoremove the older kernel
sudo apt-get autoremove -y
8) verify that there are now only 2 old-dkms
ls /boot/*.old-dkms
[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. |
[Impact]
If a dkms package is installed which has REMAKE_INITRD or the same setting has be 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 initrd.img-<version>.old-dkms 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.
Note: Filling up the /boot partition causes updates to fail.
[Test Case]
As the fix for bug 1515513 is available on Xenial it is no longer possible to reproduce this by simply installing and updating kernels (dkms 2.2.0.3-2ubuntu11.3 would be required for that). In order to replicate it an old dkms file will be created by hand.
This assumes a new Xenial schroot.
1) create a file to work as a placeholder for the initrd.img old dkms file
sudo touch /boot/initrd.img-4.0.0-0-generic.old-dkms
2) install 3 old kernels, r8168-dkms, and the current initramfs-tools
sudo 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
3) install the headers for the old kernels (forces dkms to run)
sudo 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
4) verify that there are 4 old-dkms, the manually created and one for each installed kernel
ls /boot/*.old-dkms
5) install the initramfs-tools that contains this fix
sudo apt-get install -y initramfs-tools
6) verify that the manually created old-dkms file was removed and that there are only 3 files now, one for each installed kernel
ls /boot/*.old-dkms
7) autoremove the older kernel
sudo apt-get autoremove -y
8) verify that there are now only 2 old-dkms, one for each installed kernel
ls /boot/*.old-dkms
[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. |
|
2018-09-11 14:45:46 |
Tiago Stürmer Daitx |
tags |
|
xenial |
|
2018-09-11 14:46:03 |
Tiago Stürmer Daitx |
tags |
xenial |
patch xenial |
|
2018-09-11 14:46:16 |
Tiago Stürmer Daitx |
attachment added |
|
initramfs-tools_0.122ubuntu8.12_debdiff_0.122ubuntu8.13.patch https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/1791959/+attachment/5187601/+files/initramfs-tools_0.122ubuntu8.12_debdiff_0.122ubuntu8.13.patch |
|
2018-09-11 14:48:07 |
Tiago Stürmer Daitx |
bug |
|
|
added subscriber Ubuntu Sponsors Team |
2018-09-11 14:54:48 |
Tiago Stürmer Daitx |
nominated for series |
|
Ubuntu Xenial |
|
2018-09-11 14:55:07 |
Tiago Stürmer Daitx |
dkms (Ubuntu): importance |
Undecided |
Medium |
|
2018-09-11 14:55:20 |
Tiago Stürmer Daitx |
dkms (Ubuntu): status |
New |
Confirmed |
|
2018-09-11 14:56:07 |
Tiago Stürmer Daitx |
bug task added |
|
initramfs-tools (Ubuntu) |
|
2018-09-11 14:56:14 |
Tiago Stürmer Daitx |
initramfs-tools (Ubuntu): status |
New |
Confirmed |
|
2018-09-11 14:56:17 |
Tiago Stürmer Daitx |
initramfs-tools (Ubuntu): importance |
Undecided |
Medium |
|
2018-09-11 14:56:36 |
Brian Murray |
description |
[Impact]
If a dkms package is installed which has REMAKE_INITRD or the same setting has be 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 initrd.img-<version>.old-dkms 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.
Note: Filling up the /boot partition causes updates to fail.
[Test Case]
As the fix for bug 1515513 is available on Xenial it is no longer possible to reproduce this by simply installing and updating kernels (dkms 2.2.0.3-2ubuntu11.3 would be required for that). In order to replicate it an old dkms file will be created by hand.
This assumes a new Xenial schroot.
1) create a file to work as a placeholder for the initrd.img old dkms file
sudo touch /boot/initrd.img-4.0.0-0-generic.old-dkms
2) install 3 old kernels, r8168-dkms, and the current initramfs-tools
sudo 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
3) install the headers for the old kernels (forces dkms to run)
sudo 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
4) verify that there are 4 old-dkms, the manually created and one for each installed kernel
ls /boot/*.old-dkms
5) install the initramfs-tools that contains this fix
sudo apt-get install -y initramfs-tools
6) verify that the manually created old-dkms file was removed and that there are only 3 files now, one for each installed kernel
ls /boot/*.old-dkms
7) autoremove the older kernel
sudo apt-get autoremove -y
8) verify that there are now only 2 old-dkms, one for each installed kernel
ls /boot/*.old-dkms
[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. |
[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 initrd.img-<version>.old-dkms 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.
Note: Filling up the /boot partition causes updates to fail.
[Test Case]
As the fix for bug 1515513 is available on Xenial it is no longer possible to reproduce this by simply installing and updating kernels (dkms 2.2.0.3-2ubuntu11.3 would be required for that). In order to replicate it an old dkms file will be created by hand.
This assumes a new Xenial schroot.
1) create a file to work as a placeholder for the initrd.img old dkms file
sudo touch /boot/initrd.img-4.0.0-0-generic.old-dkms
2) install 3 old kernels, r8168-dkms, and the current initramfs-tools
sudo 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
3) install the headers for the old kernels (forces dkms to run)
sudo 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
4) verify that there are 4 old-dkms, the manually created and one for each installed kernel
ls /boot/*.old-dkms
5) install the initramfs-tools that contains this fix
sudo apt-get install -y initramfs-tools
6) verify that the manually created old-dkms file was removed and that there are only 3 files now, one for each installed kernel
ls /boot/*.old-dkms
7) autoremove the older kernel
sudo apt-get autoremove -y
8) verify that there are now only 2 old-dkms, one for each installed kernel
ls /boot/*.old-dkms
[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. |
|
2018-09-11 14:58:05 |
Tiago Stürmer Daitx |
dkms (Ubuntu): status |
Confirmed |
Invalid |
|
2018-09-11 15:12:46 |
Brian Murray |
bug task added |
|
initramfs-tools (Ubuntu Xenial) |
|
2018-09-11 15:12:46 |
Brian Murray |
bug task added |
|
dkms (Ubuntu Xenial) |
|
2018-09-11 15:13:02 |
Brian Murray |
nominated for series |
|
Ubuntu Bionic |
|
2018-09-11 15:13:02 |
Brian Murray |
bug task added |
|
initramfs-tools (Ubuntu Bionic) |
|
2018-09-11 15:13:02 |
Brian Murray |
bug task added |
|
dkms (Ubuntu Bionic) |
|
2018-09-11 21:37:06 |
Tiago Stürmer Daitx |
dkms (Ubuntu Xenial): status |
New |
Invalid |
|
2018-09-11 21:37:13 |
Tiago Stürmer Daitx |
dkms (Ubuntu Bionic): status |
New |
Invalid |
|
2018-09-11 21:42:47 |
Tiago Stürmer Daitx |
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 initrd.img-<version>.old-dkms 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.
Note: Filling up the /boot partition causes updates to fail.
[Test Case]
As the fix for bug 1515513 is available on Xenial it is no longer possible to reproduce this by simply installing and updating kernels (dkms 2.2.0.3-2ubuntu11.3 would be required for that). In order to replicate it an old dkms file will be created by hand.
This assumes a new Xenial schroot.
1) create a file to work as a placeholder for the initrd.img old dkms file
sudo touch /boot/initrd.img-4.0.0-0-generic.old-dkms
2) install 3 old kernels, r8168-dkms, and the current initramfs-tools
sudo 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
3) install the headers for the old kernels (forces dkms to run)
sudo 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
4) verify that there are 4 old-dkms, the manually created and one for each installed kernel
ls /boot/*.old-dkms
5) install the initramfs-tools that contains this fix
sudo apt-get install -y initramfs-tools
6) verify that the manually created old-dkms file was removed and that there are only 3 files now, one for each installed kernel
ls /boot/*.old-dkms
7) autoremove the older kernel
sudo apt-get autoremove -y
8) verify that there are now only 2 old-dkms, one for each installed kernel
ls /boot/*.old-dkms
[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. |
[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 initrd.img-<version>.old-dkms 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.
Note: Filling up the /boot partition causes updates 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 a file to work as a placeholder for the initrd.img old dkms file
sudo touch /boot/initrd.img-4.0.0-0-generic.old-dkms
2) install 3 old kernels, r8168-dkms, and the current initramfs-tools
* xenial:
sudo 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:
TBD
3) install the headers for the old kernels (forces dkms to run)
* xenial:
sudo 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:
TBD
4) verify that there are 4 old-dkms, the manually created and one for each installed kernel
ls /boot/*.old-dkms
5) install the initramfs-tools that contains this fix
sudo apt-get install -y initramfs-tools
6) verify that the manually created old-dkms file was removed and that there are only 3 files now, one for each installed kernel
ls /boot/*.old-dkms
7) autoremove the older kernel
sudo apt-get autoremove -y
8) verify that there are now only 2 old-dkms, one for each installed kernel
ls /boot/*.old-dkms
[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. |
|
2018-09-11 21:42:48 |
Tiago Stürmer Daitx |
removed subscriber Ubuntu Sponsors Team |
|
|
|
2018-09-12 11:46:50 |
Tiago Stürmer Daitx |
summary |
remove /boot/initrd.img-*.old-dkms files left behind |
[SRU] remove orphaned initrd old-dkms files in /boot |
|
2018-09-12 11:50:21 |
Tiago Stürmer Daitx |
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 initrd.img-<version>.old-dkms 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.
Note: Filling up the /boot partition causes updates 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 a file to work as a placeholder for the initrd.img old dkms file
sudo touch /boot/initrd.img-4.0.0-0-generic.old-dkms
2) install 3 old kernels, r8168-dkms, and the current initramfs-tools
* xenial:
sudo 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:
TBD
3) install the headers for the old kernels (forces dkms to run)
* xenial:
sudo 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:
TBD
4) verify that there are 4 old-dkms, the manually created and one for each installed kernel
ls /boot/*.old-dkms
5) install the initramfs-tools that contains this fix
sudo apt-get install -y initramfs-tools
6) verify that the manually created old-dkms file was removed and that there are only 3 files now, one for each installed kernel
ls /boot/*.old-dkms
7) autoremove the older kernel
sudo apt-get autoremove -y
8) verify that there are now only 2 old-dkms, one for each installed kernel
ls /boot/*.old-dkms
[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. |
[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/Cosmic schroot.
1) create files to work as a placeholders for old dkms files (there are 4 possible namings for these files)
sudo 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:
sudo 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:
TBD
* cosmic:
TBD
3) install the headers for the old kernels (forces dkms to run)
* xenial:
sudo 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:
TBD
* cosmic:
TBD
4) verify that there are 7 old-dkms, the 4 manually created ones and one for each installed kernel
ls /boot/*.old-dkms
5) install the initramfs-tools that contains this fix
sudo 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) autoremove the older kernel
sudo apt-get autoremove -y
8) verify that there are now only 2 old-dkms, one for each installed kernel
ls /boot/*.old-dkms
[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. |
|
2018-09-12 11:51:10 |
Tiago Stürmer Daitx |
attachment removed |
initramfs-tools_0.122ubuntu8.12_debdiff_0.122ubuntu8.13.patch https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/1791959/+attachment/5187601/+files/initramfs-tools_0.122ubuntu8.12_debdiff_0.122ubuntu8.13.patch |
|
|
2018-09-12 13:31:03 |
Tiago Stürmer Daitx |
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/Cosmic schroot.
1) create files to work as a placeholders for old dkms files (there are 4 possible namings for these files)
sudo 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:
sudo 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:
TBD
* cosmic:
TBD
3) install the headers for the old kernels (forces dkms to run)
* xenial:
sudo 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:
TBD
* cosmic:
TBD
4) verify that there are 7 old-dkms, the 4 manually created ones and one for each installed kernel
ls /boot/*.old-dkms
5) install the initramfs-tools that contains this fix
sudo 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) autoremove the older kernel
sudo apt-get autoremove -y
8) verify that there are now only 2 old-dkms, one for each installed kernel
ls /boot/*.old-dkms
[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. |
[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. |
|
2018-09-12 13:31:49 |
Tiago Stürmer Daitx |
attachment added |
|
initramfs-tools_0.122ubuntu8.12_debdiff_0.122ubuntu8.13.patch https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/1791959/+attachment/5187982/+files/initramfs-tools_0.122ubuntu8.12_debdiff_0.122ubuntu8.13.patch |
|
2018-09-12 13:32:50 |
Tiago Stürmer Daitx |
attachment added |
|
initramfs-tools_0.130ubuntu3.3_debdiff_0.130ubuntu3.4.patch https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/1791959/+attachment/5187983/+files/initramfs-tools_0.130ubuntu3.3_debdiff_0.130ubuntu3.4.patch |
|
2018-09-12 13:34:31 |
Tiago Stürmer Daitx |
bug |
|
|
added subscriber Ubuntu Sponsors Team |
2018-09-12 13:34:50 |
Tiago Stürmer Daitx |
tags |
patch xenial |
bionic patch xenial |
|
2018-09-12 13:39:20 |
Tiago Stürmer Daitx |
attachment added |
|
initramfs-tools_0.131ubuntu10_debdiff_0.131ubuntu11.patch https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/1791959/+attachment/5187984/+files/initramfs-tools_0.131ubuntu10_debdiff_0.131ubuntu11.patch |
|
2018-09-17 16:22:12 |
Launchpad Janitor |
initramfs-tools (Ubuntu): status |
Confirmed |
Fix Released |
|
2018-09-18 09:38:22 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~tdaitx/ubuntu/+source/initramfs-tools/+git/initramfs-tools/+merge/355188 |
|
2018-09-18 09:40:28 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~tdaitx/ubuntu/+source/initramfs-tools/+git/initramfs-tools/+merge/355189 |
|
2018-09-18 09:41:56 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~tdaitx/ubuntu/+source/initramfs-tools/+git/initramfs-tools/+merge/355190 |
|
2018-09-18 09:47:19 |
Tiago Stürmer Daitx |
bug task deleted |
dkms (Ubuntu) |
|
|
2018-09-18 09:47:25 |
Tiago Stürmer Daitx |
bug task deleted |
dkms (Ubuntu Xenial) |
|
|
2018-09-18 09:47:31 |
Tiago Stürmer Daitx |
bug task deleted |
dkms (Ubuntu Bionic) |
|
|
2018-09-18 10:23:02 |
Tiago Stürmer Daitx |
merge proposal unlinked |
https://code.launchpad.net/~tdaitx/ubuntu/+source/initramfs-tools/+git/initramfs-tools/+merge/355188 |
|
|
2018-09-26 15:48:56 |
Chris J Arges |
initramfs-tools (Ubuntu Bionic): status |
New |
Fix Committed |
|
2018-09-26 15:48:58 |
Chris J Arges |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2018-09-26 15:49:00 |
Chris J Arges |
bug |
|
|
added subscriber SRU Verification |
2018-09-26 15:49:03 |
Chris J Arges |
tags |
bionic patch xenial |
bionic patch verification-needed verification-needed-bionic xenial |
|
2018-09-26 15:49:24 |
Chris J Arges |
removed subscriber Ubuntu Sponsors Team |
|
|
|
2018-09-26 15:50:09 |
Chris J Arges |
initramfs-tools (Ubuntu Xenial): status |
New |
Fix Committed |
|
2018-09-26 15:50:13 |
Chris J Arges |
tags |
bionic patch verification-needed verification-needed-bionic xenial |
bionic patch verification-needed verification-needed-bionic verification-needed-xenial xenial |
|
2018-09-27 16:18:02 |
Tiago Stürmer Daitx |
tags |
bionic patch verification-needed verification-needed-bionic verification-needed-xenial xenial |
bionic patch verification-done-xenial verification-needed verification-needed-bionic xenial |
|
2018-09-27 16:19:39 |
Tiago Stürmer Daitx |
tags |
bionic patch verification-done-xenial verification-needed verification-needed-bionic xenial |
bionic patch verification-done-xenial verification-failed-bionic xenial |
|
2018-09-27 16:32:24 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~tdaitx/ubuntu/+source/initramfs-tools/+git/initramfs-tools/+merge/355789 |
|
2018-09-27 18:51:45 |
Łukasz Zemczak |
tags |
bionic patch verification-done-xenial verification-failed-bionic xenial |
bionic patch verification-done-xenial verification-needed verification-needed-bionic xenial |
|
2018-09-27 19:54:26 |
Tiago Stürmer Daitx |
tags |
bionic patch verification-done-xenial verification-needed verification-needed-bionic xenial |
bionic patch verification-done-bionic verification-done-xenial xenial |
|
2018-10-04 07:40:32 |
Launchpad Janitor |
initramfs-tools (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2018-10-04 07:40:40 |
Łukasz Zemczak |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2018-10-04 07:52:00 |
Launchpad Janitor |
initramfs-tools (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|