|
@@ -0,0 +1,73 @@
|
|
|
+Introduction
|
|
|
+============
|
|
|
+
|
|
|
+The arm_fvp_ebbr_defconfig is meant to illustrate some aspects of the Arm EBBR
|
|
|
+specification[1] and the Arm SystemReady IR[2] compliance program.
|
|
|
+It allows building an AArch64 U-Boot based firmware implementing the subset of
|
|
|
+UEFI defined by EBBR, as well as a Linux OS disk image booting with UEFI, to run
|
|
|
+on the Arm A-Profile Base RevC AEM FVP.
|
|
|
+
|
|
|
+Building
|
|
|
+========
|
|
|
+
|
|
|
+ $ make arm_fvp_ebbr_defconfig
|
|
|
+ $ make
|
|
|
+
|
|
|
+Generated files under output/images:
|
|
|
+
|
|
|
+* bl1.bin: A ROM image built from TF-A.
|
|
|
+* fip.bin: A firmware image comprising TF-A, OP-TEE and the U-Boot bootloader.
|
|
|
+* disk.img: An OS disk image comprising the GRUB bootloader, the Linux kernel
|
|
|
+ and the root filesystem.
|
|
|
+
|
|
|
+Running on the FVP
|
|
|
+==================
|
|
|
+
|
|
|
+Download the FVP from one of the following sources, corresponding to your host
|
|
|
+computer:
|
|
|
+
|
|
|
+- https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FM_11_25/FVP_Base_RevC-2xAEMvA_11.25_15_Linux64.tgz
|
|
|
+- https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FM_11_25/FVP_Base_RevC-2xAEMvA_11.25_15_Linux64_armv8l.tgz
|
|
|
+
|
|
|
+The FVP will be located under one of the corresponding folders:
|
|
|
+
|
|
|
+- Base_RevC_AEMvA_pkg/models/Linux64_GCC-9.3
|
|
|
+- Base_RevC_AEMvA_pkg/models/Linux64_armv8l_GCC-9.3
|
|
|
+
|
|
|
+Run the simulation with:
|
|
|
+
|
|
|
+ FVP_Base_RevC-2xAEMvA \
|
|
|
+ --config-file board/arm/fvp-ebbr/fvp-config.txt \
|
|
|
+ -C bp.secureflashloader.fname="output/images/bl1.bin" \
|
|
|
+ -C bp.flashloader0.fname="output/images/fip.bin" \
|
|
|
+ -C bp.virtioblockdevice.image_path="output/images/disk.img"
|
|
|
+
|
|
|
+The login prompt will appear in a new X terminal.
|
|
|
+
|
|
|
+Using the EBBR firmware to run another OS on the FVP
|
|
|
+----------------------------------------------------
|
|
|
+
|
|
|
+It is possible to use the generated firmware binaries to run another OS
|
|
|
+supporting the EBBR specification.
|
|
|
+
|
|
|
+To run another OS on simulation using a live or pre-installed image, use the
|
|
|
+same FVP command line as for the generated OS but adapt the OS image path in the
|
|
|
+virtioblockdevice stanza.
|
|
|
+The image generated by the aarch64_efi_defconfig or the Arm ACS-IR images[3] are
|
|
|
+examples of pre-installed OS images.
|
|
|
+Linux distributions such as Debian, Fedora, openSUSE or Ubuntu provide a
|
|
|
+pre-installed OS image.
|
|
|
+
|
|
|
+Miscellaneous
|
|
|
+=============
|
|
|
+
|
|
|
+This configuration is inspired by the arm_foundationv8_defconfig, the
|
|
|
+qemu_aarch64_virt_defconfig and the Arm SystemReady IR IoT Integration, Test,
|
|
|
+and Certification Guide[4].
|
|
|
+
|
|
|
+Firmware update, MMC and network are currently not supported.
|
|
|
+
|
|
|
+[1]: https://github.com/ARM-software/ebbr
|
|
|
+[2]: https://developer.arm.com/Architectures/Arm%20SystemReady%20IR
|
|
|
+[3]: https://github.com/ARM-software/arm-systemready/tree/main/IR/prebuilt_images
|
|
|
+[4]: https://developer.arm.com/documentation/DUI1101/latest/
|