]> git.proxmox.com Git - pve-edk2-firmware.git/commitdiff
handle dropping support for building 2MB-sized firmware images
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Sat, 11 Nov 2023 13:51:19 +0000 (14:51 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Sun, 19 Nov 2023 13:29:16 +0000 (14:29 +0100)
Keep a static build of the last version we supported them (2023.02)
for backward compat in a new separate binary package.

We can make that optional with the next major release and handle
affected VMs in pve8to9.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
debian/README.Proxmox-VE
debian/control
debian/legacy-2M-builds/OVMF_CODE.fd [new file with mode: 0644]
debian/legacy-2M-builds/OVMF_CODE.secboot.fd [new file with mode: 0644]
debian/legacy-2M-builds/OVMF_VARS.fd [new file with mode: 0644]
debian/legacy-2M-builds/OVMF_VARS.ms.fd [new file with mode: 0644]
debian/pve-edk2-firmware-legacy.install [new file with mode: 0644]
debian/pve-edk2-firmware-legacy.links [new file with mode: 0644]
debian/rules
debian/source/include-binaries

index ab231745e742405c11983180390593740f296240..282d7a714e0ff092543a55b9e429b7f6331f3e38 100644 (file)
@@ -40,6 +40,8 @@ OVMF_VARS.ms.fd
   These images are the same as their "4M" variants, but for use with guests
   using a 2MB flash device. 2MB flash is no longer considered sufficient for
   use with Secure Boot. This is provided only for backwards compatibility.
   These images are the same as their "4M" variants, but for use with guests
   using a 2MB flash device. 2MB flash is no longer considered sufficient for
   use with Secure Boot. This is provided only for backwards compatibility.
+  NOTE: As 2MB support was removed with 2023.08 release, we now ship them as
+  static builds from our last release before that (2023.02)
 
 OVMF_CODE_4M.snakeoil.fd
 OVMF_VARS_4M.snakeoil.fd
 
 OVMF_CODE_4M.snakeoil.fd
 OVMF_VARS_4M.snakeoil.fd
@@ -99,4 +101,4 @@ PkKek-1-snakeoil.pem
   OVMF_VARS.snakeoil.fd template. The password for the key is
   'snakeoil'.
 
   OVMF_VARS.snakeoil.fd template. The password for the key is
   'snakeoil'.
 
- -- dann frazier <dannf@debian.org>, Fri,  4 Feb 2022 17:01:31 -0700
+ -- Proxmox Support Team <support@proxmox.com>, dann frazier <dannf@debian.org>, Fri,  4 Feb 2022 17:01:31 -0700
index 8d642cd053550fb713e05f438d815895812b50b4..f6c1462e248d299bb2370e08bb63516d4301675d 100644 (file)
@@ -24,9 +24,22 @@ XS-Build-Indep-Architecture: amd64
 
 Package: pve-edk2-firmware
 Architecture: all
 
 Package: pve-edk2-firmware
 Architecture: all
-Depends: ${misc:Depends}
+Depends: pve-edk2-firmware-legacy, ${misc:Depends}
 Multi-Arch: foreign
 Description: edk2 based UEFI firmware modules for virtual machines
  Open Virtual Machine Firmware is a build of EDK II for 64-bit, 32-bit x86
  and 64-bit ARM virtual machines. It includes full support for UEFI, including
  Secure Boot, allowing use of UEFI in place of a traditional BIOS in your VM.
 Multi-Arch: foreign
 Description: edk2 based UEFI firmware modules for virtual machines
  Open Virtual Machine Firmware is a build of EDK II for 64-bit, 32-bit x86
  and 64-bit ARM virtual machines. It includes full support for UEFI, including
  Secure Boot, allowing use of UEFI in place of a traditional BIOS in your VM.
+
+Package: pve-edk2-firmware-legacy
+Architecture: all
+Depends: ${misc:Depends},
+Breaks: pve-edk2-firmware (<< 4.2023.08-1),
+Multi-Arch: foreign
+Description: edk2 based legacy 2MB UEFI firmware modules for virtual machines
+ Open Virtual Machine Firmware is a build of EDK II for 64-bit, 32-bit x86
+ virtual machines. It includes full support for UEFI, including Secure Boot,
+ allowing use of UEFI in place of a traditional BIOS in your VM.
+ This packages includes a static build of legacy images that got dropped from
+ upstream because the small size results in to many limitations, but Proxmox VE
+ still needs to provide backward compat for older VMs.
diff --git a/debian/legacy-2M-builds/OVMF_CODE.fd b/debian/legacy-2M-builds/OVMF_CODE.fd
new file mode 100644 (file)
index 0000000..ab81b1c
Binary files /dev/null and b/debian/legacy-2M-builds/OVMF_CODE.fd differ
diff --git a/debian/legacy-2M-builds/OVMF_CODE.secboot.fd b/debian/legacy-2M-builds/OVMF_CODE.secboot.fd
new file mode 100644 (file)
index 0000000..abb1123
Binary files /dev/null and b/debian/legacy-2M-builds/OVMF_CODE.secboot.fd differ
diff --git a/debian/legacy-2M-builds/OVMF_VARS.fd b/debian/legacy-2M-builds/OVMF_VARS.fd
new file mode 100644 (file)
index 0000000..3b8bb9b
Binary files /dev/null and b/debian/legacy-2M-builds/OVMF_VARS.fd differ
diff --git a/debian/legacy-2M-builds/OVMF_VARS.ms.fd b/debian/legacy-2M-builds/OVMF_VARS.ms.fd
new file mode 100644 (file)
index 0000000..cb9b25b
Binary files /dev/null and b/debian/legacy-2M-builds/OVMF_VARS.ms.fd differ
diff --git a/debian/pve-edk2-firmware-legacy.install b/debian/pve-edk2-firmware-legacy.install
new file mode 100644 (file)
index 0000000..1657e3f
--- /dev/null
@@ -0,0 +1 @@
+debian/legacy-2M-builds/*      /usr/share/pve-edk2-firmware/legacy
diff --git a/debian/pve-edk2-firmware-legacy.links b/debian/pve-edk2-firmware-legacy.links
new file mode 100644 (file)
index 0000000..b2e20e4
--- /dev/null
@@ -0,0 +1,4 @@
+usr/share/pve-edk2-firmware/legacy/OVMF_CODE.fd usr/share/pve-edk2-firmware/OVMF_CODE.fd
+usr/share/pve-edk2-firmware/legacy/OVMF_CODE.secboot.fd usr/share/pve-edk2-firmware/OVMF_CODE.secboot.fd
+usr/share/pve-edk2-firmware/legacy/OVMF_VARS.fd usr/share/pve-edk2-firmware/OVMF_VARS.fd
+usr/share/pve-edk2-firmware/legacy/OVMF_VARS.ms.fd usr/share/pve-edk2-firmware/OVMF_VARS.ms.fd
index eb0ee89287ddc937c560736aa6ff8f665000f7a9..fd0a8bbf049c7087e6ac431c6d82d95b1664b537 100755 (executable)
@@ -27,9 +27,7 @@ COMMON_FLAGS += -DSECURE_BOOT_ENABLE=TRUE
 COMMON_FLAGS += -DTPM2_ENABLE=TRUE
 COMMON_FLAGS += -DPVSCSI_ENABLE=TRUE
 OVMF_COMMON_FLAGS = $(COMMON_FLAGS)
 COMMON_FLAGS += -DTPM2_ENABLE=TRUE
 COMMON_FLAGS += -DPVSCSI_ENABLE=TRUE
 OVMF_COMMON_FLAGS = $(COMMON_FLAGS)
-OVMF_2M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_2MB
 OVMF_4M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_4MB
 OVMF_4M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_4MB
-OVMF_2M_SMM_FLAGS = $(OVMF_2M_FLAGS) -DSMM_REQUIRE=TRUE
 OVMF_4M_SMM_FLAGS = $(OVMF_4M_FLAGS) -DSMM_REQUIRE=TRUE
 OVMF32_4M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_4MB
 OVMF32_4M_SMM_FLAGS =  $(OVMF32_4M_FLAGS) -DSMM_REQUIRE=TRUE
 OVMF_4M_SMM_FLAGS = $(OVMF_4M_FLAGS) -DSMM_REQUIRE=TRUE
 OVMF32_4M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_4MB
 OVMF32_4M_SMM_FLAGS =  $(OVMF32_4M_FLAGS) -DSMM_REQUIRE=TRUE
@@ -68,8 +66,8 @@ OVMF3264_BUILD_DIR = Build/Ovmf3264/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN)
 OVMF_ENROLL = $(OVMF3264_BUILD_DIR)/X64/EnrollDefaultKeys.efi
 OVMF_SHELL =  $(OVMF3264_BUILD_DIR)/X64/Shell.efi
 OVMF_BINARIES = $(OVMF_ENROLL) $(OVMF_SHELL)
 OVMF_ENROLL = $(OVMF3264_BUILD_DIR)/X64/EnrollDefaultKeys.efi
 OVMF_SHELL =  $(OVMF3264_BUILD_DIR)/X64/Shell.efi
 OVMF_BINARIES = $(OVMF_ENROLL) $(OVMF_SHELL)
-OVMF_IMAGES := $(addprefix $(OVMF_INSTALL_DIR)/,OVMF_CODE.fd OVMF_CODE_4M.fd OVMF_CODE.secboot.fd OVMF_CODE_4M.secboot.fd OVMF_VARS.fd OVMF_VARS_4M.fd)
-OVMF_PREENROLLED_VARS := $(addprefix $(OVMF_INSTALL_DIR)/,OVMF_VARS.ms.fd OVMF_VARS_4M.ms.fd OVMF_VARS_4M.snakeoil.fd)
+OVMF_IMAGES := $(addprefix $(OVMF_INSTALL_DIR)/,OVMF_CODE_4M.fd OVMF_CODE_4M.secboot.fd OVMF_VARS_4M.fd)
+OVMF_PREENROLLED_VARS := $(addprefix $(OVMF_INSTALL_DIR)/,OVMF_VARS_4M.ms.fd OVMF_VARS_4M.snakeoil.fd)
 
 OVMF32_INSTALL_DIR = debian/ovmf32-install
 OVMF32_BUILD_DIR = Build/OvmfIa32/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN)
 
 OVMF32_INSTALL_DIR = debian/ovmf32-install
 OVMF32_BUILD_DIR = Build/OvmfIa32/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN)
@@ -106,15 +104,6 @@ build-ovmf: $(OVMF_BINARIES) $(OVMF_IMAGES) $(OVMF_PREENROLLED_VARS)
 $(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp
        rm -rf $(OVMF_INSTALL_DIR)
        mkdir $(OVMF_INSTALL_DIR)
 $(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp
        rm -rf $(OVMF_INSTALL_DIR)
        mkdir $(OVMF_INSTALL_DIR)
-       set -e; . ./edksetup.sh; \
-               build -a X64 \
-                       -t $(EDK2_TOOLCHAIN) \
-                       -p OvmfPkg/OvmfPkgX64.dsc \
-                       $(PCD_OPTIONS) \
-                       $(OVMF_2M_FLAGS) -b $(BUILD_TYPE)
-       cp $(OVMF_BUILD_DIR)/FV/OVMF_CODE.fd \
-               $(OVMF_BUILD_DIR)/FV/OVMF.fd $(OVMF_INSTALL_DIR)/
-       cp $(OVMF_BUILD_DIR)/FV/OVMF_VARS.fd $(OVMF_INSTALL_DIR)/
        rm -rf Build/OvmfX64
        set -e; . ./edksetup.sh; \
                build -a IA32 -a X64 \
        rm -rf Build/OvmfX64
        set -e; . ./edksetup.sh; \
                build -a IA32 -a X64 \
@@ -127,15 +116,6 @@ $(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp
        cp $(OVMF3264_BUILD_DIR)/FV/OVMF_VARS.fd \
                $(OVMF_INSTALL_DIR)/OVMF_VARS_4M.fd
        rm -rf Build/OvmfX64
        cp $(OVMF3264_BUILD_DIR)/FV/OVMF_VARS.fd \
                $(OVMF_INSTALL_DIR)/OVMF_VARS_4M.fd
        rm -rf Build/OvmfX64
-       set -e; . ./edksetup.sh; \
-               build -a X64 \
-                       -t $(EDK2_TOOLCHAIN) \
-                       -p OvmfPkg/OvmfPkgX64.dsc \
-                       $(PCD_OPTIONS) \
-                       $(OVMF_2M_SMM_FLAGS) -b $(BUILD_TYPE)
-       cp $(OVMF_BUILD_DIR)/FV/OVMF_CODE.fd \
-               $(OVMF_INSTALL_DIR)/OVMF_CODE.secboot.fd
-       rm -rf Build/OvmfX64
        set -e; . ./edksetup.sh; \
                build -a IA32 -a X64 \
                        -t $(EDK2_TOOLCHAIN) \
        set -e; . ./edksetup.sh; \
                build -a IA32 -a X64 \
                        -t $(EDK2_TOOLCHAIN) \
index 7195dba513980126e4a46a452d34b5442f68ceb8..2d863865bd1bfa4d2ad38353eb1b37515bde8e8e 100644 (file)
@@ -1 +1,5 @@
 debian/Logo.bmp
 debian/Logo.bmp
+debian/legacy-2M-builds/OVMF_VARS.ms.fd
+debian/legacy-2M-builds/OVMF_VARS.fd
+debian/legacy-2M-builds/OVMF_CODE.secboot.fd
+debian/legacy-2M-builds/OVMF_CODE.fd