[SOLVED] New kernel fails to install out of space error

I started to get out of space error a while back. As a result, the new kernels are failing to install, while the older kernels don’t seem to get removed?

Not sure what I did last time to make space, but I just got another kernel install failure, which half completed so I had to use the previous kernel to boot from.

How can I fix this and also reinstalled the failed kernel that’s now in limbo mode?

I have not really the time to engage in another case at the moment, but at a rough skim (you should provide more details, logs, outputs, etc.), I read that the issue occurs only with the kernel, which might indicate that the drive that is full is /boot ? Normally, that should not occur, unless the /boot partition has been created with (much) less space than the default, or if the kernel settings have been changed in the way that your system retains more than 3 kernels.

So, you might check if your /boot directory is full. If so, you have to either decrease the amount of kernels that are stored (default is 3; you can edit the number in the file /etc/dnf/dnf.conf in the variable installonly_limit=3), or increase the space of /boot → by default, this is ext4, and you will find resources available about how to increase the size of an ext4 partition. However, that might be not possible in all circumstances, though details about this should be evaluated in a more dedicated manner if this proves necessary.

All the best…

From the symptoms described, I wonder if this is the issue where kernels end up being written to /boot/efi rather than /boot?

I actually gave the boot partition more space when I did my install of Fedora 42 KDE.

Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p3 590G 132G 428G 24% /
/dev/nvme0n1p1 974M 830M 78M 92% /boot
/dev/nvme0n1p2 1022M 20M 1003M 2% /boot/efi

ls -l /boot

total 846344
-rw-r–r–. 1 root root 288331 Aug 14 20:00 config-6.15.10-200.fc42.x86_64
-rw-r–r–. 1 root root 288302 Aug 1 20:00 config-6.15.9-201.fc42.x86_64
-rw-r–r–. 1 root root 289918 Aug 22 20:00 config-6.16.3-200.fc42.x86_64
drwx------. 5 root root 4096 Dec 31 1969 efi
drwx------. 3 root root 4096 Aug 29 12:21 grub2
-rw-------. 1 root root 181026331 Aug 2 11:56 initramfs-0-rescue-f4cfdb78706343a79dc4ea7da1b068d6.img
-rw-------. 1 root root 238951439 Aug 23 00:27 initramfs-6.15.10-200.fc42.x86_64.img
-rw-------. 1 root root 101824796 Aug 2 16:07 initramfs-6.15.8-200.fc42.x86_64-nouveau-nova.img
-rw-------. 1 root root 238960091 Aug 6 20:36 initramfs-6.15.9-201.fc42.x86_64.img
drwxr-xr-x. 3 root root 4096 Aug 2 11:55 loader
drwx------. 2 root root 16384 Aug 2 11:52 lost+found
lrwxrwxrwx. 1 root root 47 Aug 23 00:25 symvers-6.15.10-200.fc42.x86_64.xz → /lib/modules/6.15.10-200.fc42.x86_64/symvers.xz
lrwxrwxrwx. 1 root root 46 Aug 6 20:34 symvers-6.15.9-201.fc42.x86_64.xz → /lib/modules/6.15.9-201.fc42.x86_64/symvers.xz
lrwxrwxrwx. 1 root root 46 Aug 29 12:08 symvers-6.16.3-200.fc42.x86_64.xz → /lib/modules/6.16.3-200.fc42.x86_64/symvers.xz
-rw-r–r–. 1 root root 11729391 Aug 14 20:00 System.map-6.15.10-200.fc42.x86_64
-rw-r–r–. 1 root root 11731379 Aug 1 20:00 System.map-6.15.9-201.fc42.x86_64
-rw-r–r–. 1 root root 11836355 Aug 22 20:00 System.map-6.16.3-200.fc42.x86_64
-rwxr-xr-x. 1 root root 16968040 Aug 2 11:56 vmlinuz-0-rescue-f4cfdb78706343a79dc4ea7da1b068d6
-rwxr-xr-x. 1 root root 17533288 Aug 14 20:00 vmlinuz-6.15.10-200.fc42.x86_64
-rwxr-xr-x. 1 root root 17521000 Aug 1 20:00 vmlinuz-6.15.9-201.fc42.x86_64
-rwxr-xr-x. 1 root root 17647976 Aug 22 20:00 vmlinuz-6.16.3-200.fc42.x86_64

$ sudo cat /etc/dnf/dnf.conf
see `man dnf.conf` for defaults and possible options

[main]

So I had to manually clear up space and then the new kernel was able to reinstall and complete.

To remove the old kernel, I use the following command, where ‘XXX’ is the oldest installed kernel version

sudo dnf remove kernel-core-XXX

After this just update the system.

There was also an old image taking up space, a file like this:

initramfs-YYY.fc42.x86_64.img

So I removed image also. I have no idea what happen on this fresh install for the kernel to fail, and not cleanup older ones?

This is a really big initramfs! (and 6.15.9 is similar).

Do you have any extra kernel modules apart from NVIDIA drivers?

On my system (with NVIDIA), the corresponding files are about 103 MiB, so less than half the size of yours.

Are you saying that my nvidia images themselves are larger than normal?

I did some clean up and now all I have is the following.
Currently my /boot partition is 70% full with the latest kernel installed successfully.

