readme.txt 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. The aarch64_efi_defconfig allows to build a minimal Linux system that
  2. can boot on all AArch64 servers providing an EFI firmware.
  3. This includes all Arm EBBR[1] compliant systems, and all Arm SystemReady[2]
  4. compliant systems for example.
  5. Building and booting
  6. ====================
  7. $ make aarch64_efi_defconfig
  8. $ make
  9. The file output/images/disk.img is a complete disk image that can be
  10. booted, it includes the grub2 bootloader, Linux kernel and root
  11. filesystem.
  12. Testing under Qemu
  13. ==================
  14. This image can also be tested using Qemu:
  15. qemu-system-aarch64 \
  16. -M virt \
  17. -cpu cortex-a57 \
  18. -m 512 \
  19. -nographic \
  20. -bios </path/to/QEMU_EFI.fd> \
  21. -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \
  22. -device virtio-blk-device,drive=hd0 \
  23. -netdev user,id=eth0 \
  24. -device virtio-net-device,netdev=eth0
  25. Note that </path/to/QEMU_EFI.fd> needs to point to a valid aarch64 UEFI
  26. firmware image for qemu.
  27. It may be provided by your distribution as a edk2-aarch64 or AAVMF
  28. package, in path such as /usr/share/edk2/aarch64/QEMU_EFI.fd .
  29. U-Boot based qemu firmware
  30. ==========================
  31. A qemu firmware with support for UEFI based on U-Boot can be built following
  32. the instructions in [3], with qemu_arm64_defconfig.
  33. This should give you a nor_flash.bin, which you can use with qemu as an
  34. alternative to QEMU_EFI.fd. You will also need to change the machine
  35. specification to "-M virt,secure" on qemu command line, to enable TrustZone
  36. support, and you will need to increase the memory with "-m 1024".
  37. [1]: https://github.com/ARM-software/ebbr
  38. [2]: https://developer.arm.com/architectures/system-architectures/arm-systemready
  39. [3]: https://github.com/glikely/u-boot-tfa-build