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

Reply via email to