flatcar / Flatcar

Flatcar project repository for issue tracking, project documentation, etc.
https://www.flatcar.org/
Apache License 2.0
681 stars 30 forks source link

[RFE] Compress USR-A/USR-B partitions #1187

Closed krnowak closed 10 months ago

krnowak commented 11 months ago

Current situation

Currently we have 1GB allocated for /usr, 10% of which is still free. Package updates and new features slowly but surely are eating up the free space, so we need to think about options for not running out of the free space eventually.

Impact

More breathing space for future package updates and features.

Ideal future situation

Moar free space.

Implementation options

Additional information

pothos commented 11 months ago

https://github.com/flatcar/Flatcar/issues/1185 will help to have an easier migration path

pothos commented 11 months ago

I've looked into the minimal required version and 2983.2.0 was the first Stable release with btrfs support for /usr. Unfortunately update-engine has does not use libmount but direct syscalls with a fixed list of supported filesystems. We could switch to btrfs if we either document the minimal required version or better, add the "intermediate update" feature to Nebraska (mentioned above).

For squashfs we would also need to make update-engine support it and make enough changes to our build system to allow creating the /usr contents in a temporary folder first and then run mksquashfs and copy the resulting image file over to the partition. And we should wait for the update-engine change to be part of all channels before we can switch (even with the "intermediate update" feature)