Add builder for generic UEFI based ARM64 image
This was tested on Rock64 board. @njoseph, please check this image with Nano Pi M4 v2.
This image represents a new plan for supporting current and future hardware. See UEFI on Top of U-Boot paper.
- FreedomBox will ship a single image per distribution for all ARM64 boards.
- The board manufacturer will provide the appropriate board-specific firmware. This is typically u-boot.
- For boards that have SPI flash, the firmware will sit in the SPI flash. OS image will be in SD card, eMMC, USB disk, SATA disk or NVMe disk. Since the list of devices that can be booted is only limited by the (u-boot) firmware, it will be up to the board manufacturer or board community to provide the firmware. For example, for RockPro64, there is a u-boot firmware available that will practically boot from any disk.
- For boards that don't have SPI flash, firmware may be in the SD card and the OS may be on a second SD card, eMMC, USB disk, SATA disk or NVMe disk.
- There is some increased work for the user to install FreedomBox. First, they will need to follow our links to manufacturer/community firmware and write that into SD card and boot it to flash the SPI. Then they will need to write the FreedomBox image into SD card and boot it. However, I believe this is a small price to pay for the diverse hardware and boot device support.
- Of course, the Linux kernel still needs to support the board. However, there is pretty much no other part of the OS that needs specific board support. flash-kernel is currently not used but may be used in the future when it can handle this kind of images.
TODO:
Upgrade the dtb files when kernel is upgraded (i.e, play the role of flash-kernel until it is ready).
Edited by James Valleroy