-
Notifications
You must be signed in to change notification settings - Fork 49
vmlinuz size approaches maximum to fit twice into boot partition #438
Description
Description
The boot partition has a fixed size of 128 MB and needs to be able to fit GRUB and the A and B partition's kernels.
The current vmlinuz size in Alpha approaches 60 MB which is the maximum to fit twice. The vmlinuz file bundles the initramfs, and both the kernel and the initramfs are currently compressed with gzip. Only a few KB margin are left and when the vmlinuz file is too big, the update test will fail (lucky, instead of making a release with a too large kernel and blocking future updates).
Impact
Release blocker because any future kernel security update could make us hit the limit and we won't be able to push it out without reducing the vmlinuz size first (releasing anyway is not an option because it either results in failing update attempts or will lead to failing update attempts in the future because the boot partition is more than half full and a future update would need to have a vmlinuz size that compensated the bloat).
Environment and steps to reproduce
Simulate an update:
$ sudo cp /boot/flatcar/vmlinuz-a /boot/flatcar/vmlinuz-b
$ df -h /boot/
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 127M 126M 781K 100% /boot
Expected behavior
The Avail column should state that multiple MB are free to have some margin when a quick fix increases the vmlinuz size significantly.
Additional information
I'm currently trying out to switch to zstd for both the kernel and initramfs. The initramfs is compressed by the kernel build system and not by dracut (where --no-compress is used to generate the cpio).