Skip to content

vmlinuz size approaches maximum to fit twice into boot partition #438

@pothos

Description

@pothos

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).

Metadata

Metadata

Assignees

Labels

kind/bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions