Support optional update payloads, notably for ARM/AArch64 firmwares
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 196
- Forks
- 55
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 14
Description
For Raspberry Pi and other AArch64 systems, we usually need some firmware files to be installed either in the ESP, or at fixed offsets on the disk. Some firmwares are usually specific to each board and can not all be installed at the same time on an image. The installation step for those devices is also often performed from another system and not done on the system itself so we can not guess at runtime which firmwares we should install depending on the installation environment.
Thus we need a mechanism to select which one bootupd would install when setting things up when called by bootc install (directly or via bootc-image-builder with a new option) or by Anaconda.
We would then allow users to extend this list of firmwares via a container build in the case of Bootable Containers using a mechanism similar to https://github.com/coreos/bootupd/issues/766 and https://github.com/coreos/bootupd/issues/926.
This would let users build their own images with custom firmware files, build their image with bootc-image-builder, select their custom board variant, and then install it on a device for direct use.
This would provide an alternative user experience to the existing flows from:
- https://docs.fedoraproject.org/en-US/fedora-coreos/provisioning-raspberry-pi4/
- https://github.com/fedora-arm/arm-image-installer/
See previous discussions:
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Begin by reviewing the linked discussions, especially bootupd#766, bootupd#926, and pull request #935, alongside the existing Fedora CoreOS and arm-image-installer flows. Done means defining and implementing a mechanism for selecting optional, board-specific firmware payloads during bootc, bootc-image-builder, or Anaconda installation, including a way to extend payloads in container builds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- raspberry-pi
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100