2030-01-01: Make use of larger partition sizes
Current situation
We always had to find workarounds for the limited size in /boot (128 MB) and /usr (1 GB) and thus increased the partition size in https://github.com/flatcar/scripts/pull/3027 end of 2025 to be 1 GB for /boot and /oem and 2 GB for the /usr A/B partitions. However, we still limited the /usr filesystem to 1 GB for existing nodes to be able to apply this update. We are also limited to ~60 MB for the kernel+initrd size. Both /boot and /usr compatibility are tested in the special update test that we have in kola that starts from the first dual arch release and thus uses the old partition sizes.
Impact
Given that it takes until 2026 for the new partition sizes to land in Stable and then again even later in LTS, and that many people still deploy with old images, it can be that some people only pick this change up in new deployments in 2027 or even 2028. Also, nodes have a long lifetime of many years when they are physical machines sitting somewhere. These should be able to get updates as long as possible. When we want to make use of the new partition sizes by growing the kernel+initrd larger than 60 MB or by extending the /usr filesystem to use the full 2 GB, we are cutting these old nodes off from updates.
That means that we can consider to have a larger kernel or larger /usr from 2030 onwards and the impact will be limited to those nodes that either get deployed with old versions very late and/or have a long lifetime. These will have to be redeployed to be able to update. In the example of (actually-not-so) late deployment in 2028 with an old image that means the node can have a lifetime of 2 years max - so we always have to look at the combination of these two factors. It's a tradeoff as always between feature development and backwards compatibility.
Ideal future situation
5 years waiting should be ok for most users and then we can modernize Flatcar with dropping old workarounds and including more features or making maintenance easier by aligning more with other distros.
Implementation options
Increase the /usr filesystem blocks in build_library/disk_layout.json (considering the space for verity data), and also make sure that the boot logic can deal with the shifted verity location.
Bump the test start image for the special kola update test to not be 3033.2.4 but the first release that has the new partition layout (Alpha 4487.0.0).
Drop the minimal busybox initrd and use the full initrd directly again.
Benefit from adding many new features to the kernel/initrd (and also /usr if they had to be held back due to size constraints).