• SupportSolved
  • Failed to install initrd [...] No space left on device

sebastian-brandt

I have 2 machines running Solus, 1 updated with no problem, the other had this exact problem.

Upgraded lsof
[✓] Syncing filesystems success
[✓] Updating dynamic library cache success
[✗] Updating clr-boot-manager failed


[FATAL] cbm (../src/bootman/kernel.c:L668): Failed to install initrd /boot/initrd-com.solus-project.current.5.10.9-169: No space left on device
[FATAL] cbm (../src/bootman/update.c:L250): Failed to install default-current kernel: ///usr/lib/kernel/com.solus-project.current.5.10.9-169


 [✓] Running depmod on kernel 5.10.9-169.current                        success
 [✓] Running depmod on kernel 4.14.216-165.lts                          success
 [✓] Updating mimetype database                                         success
 [✓] Updating icon theme cache: korla-pgrey                             success
 [✓] Updating icon theme cache: Papirus-Dark                            success
 [✓] Updating icon theme cache: korla                                   success
 [✓] Updating icon theme cache: Papirus-Light                           success
 [✓] Updating icon theme cache: korla-light-panel                       success
 [✓] Updating icon theme cache: Papirus                                 success
 [✓] Updating icon theme cache: korla-light                             success
 [✓] Updating desktop database                                          success
 [✓] Updating manpages database                                         success

I'm wondering what DE are you using and also are you using LVM?

    sebastian-brandt

    also worth mentioning that both machines were set up with a current kernel/older current and an
    LTS kernel/older LTS and neither machine is EFI.

    ryzee DE is Budgie and I use LVM because of LUKS. I also have the current and lts kernel installed in case I run into issues with new current kernel revisions.

    My boot partition is 280 MB. I suppose that was the default at the time of the installation 1.5 years ago because I don't remember tinkering with the size when I installed.

    Solus seems to keep the last 3 kernels in /boot. Maybe with kernels getting larger this does not work anymore with my 280 MB boot partition?

      sebastian-brandt

      I think you may be right. The machine that I received this error on runs MATE but more to the point
      it has an LVM set up with with a boot partition the same size as yours (like yours I believe it to be
      the default from some time ago).

        sebastian-brandt
        I did successfully update to the newest kernel, yes. However I made the mistake of using Software Center
        to remove the LTS kernel (step 1) I think that has led to my current weird issue. I did a pretty quick history rollback
        to the previous update (step 2) and updated to the newest kernel. Then I had the newest kernel, the previous current and an LTS was showing in the clr-boot-manager list-kernels command even though my attempts at deleting it
        show 'file not found' messages. I then tried running clr-boot-manager update and recieved:

        [ERROR] cbm (../src/bootman/update.c:L238): Could not find default kernel for type lts, using highest relno
        Generating grub configuration file ...
        done

        which caused the backup current kernel to disappear so now I have the newest current kernel and
        the option of choosing a fictitious LTS kernel.

        So my laptop works great on the newest current kernel but I have no alternative kernel to boot to
        at the moment and a confused clr-boot-manager. Perhaps there's a way to communicate to clr-boot-manager
        that I no longer want the LTS kernels? Maybe a brute force removal in the boot directory? I don't know.
        I will (carefully) be exploring these options and others soon.
        I guess I'm saying that there is a right way to do it and I have made a mistake (although not a fatal one),
        so be careful! and please post what you decide to do...

          ryzee I feel like I should clarify a little bit -- my original plan was to just simply not use
          and delete the LTS kernels completely, which is why I was surprised to see one persisting after
          the successful update to the newest kernel.

          sebastian-brandt one more thing!! (sorry, obviously the coffee hasn't kicked in yet),
          steps 1 and 2 in previous post are backwards.

          ryzee I ended up just deleting the oldest version of the file pairs com.solus-project.lts/initrd-com.solus-project.lts and com.solus-project.current/initrd-com.solus-project.current in /boot.

          Then clr-boot-manager update and reboot. That did the job.

          cd /boot
          sudo rm com.solus-project.lts.4.9.205-147 initrd-com.solus-project.lts.4.9.205-147 com.solus-project.current.5.10.5-167 initrd-com.solus-project.current.5.10.5-167
          sudo clr-boot-manager update

          Note to other readers: above are the file versions for my system at this moment. Do not copy&execute on your system!

            sebastian-brandt So much thanks 😀 it worked for me. I had the same problem over the last update and noticed it wen finishing it. And as you said in your note I looked on my system, in my case was:
            sudo rm com.solus-project.lts.4.14.201-162 com.solus-project.lts.4.14.215-164 com.solus-project.current.5.10.5-167 com.solus-project.current.5.10.7-168
            I just let the newest one on lts and current just in case, update clr-boot-manager and done, no problems

            4 years later

            Its 09. Nov. .2024 and I had the same issue. After an huge update there was the same message about "insufficient" disk space on EFI partition. So I moved all LTS kernel files and some older kernel version and hey, clr-boot-manager update is doing his job. So I have to say Thanks

            Edit:
            In my case the /boot folder was empty. I has to mount the EFI partition manually. From there I moved all unused kernel files (moved, not deleted, for safety)...

              tresjam In my case the /boot folder was empty. I has to mount the EFI partition manually.

              Yes, /boot is not mounted by default. You can do so with sudo clr-manager mount-boot

                Staudey Is there a reason for holding all these "old" Kernel versions? Is there an automatism for "cleaning" old versions, or could it hold the last 3 versions....

                  tresjam I think it's only supposed to keep the current versions (plus the backup entry for the old version after an upgrade, until the new one has been successfully booted a couple of times), but for some reason that sometimes bugs out.

                  3 months later

                  I had the same problem with the latest update. I just get a black screen.. Managed to enter command line and found there were 9 different kernels and I removed them (I think), as now I only get one on the list for sudo clr-boot-manager list-kernels. But it's not helping. Still 'no space left on device"

                  "installing extra initrd: /usr/lib64/kernel/initrd-com.solus-project.current.6.12.9-312nvidia
                  ... failed to instal extra initrds /usr/lib64/kernel/initrd-com.solus-project.current.6.12.9-312nvidia: No space left on device"

                  How do I make more space for the initrd (whatever that is..)? Any ideas?