wip: cleanup of linux-firmware
Hi @superna9999 - this PR is just a start, mostly to be used as a discussion point on how to move forward 'cleaning' up the linux-firmware section of this repository.
It should be noted that because other than the amlogic-image-bootstrap image, the changes in this PR are sort of masked because the other image recipes explicitly include the linux-firmware package, which basically installs all Linux firmware(s) into the image.
I have verified the changes I've made here on my radxa-zero, using a custom image which enables wifi/bt for the radxa zero and only installs the required firmware for the given hardware.
Known Issues
Currently this code only builds completely for the radxa-zero hardware (if you uncomment the MACHINE_ESSENTIAL_EXTRA_RDEPENDS in amlogic-meson.inc) . I have locally one flavor of the radxa-zero hardware that requires the linux-firmware-bcm43455 while a developer working with me in China has a radxa-zero that requires linux-firmware-bcm43456 (AP6256 WiFi Module). These changes have been confirmed to work on both those boards. I do not have another amlogic based devices to test on.
TODO
- [ ] Figure out what firmware(s) belong on which hardware (both wifi and bluetooth)
- [ ] Determine if it's more idoimatic to include, by way of machine overrides, the firmware in
amlogic-meson.incor push the firmware inclusion into the<machine_name>.conffile - [ ] Figure out why a
nothing provides linux-firmware-bcmxxxappears for some builds (as noted in the comments ofamlogic-meson.inc
Thanks, it goes in the right direction, now indeed we must figure out the exact needed firmwares.
But in the meantime a generic conf/machine/include/amlogic-meson-firmwares.inc could be added which adds all the BT + Wifi firmwares, so we can update board per board by either including amlogic-meson-firmwares.inc or adding the right dependencies.
Hi @superna9999 , my apologies this appeared to go stale, my real job started consuming more of my time. I intend to make more progress on this. I like the idea you suggested of having a generic include for all the firmwares and then updating board by board. I'll head down that road and update this draft.
Great suggestion, thank you!
I think, overall this is only a minor improvement, but still nice to have. With this I miss the
linux-firmware-bcm43430to use the wifi on my radxa-zero (and without this wifi does not work on the larger radxa-zeros).I am out of office for the next two week, but then I might try something like this myself. Unfortunately I do not have other meson based devices, so I do not know, how much will break, if the firmware packages are removed from the
amlogic-meson.inc
The current state is a mess, any fix is welcome