* [PATCH 1/3] test: Containerfile: add qemu-efi-aarch64.
@ 2025-10-22 5:25 chalianis1
2025-10-22 5:25 ` [PATCH 2/3] test: arm: add efi v8 test for efi arm64 payload chalianis1
2025-10-22 5:25 ` [PATCH 3/3] doc: efi: add efi armv8 payload documentation chalianis1
0 siblings, 2 replies; 3+ messages in thread
From: chalianis1 @ 2025-10-22 5:25 UTC (permalink / raw)
To: s.hauer; +Cc: barebox, Chali Anis
From: Chali Anis <chalianis1@gmail.com>
this will provide the uefi bios binaries to used for efi aarch64
payload test.
Signed-off-by: Chali Anis <chalianis1@gmail.com>
---
test/Containerfile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/test/Containerfile b/test/Containerfile
index c6c3c57596a6..3d277a147ad1 100644
--- a/test/Containerfile
+++ b/test/Containerfile
@@ -40,6 +40,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
qemu-system-misc \
qemu-system-mips \
qemu-system-x86 \
+ qemu-efi-aarch64 \
qemu-system-common \
ovmf \
python3 \
@@ -63,7 +64,7 @@ ENV LLVM_VERSION=21
RUN apt-get update && apt-get install -y --no-install-recommends lsb-release gnupg \
&& wget https://apt.llvm.org/llvm.sh \
- && chmod +x llvm.sh && ./llvm.sh ${LLVM_VERSION} \
+ && chmod +x llvm.sh && ./llvm.sh ${LLVM_VERSION} -n trixie \
&& apt-get remove -y lsb-release gnupg \
&& apt-get autoremove -y --purge \
&& apt-get clean \
--
2.34.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/3] test: arm: add efi v8 test for efi arm64 payload.
2025-10-22 5:25 [PATCH 1/3] test: Containerfile: add qemu-efi-aarch64 chalianis1
@ 2025-10-22 5:25 ` chalianis1
2025-10-22 5:25 ` [PATCH 3/3] doc: efi: add efi armv8 payload documentation chalianis1
1 sibling, 0 replies; 3+ messages in thread
From: chalianis1 @ 2025-10-22 5:25 UTC (permalink / raw)
To: s.hauer; +Cc: barebox, Chali Anis
From: Chali Anis <chalianis1@gmail.com>
Add efi armv8 payload labgrid yaml and add it in the barebox ci.
Signed-off-by: Chali Anis <chalianis1@gmail.com>
---
.github/workflows/test-labgrid-pytest.yml | 5 ++++
test/arm/efi_v8_defconfig.yaml | 31 +++++++++++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644 test/arm/efi_v8_defconfig.yaml
diff --git a/.github/workflows/test-labgrid-pytest.yml b/.github/workflows/test-labgrid-pytest.yml
index ccf8ae172cef..f364ed1843d9 100644
--- a/.github/workflows/test-labgrid-pytest.yml
+++ b/.github/workflows/test-labgrid-pytest.yml
@@ -27,6 +27,11 @@ jobs:
lgenv: test/arm/multi_v8_defconfig.yaml
defconfig: multi_v8_defconfig
lgargs: --runxfail
+
+ - ARCH: arm
+ lgenv: 'test/arm/efi_v8_defconfig.yaml'
+ defconfig: efi_v8_defconfig
+ lgargs: --runxfail
- ARCH: mips
lgenv: test/mips/qemu-malta_defconfig.yaml
diff --git a/test/arm/efi_v8_defconfig.yaml b/test/arm/efi_v8_defconfig.yaml
new file mode 100644
index 000000000000..21d0feaed8e1
--- /dev/null
+++ b/test/arm/efi_v8_defconfig.yaml
@@ -0,0 +1,31 @@
+targets:
+ main:
+ drivers:
+ QEMUDriver:
+ qemu_bin: qemu-system-aarch64
+ machine: virt
+ cpu: cortex-a57
+ memory: 1024M
+ kernel: barebox.efi
+ display: qemu-default
+ extra_args: '-L /usr/share/qemu-efi-aarch64 -bios QEMU_EFI.fd'
+ BareboxDriver:
+ prompt: 'barebox@[^:]+:[^ ]+ '
+ bootstring: 'commandline:'
+ BareboxTestStrategy: {}
+ features:
+ - virtio-mmio
+ - testfs
+ devices:
+ fb0: 'Type: primary'
+ fbconsole0: 'Parent: fb0'
+ wdog0: 'Parent: efi-wdt'
+ efivarfs0: 'Driver: efivarfs'
+ efifs0: 'Driver: efifs'
+ runner:
+ kconfig_add:
+ - CONFIG_FRAMEBUFFER_CONSOLE=y
+images:
+ barebox.efi: !template "$LG_BUILDDIR/barebox.efi"
+imports:
+ - ../strategy.py
--
2.34.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 3/3] doc: efi: add efi armv8 payload documentation.
2025-10-22 5:25 [PATCH 1/3] test: Containerfile: add qemu-efi-aarch64 chalianis1
2025-10-22 5:25 ` [PATCH 2/3] test: arm: add efi v8 test for efi arm64 payload chalianis1
@ 2025-10-22 5:25 ` chalianis1
1 sibling, 0 replies; 3+ messages in thread
From: chalianis1 @ 2025-10-22 5:25 UTC (permalink / raw)
To: s.hauer; +Cc: barebox, Chali Anis
From: Chali Anis <chalianis1@gmail.com>
Add how to compile armv8 efi payload and how to run it with qemu
Signed-off-by: Chali Anis <chalianis1@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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-10-22 5:25 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-22 5:25 [PATCH 1/3] test: Containerfile: add qemu-efi-aarch64 chalianis1
2025-10-22 5:25 ` [PATCH 2/3] test: arm: add efi v8 test for efi arm64 payload chalianis1
2025-10-22 5:25 ` [PATCH 3/3] doc: efi: add efi armv8 payload documentation chalianis1
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox