For snaps this was actually fixed a while ago: https://git.launchpad.net/~canonical-kernel-snaps/+git/kernel-snaps-uc20/commit/?id=6d91407c39bfe31caf56291ce445f0084315f2b5
** Changed in: linux-raspi (Ubuntu Focal) Status: In Progress => Fix Released -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux-raspi in Ubuntu. https://bugs.launchpad.net/bugs/1951422 Title: Ucore kernel snap size: netronome smartnic fw Status in linux-raspi package in Ubuntu: Invalid Status in linux-raspi source package in Focal: Fix Released Bug description: [ Impact ] Pi kernel snaps are big in part due to included firmware binaries. A lot of these binaries are not needed/required by the Pi kernel. The size of the snap has a negative impact on boot speed. [ Fix ] Parse modinfo data from all modules to determine the list of required firmware files and remove the ones that are not necessary during snap build time. [ Test Case ] On core20 before: $ du -sh /lib/firmware/ 602M /lib/firmware/ And after: $ du -sh /lib/firmware/ 58M /lib/firmware/ [ Where Problems Could Occur ] We might accidentally drop needed firmware which might render the relevant HW unusable. Firmware load failures should be visible in the kernel log though. [ Original Description ] The size of the pi-kernel snap for UC20 is 254Mbytes (compressed) and 794Mbytes (uncompressed). 569Mbyte of this is caused by FW 140Mbyte -> Netronome SmartNIC Removing unreferenced FW and/or reducing number of drivers & their FW has exponential reduction of disk space usage. Additionally, downloaded image will be smaller; and storing 3x kernel snaps for upgrades will be smaller. Even more, snap seeding will be faster, so boot time will be faster. So it will be a nice gain in multiple aspects: download image, boot image, upgrade image, reboot image, start using image. stulluk ~/tmp $ ls -lah pi-kernel_353.snap -rw------- 1 stulluk stulluk 254M Kas 8 13:57 pi-kernel_353.snap stulluk ~/tmp $ cd pikern/ stulluk ~/tmp/pikern $ du -sh 794M . stulluk ~/tmp/pikern $ cd firmware/ stulluk ~/tmp/pikern/firmware $ du --block-size=MiB --max-depth=1 . | sort -rn 569MiB . 140MiB ./netronome 40MiB ./amdgpu 34MiB ./intel 25MiB ./liquidio 24MiB ./qcom 20MiB ./qed 19MiB ./brcm 12MiB ./mellanox 12MiB ./dpaa2 12MiB ./ath10k ... To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-raspi/+bug/1951422/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp