Ucore kernel snap size: netronome smartnic fw
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-raspi (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Juerg Haefliger |
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/
569MiB .
140MiB ./netronome
40MiB ./amdgpu
34MiB ./intel
25MiB ./liquidio
24MiB ./qcom
20MiB ./qed
19MiB ./brcm
12MiB ./mellanox
12MiB ./dpaa2
12MiB ./ath10k
...
description: | updated |
description: | updated |
Changed in linux-raspi (Ubuntu): | |
status: | New → Invalid |
Changed in linux-raspi (Ubuntu Focal): | |
status: | New → In Progress |
assignee: | nobody → Juerg Haefliger (juergh) |
Netrome smartnic is 10x the price of RPi. It is unlikely that one will run ovs on armhf successfully. And i think even arm64 variants of RPi may be overwhelmed by ovs as well.
Imho it makes sense to disable Netrome smartnic driver in the raspi kernel flavour and also remove/filter netrome firmware from the raspi kernel snap.