buildroot/board/aarch64-efi
Vincent Stehlé 7880f89a6a configs/aarch64_efi: bump Linux to 6.10.12
While at it:
- Turn on hashes verification and add a hash for the Linux kernel.
- Linux kernel needs host-python3; add it.
- Convert to `make savedefconfig' format.
- Fix shellcheck warnings in our post-image script and update
  .checkpackageignore.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Erico Nunes <nunes.erico@gmail.com>
Cc: Dick Olsson <hi@senzilla.io>
Cc: Julien Olivain <ju.o@free.fr>
Reviewed-by: Julien Olivain <ju.o@free.fr>
[Julien: rebased the patch to resolve conflicts with commit
  edc0a6b1a "configs: regenerate all defconfigs"]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2024-10-22 20:58:43 +02:00
..
patches configs/aarch64_efi: bump Linux to 6.10.12 2024-10-22 20:58:43 +02:00
genimage-efi.cfg board/*/genimage.cfg: use partition-type-uuid U where relevant 2022-07-23 15:36:22 +02:00
grub.cfg configs/aarch64_efi: bump kernel version and update 2021-05-04 22:12:36 +02:00
post-image.sh configs/aarch64_efi: bump Linux to 6.10.12 2024-10-22 20:58:43 +02:00
readme.txt configs/aarch64_efi_defconfig: bump kernel version 2021-12-06 21:51:46 +01:00

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" 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