Issue updating kernel today

I was doing an update on my wife’s Leap 15.4 laptop today which included the latest kernel default. The install failed because it said there was not 25mb available on the boot partition, however there was well over 25mb free on it! I installed everything else from the zipper up and retried the kernel install from the YAST gui but it still failed for the same reason.

Any ideas why this happened please?

Stuart

I just checked the actual sizes and it is a 210mb boot partition which is a tad over 40% full, so well over 100mb free.

Stuart

It needs space on “/boot” for the kernel, and it needs space for the “initrd”. Since it dynamically generates the “initrd”, it cannot know how much space is required for that, so it estimates.

I use 500M for my “/boot”, and have not had any problems with this.

You probably have two kernels installed. Manually remove the oldest of those (assuming it is not the one you are booting from). That should free up some space. And then try again.

As far as I can see I only have 1 kernel installed and it is asking for an addition 25mb and there is 122mb free on the partition so it should not fail!

Stuart

For this you need some math.

Your boot partition is 210MB
Your installed kernel occupies 88MB (122MB free)
The new kernel requires 147MB more…but that would be 235MB.
So your boot partition is 25MB to small…!

You need 25MB more space than your boot partitition can provide.

This was already explained in other threads here in this forum that the “needs xx MB more” means, more than physically available.

It is not recommended to have a separate boot partition anymore since ages (as example because of such problems…) in case you have a standard setup without MS Windows dualboot or LVM/RAID setup…

In that case the message is not really that clear and it should be more precise and say 25mb more than the available space. Also why does the installer accept a boot partition without warning if it is not recommended?

Stuart

Because as i already tried to explain in some special cases it makes sense to have a boot partition (dual boot with Windows, RAID, LVM, …). Modern Linux distributions don’t create a separate boot partition anymore except you chose to use custom partitioning. The /boot directory is a part of the single system partition nowadays.
Here is a good explanation of advantages/disadvantages and use cases of a separate boot partition:
https://www.baeldung.com/linux/boot-partition-necessary

But it is important not to confuse separate boot partition and /boot/efi…

If you pasted the exact message, someone may be able to trace where this message comes from. Otherwise all you get is some theories which may look plausible on the first glance but are just guesses.

Post output of “df -k”, complete output of “zypper up” (or “zypper patch”, whatever you are using) and output pf “df -k” again.

rpm checks available space against whatever is defined by package. Looking at kernel package:

bor@10:~> rpm -q --dump kernel-default-5.14.21-150400.24.18.1.x86_64 | grep \^/boot | awk '{total += $2}
END {print total }'
125997090
bor@10:~> 

So kernel RPM says that it may need 121MiB in /boot and that is what is checked.

RPM allows overriding this check using --ignoresize.