`/boot` needs extra space when updating the system

Hi, I got an issue of my disk requirements needing of extra space on /boot. I tried to change my /etc/dnf/dnf.conf config toinstallonly_limit=2. Still this error persists. Any solution from this community? Thanks!

Can you post sudo ls -lhR /boot

1 Like

Hello! Fortunately, I found a FIX thru this link: /boot nearly full - how to free space?

It turns that I kept using the old kernel (3rd option on my boot up bc I don’t want to stay into newest kernels bc I thought it might be a system/resource hunger, lol), I have already three kernels installed on my /boot so I did configure my installonly_limit=2 to 2 only and use the 2nd newer kernel during boot up and do sudo dnf remove --oldinstallonly this deletes the 6.5.6... older kernel to make space for the newer one.

1 Like

Normally there is space for a lot more the 3 kernels.
Unless your /boot is unusually small you have unused files that need cleaning up.
What is the output of

df -h /boot
find /boot -ls

Here, @barryascott

$ df -h /booot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb2       974M  898M  9.1M 100% /boot

I suppose to extend the volume of my /boot using gparted but I can’t extend it using an unallocated drive from other ext4 drive.

$ find /boot -ls
       11     16 drwx------   2 root          root              16384 Jan 24 22:33 /boot/lost+found
find: ‘/boot/lost+found’: Permission denied
       39      4 -rw-r--r--   1 root          root                160 Jan 31 08:00 /boot/.vmlinuz-6.7.3-200.fc39.x86_64.hmac
       29      0 lrwxrwxrwx   1 root          root                 45 Feb 11 12:36 /boot/symvers-6.7.4-200.fc39.x86_64.xz -> /lib/modules/6.7.4-200.fc39.x86_64/symvers.xz
       27 113380 -rw-------   1 root          root          116100082 Jan 24 22:39 /boot/initramfs-0-rescue-ea0e5bb187bf4c60b958dd43a8a95cb6.img
       42      0 lrwxrwxrwx   1 root          root                 45 Feb  7 19:34 /boot/symvers-6.7.3-200.fc39.x86_64.xz -> /lib/modules/6.7.3-200.fc39.x86_64/symvers.xz
       17    264 -rw-r--r--   1 root          root             269327 Feb  5 08:00 /boot/config-6.7.4-200.fc39.x86_64
        1      4 drwx------   4 root          root               4096 Jan  1  1970 /boot/efi
find: ‘/boot/efi’: Permission denied
       16   8644 -rw-r--r--   1 root          root            8850577 Feb  5 08:00 /boot/System.map-6.7.4-200.fc39.x86_64
     8193      4 drwx------   3 root          root               4096 Feb 11 12:40 /boot/grub2
find: ‘/boot/grub2’: Permission denied
       18      4 -rw-r--r--   1 root          root                160 Feb  5 08:00 /boot/.vmlinuz-6.7.4-200.fc39.x86_64.hmac

This command output exceed the limit characters, so I only pasting the related output about kernel version

A more informative output for our purposes would be to do this slightly different.

sudo ls -lhR /boot so it shows the entire content of /boot in a tree like format with all the subdirectories.

Having a 1G /boot with more than 90% used is very unusual and seeing what is there and the sizes would be helpful.

If necessary that listing could be posted as two or more segments so we can see the entire listing. What you posted is not adequate to see everything.

From Proposed Common Issues to Ask Fedora

Here @computersavvy

I think my /boot was loaded with my /opt applications? in which shouldn’t be?


