[Buildroot] [PATCH v3 6/7] boot/edk2: add support to i386 architecture
Kory Maincent
kory.maincent at bootlin.com
Thu Sep 23 15:57:25 UTC 2021
Add support the build the firmware for QEMU i386 pc machine
Signed-off-by: Kory Maincent <kory.maincent at bootlin.com>
---
boot/edk2/Config.in | 12 +++++++++++-
boot/edk2/edk2.mk | 12 ++++++++++--
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/boot/edk2/Config.in b/boot/edk2/Config.in
index 150806899f..9f8988bcca 100644
--- a/boot/edk2/Config.in
+++ b/boot/edk2/Config.in
@@ -1,6 +1,6 @@
config BR2_TARGET_EDK2
bool "EDK2"
- depends on BR2_x86_64 || BR2_aarch64
+ depends on BR2_x86_64 || BR2_aarch64 || BR2_i386
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
select BR2_PACKAGE_EDK2_PLATFORMS
help
@@ -13,9 +13,18 @@ if BR2_TARGET_EDK2
choice
prompt "Platform"
+ default BR2_TARGET_EDK2_PLATFORM_OVMF_I386 if BR2_i386
default BR2_TARGET_EDK2_PLATFORM_OVMF_X64 if BR2_x86_64
default BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU if BR2_aarch64
+config BR2_TARGET_EDK2_PLATFORM_OVMF_I386
+ bool "i386"
+ depends on BR2_i386 || BR2_x86_64
+ help
+ Platform configuration for a generic i386 target.
+ This platform will boot from flash address 0x0.
+ It should therefore be used as the first bootloader.
+
config BR2_TARGET_EDK2_PLATFORM_OVMF_X64
bool "x86-64"
depends on BR2_x86_64
@@ -94,6 +103,7 @@ endchoice
config BR2_TARGET_EDK2_FD_NAME
string
+ default "OVMF" if BR2_TARGET_EDK2_PLATFORM_OVMF_I386
default "OVMF" if BR2_TARGET_EDK2_PLATFORM_OVMF_X64
default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU
default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL
diff --git a/boot/edk2/edk2.mk b/boot/edk2/edk2.mk
index fabd0c5b45..ab3cdad464 100644
--- a/boot/edk2/edk2.mk
+++ b/boot/edk2/edk2.mk
@@ -14,7 +14,9 @@ EDK2_DEPENDENCIES = edk2-platforms host-python3 host-acpica host-util-linux
EDK2_INSTALL_TARGET = NO
EDK2_INSTALL_IMAGES = YES
-ifeq ($(BR2_x86_64),y)
+ifeq ($(BR2_i386),y)
+EDK2_ARCH = IA32
+else ifeq ($(BR2_x86_64),y)
EDK2_ARCH = X64
else ifeq ($(BR2_aarch64),y)
EDK2_ARCH = AARCH64
@@ -55,7 +57,13 @@ EDK2_GIT_SUBMODULES = YES
EDK2_BUILD_PACKAGES = $(@D)/Build/Buildroot
EDK2_PACKAGES_PATH = $(@D):$(EDK2_BUILD_PACKAGES):$(STAGING_DIR)/usr/share/edk2-platforms
-ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_X64),y)
+ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_I386),y)
+EDK2_DEPENDENCIES += host-nasm
+EDK2_PACKAGE_NAME = OvmfPkg
+EDK2_PLATFORM_NAME = OvmfPkgIa32
+EDK2_BUILD_DIR = OvmfIa32
+
+else ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_X64),y)
EDK2_DEPENDENCIES += host-nasm
EDK2_PACKAGE_NAME = OvmfPkg
EDK2_PLATFORM_NAME = OvmfPkgX64
--
2.25.1
More information about the buildroot
mailing list