diff --git a/0029-OvmfPkg-Microvm-take-PcdResizeXterm-from-the-QEMU-co.patch b/0029-OvmfPkg-Microvm-take-PcdResizeXterm-from-the-QEMU-co.patch new file mode 100644 index 0000000..a8b737d --- /dev/null +++ b/0029-OvmfPkg-Microvm-take-PcdResizeXterm-from-the-QEMU-co.patch @@ -0,0 +1,25 @@ +From 9120e7cff424f37e58f305d275124126aac27fd1 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 2 Dec 2021 14:06:18 +0100 +Subject: [PATCH 1/1] OvmfPkg/Microvm: take PcdResizeXterm from the QEMU + command line (RH only) + +--- + OvmfPkg/Microvm/MicrovmX64.dsc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc +index 617f92539518..80a01d551f3f 100644 +--- a/OvmfPkg/Microvm/MicrovmX64.dsc ++++ b/OvmfPkg/Microvm/MicrovmX64.dsc +@@ -551,6 +551,7 @@ [PcdsDynamicDefault] + # only set when + # ($(SMM_REQUIRE) == FALSE) + gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 ++ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE + + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0 +-- +2.33.1 + diff --git a/edk2-microvm.json b/edk2-microvm.json new file mode 100644 index 0000000..3d5b393 --- /dev/null +++ b/edk2-microvm.json @@ -0,0 +1,22 @@ +{ + "description": "OVMF for microvm", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "memory", + "filename": "/usr/share/edk2/ovmf/MICROVM.fd" + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "microvm" + ] + } + ], + "features": [ + ], + "tags": [ + ] +} diff --git a/edk2.spec b/edk2.spec index a5e38f5..ac39e33 100644 --- a/edk2.spec +++ b/edk2.spec @@ -77,6 +77,7 @@ Source56: 50-edk2-ovmf-ia32-sb.json Source57: 60-edk2-ovmf-ia32.json Source58: edk2-ovmf-nosb.json Source59: 70-edk2-arm-verbose.json +Source60: edk2-microvm.json Patch0008: 0008-BaseTools-do-not-build-BrotliCompress-RH-only.patch Patch0009: 0009-MdeModulePkg-remove-package-private-Brotli-include-p.patch @@ -98,6 +99,7 @@ Patch0025: 0025-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch Patch0026: 0026-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch Patch0027: 0027-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch Patch0028: 0028-OvmfPkg-MemEncryptSevLib-Check-the-guest-type-before.patch +Patch0029: 0029-OvmfPkg-Microvm-take-PcdResizeXterm-from-the-QEMU-co.patch # Fedora specific Patch1000: fedora-Tweak-the-tools_def-to-support-cross-compiling.patch @@ -406,6 +408,9 @@ build ${CC_FLAGS} -a AARCH64 \ %if %{defined fedora} +# build microvm +build ${OVMF_FLAGS} -a X64 -p OvmfPkg/Microvm/MicrovmX64.dsc + # build ovmf-ia32 mkdir -p ovmf-ia32 build ${OVMF_FLAGS} -a IA32 -p OvmfPkg/OvmfPkgIa32.dsc @@ -547,6 +552,12 @@ install -m 0644 edk2-aarch64-verbose.json \ %if %{defined fedora} +# install microvm +install -m 0644 Build/MicrovmX64/DEBUG_%{TOOLCHAIN}/FV/MICROVM.fd \ + %{buildroot}%{_datadir}/%{name}/ovmf/MICROVM.fd +install -p -m 0644 %{_sourcedir}/edk2-microvm.json \ + %{buildroot}%{_datadir}/qemu/firmware/60-edk2-ovmf-microvm.json + # Install extra x86_64 json files install -p -m 0644 %{_sourcedir}/edk2-ovmf-nosb.json \ %{buildroot}%{_datadir}/qemu/firmware/60-edk2-ovmf-nosb.json @@ -643,7 +654,9 @@ KERNEL_IMG=$(rpm -q -l $KERNEL_PKG | egrep '^/lib/modules/[^/]+/vmlinuz$') %{_datadir}/qemu/firmware/50-edk2-ovmf-cc.json %{_datadir}/qemu/firmware/50-edk2-ovmf.json %if %{defined fedora} +%{_datadir}/%{name}/ovmf/MICROVM.fd %{_datadir}/qemu/firmware/60-edk2-ovmf-nosb.json +%{_datadir}/qemu/firmware/60-edk2-ovmf-microvm.json %endif # endif build_ovmf %endif