Hi,
A patch such as the attached (to avoid potential line wrap) one, which
changes debian/rules to:
* add an entry to OVMF32_IMAGES;
* perform a small copy-paste-modify job in the target which depends on
OVMF32_BINARIES and OVMF32_IMAGES
seems to be enough to build and package a non-secboot 4M code image into
ovmf-ia32.
Rinse and repeat similar changes for 2M and 2M secboot images, if you
want them, though I'd say that there's little point in doing so: typical
UEFI-capable computers, even 32-bit x86 ones, aren't so RAM-starved that
they'd be able to boot a small UEFI BIOS but not a larger one.
Regards,
Lionel Debroux.
--- a/debian/rules 2023-07-14 21:28:17.978872495 +0200
+++ b/debian/rules 2023-07-15 21:28:39.848206125 +0200
@@ -76,7 +76,7 @@
OVMF32_BUILD_DIR = Build/OvmfIa32/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN)
OVMF32_SHELL = $(OVMF32_BUILD_DIR)/IA32/Shell.efi
OVMF32_BINARIES = $(OVMF32_SHELL)
-OVMF32_IMAGES := $(addprefix $(OVMF32_INSTALL_DIR)/,OVMF32_CODE_4M.secboot.fd OVMF32_VARS_4M.fd)
+OVMF32_IMAGES := $(addprefix $(OVMF32_INSTALL_DIR)/,OVMF32_CODE_4M.secboot.fd OVMF32_CODE_4M.fd OVMF32_VARS_4M.fd)
QEMU_EFI_BUILD_DIR = Build/ArmVirtQemu-$(EDK2_HOST_ARCH)/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN)
AAVMF_BUILD_DIR = Build/ArmVirtQemu-AARCH64/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN)
@@ -99,11 +99,19 @@
build -a IA32 \
-t $(EDK2_TOOLCHAIN) \
-p OvmfPkg/OvmfPkgIa32.dsc \
- $(OVMF32_4M_SMM_FLAGS) -b $(BUILD_TYPE)
+ $(OVMF32_4M_FLAGS) -b $(BUILD_TYPE)
cp $(OVMF32_BUILD_DIR)/FV/OVMF_CODE.fd \
- $(OVMF32_INSTALL_DIR)/OVMF32_CODE_4M.secboot.fd
+ $(OVMF32_INSTALL_DIR)/OVMF32_CODE_4M.fd
cp $(OVMF32_BUILD_DIR)/FV/OVMF_VARS.fd \
$(OVMF32_INSTALL_DIR)/OVMF32_VARS_4M.fd
+ rm -rf Build/OvmfIa32
+ set -e; . ./edksetup.sh; \
+ build -a IA32 \
+ -t $(EDK2_TOOLCHAIN) \
+ -p OvmfPkg/OvmfPkgIa32.dsc \
+ $(OVMF32_4M_SMM_FLAGS) -b $(BUILD_TYPE)
+ cp $(OVMF32_BUILD_DIR)/FV/OVMF_CODE.fd \
+ $(OVMF32_INSTALL_DIR)/OVMF32_CODE_4M.secboot.fd
build-ovmf: $(OVMF_BINARIES) $(OVMF_IMAGES) $(OVMF_PREENROLLED_VARS)
$(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp