void-packages icon indicating copy to clipboard operation
void-packages copied to clipboard

[RFC] kernels: enable CONFIG_FW_LOADER_COMPRESS

Open classabbyamp opened this issue 1 year ago • 1 comments

Enabling this will allow us to compress firmware files in linux-firmware, which provides a pretty massive storage saving for on-disk size:

linux-firmware            193MB  ->     24MB  (87.6%)
linux-firmware-amd         76MB  ->     26MB  (65.8%)
linux-firmware-broadcom    18MB  ->     12MB  (33.3%)
linux-firmware-intel       26MB  ->    9.9MB  (61.9%)
linux-firmware-network    615MB  ->    346MB  (43.7%)
linux-firmware-nvidia      63MB  ->     41MB  (34.9%)
linux-firmware-qualcomm   177MB  ->     71MB  (59.9%)
TOTAL                    1168MB  ->  529.9MB  (54.6%)

This is supported in all packaged kernels except for linux4.19, which will go EOL at the end of the year.

I plan on enabling compression in linux-firmware (the final commit in this PR) several months after merging the rest of this PR (early 2025). It probably make sense to announce this change, as it could cause unbootable systems.

Testing the changes

I tested the changes in this PR:

  • [ ] 5.15 x86_64
  • [ ] 6.1 x86_64
  • [ ] 6.6 x86_64
  • [ ] 6.11 x86_64
  • [ ] 6.11 aarch64 (x13s)
  • [x] 6.6 rpi (does not need linux-firmware, still boots)

[ci skip]

classabbyamp avatar Oct 19 '24 04:10 classabbyamp

rfc @void-linux/pkg-committers

classabbyamp avatar Oct 19 '24 05:10 classabbyamp

Very nice!

leahneukirchen avatar Dec 12 '24 12:12 leahneukirchen

because 5.x kernels have issues, I am just going to enable the kconfig option in 6.x kernels, so that when they are next built, they get the new options. Enabling the compressed build option in linux-firmware will have to wait until 5.x kernels are gone unless the issues are otherwise resolved.

classabbyamp avatar Dec 12 '24 23:12 classabbyamp