total 643924
drwx------. 5 root root 4096 Dec 31 1969 efi/
drwx------. 3 root root 4096 Aug 29 13:34 grub2/
drwxr-xr-x. 3 root root 4096 Aug 2 11:55 loader/
drwx------. 2 root root 16384 Aug 2 11:52 lost+found/
-rw-r–r–. 1 root root 288331 Aug 14 20:00 config-6.15.10-200.fc42.x86_64
-rw-r–r–. 1 root root 289918 Aug 22 20:00 config-6.16.3-200.fc42.x86_64
-rw-------. 1 root root 181026331 Aug 2 11:56 initramfs-0-rescue-f4cfdb78706343a79dc4ea7da1b068d6.img
-rw-------. 1 root root 238951439 Aug 23 00:27 initramfs-6.15.10-200.fc42.x86_64.img
-rw-------. 1 root root 163061735 Aug 29 13:35 initramfs-6.16.3-200.fc42.x86_64.img
lrwxrwxrwx. 1 root root 47 Aug 23 00:25 symvers-6.15.10-200.fc42.x86_64.xz/lib/modules/6.15.10-200.fc42.x86_64/symvers.xz
lrwxrwxrwx. 1 root root 46 Aug 29 13:35 symvers-6.16.3-200.fc42.x86_64.xz/lib/modules/6.16.3-200.fc42.x86_64/symvers.xz
-rw-r–r–. 1 root root 11729391 Aug 14 20:00 System.map-6.15.10-200.fc42.x86_64
-rw-r–r–. 1 root root 11836355 Aug 22 20:00 System.map-6.16.3-200.fc42.x86_64
-rwxr-xr-x. 1 root root 16968040 Aug 2 11:56 vmlinuz-0-rescue-f4cfdb78706343a79dc4ea7da1b068d6*
-rwxr-xr-x. 1 root root 17533288 Aug 14 20:00 vmlinuz-6.15.10-200.fc42.x86_64*
-rwxr-xr-x. 1 root root 17647976 Aug 22 20:00 vmlinuz-6.16.3-200.fc42.x86_64*

Yes -here’s mine for comparison (I use NVIDIA drivers too):

-rw-------. 1 root root 168M 2025-02-19 15:52 /boot/initramfs-0-rescue-71000000000000000000000.img
-rw-------. 1 root root 102M 2025-08-22 09:25 /boot/initramfs-6.15.10-200.fc42.x86_64.img
-rw-------. 1 root root  68M 2025-07-30 22:45 /boot/initramfs-6.15.8-200.fc42.x86_64.img
-rw-------. 1 root root 102M 2025-08-07 10:25 /boot/initramfs-6.15.9-201.fc42.x86_64.img
1 Like

For those with a NVidia driver installed like me, you will probably have to sign your kernel driver module. Steps:

Sign NVidia driver module

sudo kmodgenca -a
sudo mokutil --import /etc/pki/akmods/certs/public_key.der
sudo reboot

Enroll the key: Enter MOK → Continue → Yes → enter password 2x
reboot

The difference in file size between 6.15.8 and 6.15.9 is caused by the new dracut version. Many additional modules are now included in sloppy hostonly mode. You can compare outputs of lsinitrd -m for 6.15.8 and 6.15.9 or 10. You could configure dracut to use strict hostonly mode to reduce file size of the initramfs.

Kernel 6.16.x also adds the new NVIDIA firmware 570.* to the old 535.*. I suspect the old one will be removed again soon. This is a transitional phase.

Right, but what I’m curious about here is why initramfs is 102 MiB for me on 6.15.9 and 6.15.10, whereas it’s more than twice that size on @devguy’s system.

another system with different hw , e.g. AMD iGPU + NVIDIA dGPU + other additional modules or drivers + custom config.

Mine with Nvidia drivers and Virtualbox drivers:

$ ls -ahs1S /boot
total 631M
173M initramfs-0-rescue-8c74b5629d1d410d8e2992f04b773837.img
161M initramfs-6.16.3-200.fc42.x86_64.img
 99M initramfs-6.15.9-201.fc42.x86_64.img
 98M initramfs-6.15.10-200.fc42.x86_64.img
 17M vmlinuz-6.16.3-200.fc42.x86_64
 17M vmlinuz-6.15.10-200.fc42.x86_64
 17M vmlinuz-6.15.9-201.fc42.x86_64
 17M vmlinuz-0-rescue-8c74b5629d1d410d8e2992f04b773837
 12M System.map-6.16.3-200.fc42.x86_64
 12M System.map-6.15.9-201.fc42.x86_64
 12M System.map-6.15.10-200.fc42.x86_64
284K config-6.16.3-200.fc42.x86_64
284K config-6.15.10-200.fc42.x86_64
284K config-6.15.9-201.fc42.x86_64
 16K lost+found
4,0K .
4,0K efi
4,0K grub2
4,0K loader
   0 ..
4,0K .vmlinuz-6.15.10-200.fc42.x86_64.hmac
4,0K .vmlinuz-6.15.9-201.fc42.x86_64.hmac
4,0K .vmlinuz-6.16.3-200.fc42.x86_64.hmac
   0 symvers-6.15.10-200.fc42.x86_64.xz
   0 symvers-6.15.9-201.fc42.x86_64.xz
   0 symvers-6.16.3-200.fc42.x86_64.xz

Kernel 6.16.x also adds the new NVIDIA firmware 570.* to the old 535.*. I suspect the old one will be removed again soon. This is a transitional phase.

Is there some way I could try removing the old 535 firmware myself, without breaking things of course?