Support fwupd firmware branches
Feature Request: multiple fwupd firmware branches
fwupd support 'firmware branches' using the <branch>$NAME</branch>
in the metadata of the update package.
This way, vendors can provide multiple branches of firmware for the same device.
Users can switch between branches if they want. For example: use closed source BIOS firmware or coreboot (see https://github.com/fwupd/fwupd/blob/3356d8a844b1c6f16ebaddc6d0f6d76b8647fccf/plugins/flashrom/flashrom.quirk#L32)
This feature is also useful for the GNOME on mobile devices as these devices have modems which can be upgraded. Support for upgrading the firmware of the Pine64 PinePhone modem just landed in fwupd: https://github.com/fwupd/fwupd/pull/4076 However, multiple firmwares exist for this modem:
- Closed source Quectel firmware from the vendor: https://github.com/Biktorgj/quectel_eg25_recovery
- Almost FOSS firmware from biktorgj: https://github.com/Biktorgj/pinephone_modem_sdk
Both firmwares can exist side-by-side with the help of firmware branches which works fine with the CLI fwupdmgr
, but GNOME Firmware doesn't support this yet.