f01b0b1a3d
- Bump kernel to version 5.11.16. We remove the hardcoded ttyAMA0 and rely on the firmware to discover our console. This enables serial console on systems, which do not have an Arm pl011 UART. We switch to GPT disklabel and discover our root filesystem using its PARTLABEL. This enables booting from more media, such as HDD, SD card or USB. We update the readme, which hinted that ACPI was mandatory. This is not strictly the case as we can also boot with a dtb and/or a U-Boot based firmware, with no ACPI. While at it, mention EBBR, SystemReady and explain how to build and use a U-Boot-based qemu firmware. Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com> Cc: Erico Nunes <nunes.erico@gmail.com> Reviewed-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> |
||
---|---|---|
.. | ||
genimage-efi.cfg | ||
grub.cfg | ||
post-image.sh | ||
readme.txt |
The aarch64_efi_defconfig allows to build a minimal Linux system that can boot on all AArch64 servers providing an EFI firmware. This includes all Arm EBBR[1] compliant systems, and all Arm SystemReady[2] compliant systems for example. Building and booting ==================== $ make aarch64_efi_defconfig $ make The file output/images/disk.img is a complete disk image that can be booted, it includes the grub2 bootloader, Linux kernel and root filesystem. Testing under Qemu ================== This image can also be tested using Qemu: qemu-system-aarch64 \ -M virt \ -cpu cortex-a57 \ -m 512 \ -nographic \ -bios </path/to/QEMU_EFI.fd> \ -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \ -device virtio-blk-device,drive=hd0 \ -netdev user,id=eth0 \ -device virtio-net-device,netdev=eth0 Note that </path/to/QEMU_EFI.fd> needs to point to a valid aarch64 UEFI firmware image for qemu. It may be provided by your distribution as a edk2-aarch64 or AAVMF package, in path such as /usr/share/edk2/aarch64/QEMU_EFI.fd . U-Boot based qemu firmware ========================== A qemu firmware with support for UEFI based on U-Boot can be built following the instructions in [3], with qemu_arm64_defconfig. This should give you a nor_flash.bin, which you can use with qemu as an alternative to QEMU_EFI.fd. You will also need to change the machine specification to "-M virt,secure" on qemu command line, to enable TrustZone support, and you will need to increase the memory with "-m 1024". [1]: https://github.com/ARM-software/ebbr [2]: https://developer.arm.com/architectures/system-architectures/arm-systemready [3]: https://github.com/glikely/u-boot-tfa-build