Das /boot too small for multiple EL 8.x kernel packages

I have been allocating 512MB for my “/boot” partition, which apparently is now too small for the ‘default’ of ‘3’ kernel RPM installations, especially since ‘new’ versions are installed, prior to the removal of old/excess ones…

The choice being, changing my partition allocation in future Kickstart ‘host-config’ file specifications, or reducing the number of kernel packages to ‘2’ (which I had to resort to ‘for now’ as I can’t re-partition my existing installations).

/etc/dnf> diff dnf.conf-bak dnf.conf
< installonly_limit=3

> installonly_limit=2

Red Hat recommends /boot size at least 1 GiB for RHEL 8: Appendix B. Partitioning reference Red Hat Enterprise Linux 8 | Red Hat Customer Portal
(and smaller than 2 TiB, even on UEFI.)

Which is what I will now configure for future builds…
BUT, why would anyone take advice from ‘them’ ?

Having yet to move to EL8, I find it interesting that 0.5 G is not enough space for even 3 kernels.

The RHEL recommendations link listed above says:

Each kernel requires approximately: 60MB
For rescue mode: 100MB
When kdump is enabled in system it will take approximately another 40MB

So how come 512 MB is not enough for 3 kernels? Could you expand a bit on what uses all that space? It could be useful information for my planning - I try to minimize VM disk sizes…

Examples: Three kernels + rescue on EFI:

$ sudo du -hxd1 /boot
16K	/boot/lost+found
4.0K	/boot/grub2
24K	/boot/loader
475M	/boot

Some files:

# latest kernel:
188K config-4.18.0-305.19.1.el8_4.x86_64
 92M initramfs-4.18.0-305.19.1.el8_4.x86_64.img
4.0M System.map-4.18.0-305.19.1.el8_4.x86_64
9.6M vmlinuz-4.18.0-305.19.1.el8_4.x86_64

# rescue:
148M initramfs-0-rescue-*.img
9.6M vmlinuz-0-rescue-*

On another server the kernel and rescue initramfs are only 25M and 64M, respectively. A VM: 24M and 51M, respectively

The amount of drivers that you need in the initramfs is somewhat unpredictable. My first/worst example has NVidia’s driver in them, which I’d guess to be not tiny.

Thank you! Think we’ll still at least try with 512 MB first since these are servers. Currently doing about 300 MB for all /boot on EL7. RHEL should probably update their docs to state that the sizes may vary radically…

Do you need a separate /boot in a VM?

I do not know, there is a standard setup across physical machines and VMs that I prefer to continue to use.

Though ‘I’ keep all of my configurations identical (with just the hardware type or virtualization being different), if the O/S will ‘boot’ using either a separate Das /boot filesystem or not, I wouldn’t think that it was important, as the ‘protections’ or ‘mirroring techniques’ (MD vs LVM2) would not matter, as the underlying disk storage infrastructure is managed ‘outside’ of the VM’s knowledge… (and couldn’t do anything about it anyway)