[PATCH 3/3] doc: efi: add efi armv8 payload documentation.
chalianis1 at gmail.com
chalianis1 at gmail.com
Tue Oct 21 22:25:08 PDT 2025
From: Chali Anis <chalianis1 at gmail.com>
Add how to compile armv8 efi payload and how to run it with qemu
Signed-off-by: Chali Anis <chalianis1 at gmail.com>
---
Documentation/boards/efi.rst | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/Documentation/boards/efi.rst b/Documentation/boards/efi.rst
index 869e5e88172f..a3a06b987f97 100644
--- a/Documentation/boards/efi.rst
+++ b/Documentation/boards/efi.rst
@@ -23,7 +23,7 @@ x86_64 binary currently is tested.
Building barebox for EFI
------------------------
-Use the following to build barebox for EFI:
+Use the following to build barebox for EFI to target x86 machine:
.. code-block:: sh
@@ -31,6 +31,14 @@ Use the following to build barebox for EFI:
make efi_defconfig
make
+Use the following to build barebox for EFI to target armv8 machine:
+
+.. code-block:: sh
+
+ export ARCH=arm
+ make efi_v8_defconfig
+ make
+
The resulting EFI image is ``barebox.efi`` (or the barebox-flash-image link).
Running barebox on EFI systems
@@ -39,8 +47,9 @@ Running barebox on EFI systems
The simplest way to run barebox on a USB memory stick. (U)EFI only supports
FAT filesystems, so make sure you either have a FAT16 or FAT32 filesystem on
the memory stick. Put ``barebox.efi`` into the ``EFI/BOOT/`` directory and
-name it ``BOOTx64.EFI`` on 64bit architectures and ``BOOTIA32.EFI`` on 32bit
-architectures. Switching to USB boot in the BIOS should then be enough to
+name it, for x86 ``BOOTx64.EFI`` or ``BOOTIA32.EFI`` on 64bit or 32bit
+architectures recpectivly, for armv8 ``BOOTAA64.EFI``.
+Switching to USB boot in the BIOS should then be enough to
start barebox via USB. Some BIOSes allow to specify a path to a binary to
be executed, others have a "start UEFI shell" entry which executes
EFI/Shellx64.efi on the :term:`ESP`. This can be a barebox binary as well.
@@ -87,9 +96,13 @@ necessary to make a copy first.
To start it create a USB memory stick like above and execute:
.. code-block:: sh
-
+
+ # On x86
qemu-system-x86_64 -pflash OVMF.fd -nographic /dev/sdx
+ # On armv8
+ qemu-system-aarch64 -L /usr/share/qemu-efi-aarch64 -bios QEMU_EFI.fd -nographic /dev/sdx
+
A plain VFAT image will work aswell, but in this case the UEFI BIOS won't
recognize it as ESP and ``/boot`` won't be mounted.
--
2.34.1
More information about the barebox
mailing list