initramfs problem when out of disk space
I just upgraded from 10.10 to 11.04. During the upgrade process, it said there was a problem setting up initramfs-tools and I needed to do sudo dpkg --configure -a
So once I got 11.04 started for the first time, I did that. This is the output.
Setting up initramfs-tools (0.98.8ubuntu3) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.38-8-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-2.6.38-8-generic
dpkg: error processing initramfs-tools (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
initramfs-tools
After searching around, it seemed like this was a problem of insufficient space in my /boot partition. It is only 100 MB and this has never been a problem before, but despite deleting all but the latest kernel I still get the same message.
100MB is sufficient for 2 kernels and a init ramdisk. You can view your current installed kernels by executing:
dpkg -l 'linux-image-*' | grep '^ii'
Example output:
ii linux-image-2.6.35-28-generic 2.6.35-28.50 Linux kernel image for version 2.6.35 on x86/x86_64
ii linux-image-2.6.38-8-generic 2.6.38-8.42 Linux kernel image for version 2.6.38 on x86/x86_64
ii linux-image-generic 2.6.38.8.22 Generic Linux kernel image
After confirming that the latest kernel works, you can remove the previous ones. In this case, there is only one redundant kernel:
sudo apt-get purge linux-image-2.6.35-28-generic
If this process does not complete because of previous installation triggers, try adding -f
(--fix-broken
) before purge
.
I'd suggest seeing what is taking up space in /boot/
:
find /boot/ -type f | xargs du | sort -n
Then, if you find large consumers of space, you can see which package they're from:
dpkg -S /boot/some-large-file
And if that package is no longer needed, you can remove it. However, be very careful to not remove stuff that you need - particularly the bootloader (grub), and the currently-running kernel.