/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build:
total 8.0K
drwxr-xr-x. 2 ginoongflores ginoongflores 4.0K Jan  9 17:19 bin
drwxr-xr-x. 2 ginoongflores ginoongflores 4.0K Jan  9 17:19 src

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/bin:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/proto:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/src:
total 4.0K
drwxr-xr-x. 4 ginoongflores ginoongflores 4.0K Feb  9 11:10 generated

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/src/generated:
total 8.0K
drwxr-xr-x. 3 ginoongflores ginoongflores 4.0K Feb  9 11:10 google
drwxr-xr-x. 3 ginoongflores ginoongflores 4.0K Feb  9 11:10 grpc

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/src/generated/google:
total 4.0K
drwxr-xr-x. 2 ginoongflores ginoongflores 4.0K Jan  9 17:19 protobuf

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/src/generated/google/protobuf:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/src/generated/grpc:
total 4.0K
drwxr-xr-x. 3 ginoongflores ginoongflores 4.0K Feb  9 11:10 channelz

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/src/generated/grpc/channelz:
total 4.0K
drwxr-xr-x. 2 ginoongflores ginoongflores 4.0K Jan  9 17:19 v1

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/handlebars:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/har-schema:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/har-validator:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/has:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/has-bigints:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/has-binary2:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/has-cors:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/hasown:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/has-property-descriptors:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/has-proto:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/has-symbols:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/has-tostringtag:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/heap-js:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/help-me:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/http-cache-semantics:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/httpntlm:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/http-proxy:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/http-reasons:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/httpreq:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/http-signature:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/https-proxy-agent:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@humanwhocodes:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/i18next:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/iconv-lite:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/ieee754:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/immediate:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/imurmurhash:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/indexof:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/inflight:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/inherits:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/ini:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/internal-slot:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/interpret:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/isarray:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-array-buffer:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-arrayish:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-bigint:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-boolean-object:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-buffer:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-callable:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-core-module:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-date-object:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/isexe:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-fullwidth-code-point:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-negative-zero:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-number-object:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-regex:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-shared-array-buffer:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-stream:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/isstream:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-string:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-symbol:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@istanbuljs:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-typed-array:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-typedarray:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/is-weakref:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/iterall:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@jest:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/jose:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/@jridgewell:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/jsbn:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/js-md4:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/js-message:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/json-buffer:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/json-schema:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/json-schema-traverse:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/json-stringify-safe:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/jsprim:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/js-queue:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/js-sdsl:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/js-sha512:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/jszip:
total 0

/boot/timeshift/snapshots/2024-02-09_11-09-48/localhost/opt/Postman/app/resources/app/node_modules/keyv:
total 0

If it’s too much text you can install fpaste, sudo dnf install fpasteand pipe the command to that. And put the url here.

output of sudo du -ah /boot on my machine https://paste.centos.org/view/55cd5d11
output of sudo ls -lhR /boot on my machine https://paste.centos.org/view/2dcaf5ee

Note: It would only be available for a day, and you can use any pastebin you would like fpaste is just easily installable/usable in :fedora:

Edit … that should have been du :frowning:

Thanks

Alright, I have it here: sudo ls -lhR /boot - Pastebin Service

Can you just do sudo du -h /boot
It looks like there is a ton of stuff in that timeshift directory.

Here

https://paste.centos.org/view/c6b7baf6

Looks like timeshift is using a majority of /boot (649M). (?)

I don’t think that’s where those should be, but I don’t use timeshift.
Based on what i’ve read with a quick google you can manually remove the snapshots out of the timeshift folder or do it with the GUI.

If it’s configured to automatically do snapshots there the problem is just going to resurface.

I remove timeshift, I think there was an issue, last week, I tried to do a backup thru timeshift but I ended up cancelling it because it was too slow using the rsync to backup my system on an external drive.

I think timeshift caches some files and data upon cancellation the operation on my /boot. I freed some space on my /boot by deleting it now, do you recommend using snapper instead of timeshift for backing up?

Here’s my /boot size now, I suppose to extend the /boot using the unallocated space but I can’t, because the extra 1.98gb was the other drive, to be specific on my btrfs/fedora

The default sizes for /boot is 1G and for /boot/efi is 600M. That is what you show and mostly unused so why would you want to change the size?

As long as you don’t shoot yourself in the foot as was done with timeshift things should work well as is.

It’s the /boot that I wanted to the size, I thought that’s where the three kernels sits in, I saw that work around on a related post on this discussion. Yet, nevermind I think my system was freed some space for updated kernel. Thanks!

The default sizes allow for many more the 3 kernels. It is only
when /boot is misused or something stops clean up that it is ever full.