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.

  • libinator
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    3 years ago

    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 screenshot

    • libinator
      link
      fedilink
      arrow-up
      2
      ·
      3 years ago

      sudo 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

    • ghost_laptopOP
      link
      fedilink
      arrow-up
      1
      arrow-down
      2
      ·
      3 years ago

      Okay, but once I removed what do I do? Because otherwise I will have an OS without its kernel, which is not nice.

      • libinator
        link
        fedilink
        arrow-up
        3
        ·
        3 years ago

        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:

        • vmlinuz-5.11.0-40-generic
        • vmlinuz-5.11.0-41-generic
        • vmlinuz-5.11.0-43-generic
        • vmlinuz-5.11.0-44-generic
        • vmlinuz-5.11.0-46-generic

        But there are only three initramfs images:

        • initrd.img-5.11.0-40-generic
        • initrd.img-5.11.0-41-generic
        • initrd.img-5.11.0-43-generic

        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 try sudo apt autoremove to remove any remaining pacakges as @kromonos@fapsi.be suggested

        • asdflkjasdf
          link
          fedilink
          arrow-up
          2
          ·
          3 years ago

          Okay, 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:

          • krolden
            link
            fedilink
            arrow-up
            1
            ·
            3 years ago

            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.

            • asdflkjasdf
              link
              fedilink
              arrow-up
              1
              ·
              3 years ago

              Could you tell me how to chroot? I think I can manage to do the rest by myself. uwu

                • asdflkjasdf
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  3 years ago

                  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 the linux-image-5.11.0-43 which is the one I’m using?

                  • libinator
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    3 years ago

                    sudo update-initramfs

                    Don’t delete any kernels (vmlinuz-*) or initrd images (initrd.img-*), just to ensure nothing bad happens again. And, after updating the initramfs, run sudo update-grub. If you can boot into a livecd, could you post a screenshot of everything in /boot like you did in the original post?

        • asdflkjasdf
          link
          fedilink
          arrow-up
          1
          ·
          3 years ago

          I dont have a backup of my passwords so now im on another pc with another lemmy ccount