So I’ve been trying to update/upgrade my system/applications for the last few days and it has been erroring, I ignored it and now when I try to sudo apt upgrade
it tells me that I have “Low Disk Space on “boot” The volume “boot” has only 0 bytes disk space remaining.”
What happens when I run sudo apt upgrade
:
user@user:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up initramfs-tools (0.136ubuntu6.6) ...
update-initramfs: deferring update (trigger activated)
Setting up linux-firmware (1.187.25) ...
update-initramfs: Generating /boot/initrd.img-5.11.0-43-generic
I: The initramfs will attempt to resume from /dev/dm-2
I: (/dev/mapper/data-swap)
I: Set the RESUME variable to override this.
Error 24 : Write error : cannot write compressed block
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.11.0-43-generic with 1.
dpkg: error processing package linux-firmware (--configure):
installed linux-firmware package post-installation script subprocess returned error exit status 1
Setting up linux-image-5.11.0-44-generic (5.11.0-44.48~20.04.2) ...
I: /boot/initrd.img.old is now a symlink to initrd.img-5.11.0-44-generic
Setting up linux-image-5.11.0-46-generic (5.11.0-46.51~20.04.1) ...
I: /boot/initrd.img is now a symlink to initrd.img-5.11.0-46-generic
Processing triggers for initramfs-tools (0.136ubuntu6.6) ...
update-initramfs: Generating /boot/initrd.img-5.11.0-43-generic
I: The initramfs will attempt to resume from /dev/dm-2
I: (/dev/mapper/data-swap)
I: Set the RESUME variable to override this.
Error 24 : Write error : cannot write compressed block
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.11.0-43-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
installed initramfs-tools package post-installation script subprocess returned error exit status 1
Processing triggers for linux-image-5.11.0-44-generic (5.11.0-44.48~20.04.2) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.11.0-44-generic
I: The initramfs will attempt to resume from /dev/dm-2
I: (/dev/mapper/data-swap)
I: Set the RESUME variable to override this.
Error 24 : Write error : cannot write compressed block
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.11.0-44-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-5.11.0-44-generic (--configure):
installed linux-image-5.11.0-44-generic package post-installation script subprocess returned error exit status 1
Processing triggers for linux-image-5.11.0-46-generic (5.11.0-46.51~20.04.1) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.11.0-46-generic
I: The initramfs will attempt to resume from /dev/dm-2
I: (/dev/mapper/data-swap)
I: Set the RESUME variable to override this.
Error 24 : Write error : cannot write compressed block
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.11.0-46-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-5.11.0-46-generic (--configure):
installed linux-image-5.11.0-46-generic package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
linux-firmware
initramfs-tools
linux-image-5.11.0-44-generic
linux-image-5.11.0-46-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Screenshot of /boot:
I am running elementary OS 6.1 Jólnir, built on Ubuntu 20.04.3 LTS using the Linux kernel 5.11.0-43-generic.
Linux device 5.11.0-43-generic #47~20.04.2-Ubuntu SMP Mon Dec 13 11:06:56 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
This means you run version
5.11.0-43-generic
Try removing
linux-image-5.11.0-40-generic
, which is the oldest version in your screenshotsudo apt remove linux-image-5.11.0-40-generic
I don’t use a debian based distro now, so you should probably wait until someone else says doing this is safe
Okay, but once I removed what do I do? Because otherwise I will have an OS without its kernel, which is not nice.
That’s not what will happen. Note the version number in my reply. Ubuntu based distros won’t remove old kernels after updating to newer kernels. This is probably what’s taking space in your /boot partition.
In the screenshot you posted, there are 5 kernels:
But there are only three initramfs images:
It is likely that your boot partition doesn’t have enough space to store the initramfs image for booting kernels 5.11.0-44 and 5.11.0-46. To make enough space, you can remove the old kernels. According to your
uname -a
output, you are currently running kernel 5.11.0-43. And I assume you have no problem with the current kernel. If that is the case, there is no need for kernel 5.11.0-40 and 5.11.0-41.So, you can remove the two kernels. Old kernels are probably not removed by default so that you can boot to the previous kernel if the latest kernel has issues. After doing so, reboot to ensure nothing has gone wrong. Now, try
sudo apt upgrade
again, which should hopefully install the latest kernel and generate its initrd file. Reboot to the newly installed kernel and trysudo apt autoremove
to remove any remaining pacakges as @kromonos@fapsi.be suggestedOkay, I ran
sudo apt remove linux-image-5.11.0-40
and then it started doing some stuff, from what I remember reading it did something like trying to uninstall kernel 40 but also wanting to reinstall it as soon as it did that, and complain about dependencies. Now my PC is bricked, I try to boot it and it doesn’t let me decrypt my machine so it stays in boot menu frozen even though it gives me two choices. Before that I can choose advanced settings from where I can choose which kernel to run my machine, but it just gives me this error:You didn’t make the new initrd so its trying to look for a kernel that isn’t there. Boot to a lived and unlock the disk with cryptsetup and mount, then chroot into your install and rerun update-initramfs and clear out your old kernels in /boot. If that doesn’t work, backup all your files and reinstall unless you wanna continue down this rabbit hole of recovering a broke install.
You won’t like hearing this but breaking your install is just another step in learning what not to do when running a linux system. Its how I learned and how everyone I know learned. Break it and fix it, if it isn’t broke then break it and fix it anyway.
Could you tell me how to chroot? I think I can manage to do the rest by myself. uwu
https://help.ubuntu.com/community/LiveCdRecovery
Rule of thumb is to read the docs first, ask questions last.
Okay, I managed to chroot, now I don’t understand the part where I reinstall initramfs and clear the old kernels in /boot. Am I supossed to run
sudo apt update initramfs
and then delete all the kernel files in /boot that are previous to thelinux-image-5.11.0-43
which is the one I’m using?I dont have a backup of my passwords so now im on another pc with another lemmy ccount