Ucore kernel snap size: netronome smartnic fw

Bug #1951422 reported by Sertac TULLUK
8
This bug affects 1 person
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/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
...

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

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.

Juerg Haefliger (juergh)
description: updated
description: updated
Juerg Haefliger (juergh)
Changed in linux-raspi (Ubuntu):
status: New → Invalid
Changed in linux-raspi (Ubuntu Focal):
status: New → In Progress
assignee: nobody → Juerg Haefliger (juergh)
Revision history for this message
Rolf Leggewie (r0lf) wrote :

I requested for a more modular and leaner firmware package a long time ago in bug 1958518

Revision history for this message
Juerg Haefliger (juergh) wrote :
Changed in linux-raspi (Ubuntu Focal):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.