[arch-commits] Commit in edk2/trunk (3 files)
David Runge
dvzrv at gemini.archlinux.org
Tue Nov 30 20:11:55 UTC 2021
Date: Tuesday, November 30, 2021 @ 20:11:54
Author: dvzrv
Revision: 429710
upgpkg: edk2 202111-3: Rebuild to add QEMU firmware descriptors.
Add QEMU firmware descriptor files for CSM enabled firmware images.
Update urls for edk2-{armvirt,ovmf}.
Use TPM_CONFIG_ENABLE, wherever TPM_ENABLE is in use.
Build the x86_64 secure boot images as dual-architecture files (as discussed in
https://bugs.archlinux.org/task/59465).
Added:
edk2/trunk/50-edk2-ovmf-i386-csm.json
edk2/trunk/50-edk2-ovmf-x86_64-csm.json
Modified:
edk2/trunk/PKGBUILD
------------------------------+
50-edk2-ovmf-i386-csm.json | 33 +++++++++++++++++++++++++++++++++
50-edk2-ovmf-x86_64-csm.json | 34 ++++++++++++++++++++++++++++++++++
PKGBUILD | 41 +++++++++++++++++++++++++++++++----------
3 files changed, 98 insertions(+), 10 deletions(-)
Added: 50-edk2-ovmf-i386-csm.json
===================================================================
--- 50-edk2-ovmf-i386-csm.json (rev 0)
+++ 50-edk2-ovmf-i386-csm.json 2021-11-30 20:11:54 UTC (rev 429710)
@@ -0,0 +1,33 @@
+{
+ "description": "UEFI firmware for i386, with CSM",
+ "interface-types": [
+ "uefi"
+ ],
+ "mapping": {
+ "device": "flash",
+ "executable": {
+ "filename": "/usr/share/edk2-ovmf/ia32/OVMF_CODE.csm.fd",
+ "format": "raw"
+ },
+ "nvram-template": {
+ "filename": "/usr/share/edk2-ovmf/ia32/OVMF_VARS.fd",
+ "format": "raw"
+ }
+ },
+ "targets": [
+ {
+ "architecture": "i386",
+ "machines": [
+ "pc-i440fx-*",
+ "pc-q35-*"
+ ]
+ }
+ ],
+ "features": [
+ "acpi-s3",
+ "verbose-dynamic"
+ ],
+ "tags": [
+
+ ]
+}
Added: 50-edk2-ovmf-x86_64-csm.json
===================================================================
--- 50-edk2-ovmf-x86_64-csm.json (rev 0)
+++ 50-edk2-ovmf-x86_64-csm.json 2021-11-30 20:11:54 UTC (rev 429710)
@@ -0,0 +1,34 @@
+{
+ "description": "UEFI firmware for x86_64, with CSM support",
+ "interface-types": [
+ "uefi"
+ ],
+ "mapping": {
+ "device": "flash",
+ "executable": {
+ "filename": "/usr/share/edk2-ovmf/x64/OVMF_CODE.csm.fd",
+ "format": "raw"
+ },
+ "nvram-template": {
+ "filename": "/usr/share/edk2-ovmf/x64/OVMF_VARS.fd",
+ "format": "raw"
+ }
+ },
+ "targets": [
+ {
+ "architecture": "x86_64",
+ "machines": [
+ "pc-i440fx-*",
+ "pc-q35-*"
+ ]
+ }
+ ],
+ "features": [
+ "acpi-s3",
+ "amd-sev",
+ "verbose-dynamic"
+ ],
+ "tags": [
+
+ ]
+}
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2021-11-30 19:48:24 UTC (rev 429709)
+++ PKGBUILD 2021-11-30 20:11:54 UTC (rev 429710)
@@ -1,4 +1,5 @@
# Maintainer: David Runge <dvzrv at archlinux.org>
+# Contributor: Alexander Epaneshnikov <alex19ep at archlinux.org>
_brotli_ver=1.0.9
_openssl_ver=1.1.1l
@@ -5,7 +6,7 @@
pkgbase=edk2
pkgname=(edk2-armvirt edk2-shell edk2-ovmf)
pkgver=202111
-pkgrel=2
+pkgrel=3
pkgdesc="Modern, feature-rich firmware development environment for the UEFI specifications"
arch=(any)
url="https://github.com/tianocore/edk2"
@@ -16,7 +17,9 @@
"https://www.openssl.org/source/openssl-${_openssl_ver}.tar.gz"{,.asc}
"brotli-${_brotli_ver}.tar.gz::https://github.com/google/brotli/archive/v${_brotli_ver}.tar.gz"
"${pkgbase}-202102-brotli-1.0.9.patch"
+ "50-edk2-ovmf-i386-csm.json"
"50-edk2-ovmf-i386-secure.json"
+ "50-edk2-ovmf-x86_64-csm.json"
"50-edk2-ovmf-x86_64-secure.json"
"60-edk2-ovmf-i386.json"
"60-edk2-ovmf-x86_64.json"
@@ -26,7 +29,9 @@
'SKIP'
'b8e2df955e8796ac1f022eb4ebad29532cb7e3aa6a4b6aee91dbd2c7d637eee84d9a144d3e878895bb5e62800875c2c01c8f737a1261020c54feacf9f676b5f5'
'fe0fd592d4b436a35a49a74ad5dd989311b297b9abacb13ed8d4da0986169c91ffbc34cef0f2d52bf40c833d252f6e65311ab0e4e4ca6798390febfb9a787a4a'
+ '919121116542511d0c283473e160ba09afd6807cb0203be69109dc00ed052e90b4b4d1a0603e30c52d35bfb715d8cb3e2087f3a5b22083009a984d4076d4e73d'
'55e4187b11b27737f61e528c02ff43b9381c0cb09140e803531616766f9cb9401115d88d946b56171784cc028f9571279640eb39b6a9fa8e02ec0c8d1b036a3e'
+ '4b6ad05e38fb661cb71693d640ed5b5e12701e6ae7a9074259493f6126992af4319bb99bb854cf7effd470010ddf532a8add07010f2becaae4f950651943598d'
'a1236585b30d720540de2e9527d8c90ff2d428e800b3da545b23461dc698dc91fe441b62bb8cbca76e08f4ec1eb485619e9ab26157deb06e7fb33e7f5f9dd8b6'
'c81e072aabfb01d29cf5194111524e2c4c8684979de6b6793db10299c95bb94f7b1d0a98b057df0664d7a894a2b40e9b4c3576112fae400a95eaf5fe5fc9369b'
'2030dc1d49d56fce8af56c5777fd40f04041e39ff806dd8c021e161227bdd646982024db6758230b8332dc68f16bc6918e1d54ad3c022e21e148d6b65ea778b3'
@@ -36,7 +41,9 @@
'SKIP'
'8b9939d5224396ef33b43e019250ba4bc8949903583615e8dc02c85340fc0a1e2d1632161e00b0ee7355d77f05529ac772f482e05d2089afd71a0bf71e803904'
'eb549f711aa31b0a46f3e9b74076e52e0e1734045c227f410016c6de46a3b7b2959287d49b5ef853236c57fa3b3143b1da31fd9ef6fd592ba22ba9af15941a76'
+ '66d21917c6fc2f9d1f35c986296ad40bdac52707f44becf2c8b11b21f873110d81700ff933fcb48812be0ebb11259faf38b1d7293ebd6ccd5f34f1dff187675c'
'96502e0c8b748d6db0fcd4e767264f778319b4517fe4bf2e6e4f92e35bf09f388fb7f39c349e66444368820c31a6ff76e952053ac9f9696a59f7f0a929a650d1'
+ 'c539f053bfc1623b1b195a1ec25cb6be30745149ad4bbf4e3438f3f7793fbfe814583f3410c4ff5d8a33f087a9fc425065f22355c4453cb0cc126ab60a52ffb2'
'4a438a2f7726c6a9ff1a40506ddb5f724d5c220b57997784fefe4a180e249b4f1e9adc8e353e7dbc492a1bde0165442d873409656ce2fbbc9fd35c690b7692e4'
'5da17cfe08368542f04b47121b296c56a6702233207b1cdb822eea42c8fb43d8856e86d19122621caf97e4332814c839204d7ce191041128ee3921b23f137bb6'
'1b935f3ad0bd3f10a90430a2873bf592950e9c49c828b50bb1ae48634cee01cc571aeff1c5b4695e0b4faa6274afc0a92fdcc88e283029298bba5e11b2bd2904'
@@ -66,10 +73,11 @@
sed -e 's/ -Werror//g' \
-i BaseTools/Conf/*.template BaseTools/Source/C/Makefiles/*.makefile
- # copy seabios's CSM16 binary into place, so that it can be included in the binaries:
+ # copy seabios's CSM binary into place, so that it can be included in the binaries:
cp -v /usr/share/qemu/bios-csm.bin OvmfPkg/Csm/Csm16/Csm16.bin
}
+# TODO: check TPM_ENABLE/TPM2_ENABLE
build() {
cd "$pkgbase-$pkgver"
export GCC5_IA32_PREFIX="x86_64-linux-gnu-"
@@ -100,6 +108,7 @@
-D LOAD_X64_ON_IA32_ENABLE \
-D NETWORK_IP6_ENABLE \
-D TPM_ENABLE \
+ -D TPM_CONFIG_ENABLE \
-D HTTP_BOOT_ENABLE \
-D TLS_ENABLE \
-D FD_SIZE_2MB \
@@ -107,7 +116,7 @@
-D SMM_REQUIRE \
-D EXCLUDE_SHELL_FROM_FD
mv -v Build/Ovmf{Ia32,IA32-secure}
- echo "Building ovmf (${_arch}) with CSM16 support"
+ echo "Building ovmf (${_arch}) with CSM support"
OvmfPkg/build.sh -p OvmfPkg/OvmfPkgIa32.dsc \
-a "${_arch}" \
-b "${_build_type}" \
@@ -116,6 +125,7 @@
-D LOAD_X64_ON_IA32_ENABLE \
-D NETWORK_IP6_ENABLE \
-D TPM_ENABLE \
+ -D TPM_CONFIG_ENABLE \
-D HTTP_BOOT_ENABLE \
-D TLS_ENABLE \
-D CSM_ENABLE \
@@ -130,6 +140,7 @@
-D LOAD_X64_ON_IA32_ENABLE \
-D NETWORK_IP6_ENABLE \
-D TPM_ENABLE \
+ -D TPM_CONFIG_ENABLE \
-D HTTP_BOOT_ENABLE \
-D TLS_ENABLE \
-D FD_SIZE_2MB
@@ -137,13 +148,14 @@
fi
if [[ "${_arch}" == 'X64' ]]; then
echo "Building ovmf (${_arch}) with secure boot support"
- OvmfPkg/build.sh -p "OvmfPkg/OvmfPkg${_arch}.dsc" \
- -a "${_arch}" \
+ OvmfPkg/build.sh -p "OvmfPkg/OvmfPkgIa32X64.dsc" \
+ -a IA32 -a "${_arch}" \
-b "${_build_type}" \
-n "$(nproc)" \
-t "${_build_plugin}" \
-D NETWORK_IP6_ENABLE \
-D TPM_ENABLE \
+ -D TPM_CONFIG_ENABLE \
-D FD_SIZE_2MB \
-D TLS_ENABLE \
-D HTTP_BOOT_ENABLE \
@@ -150,8 +162,8 @@
-D SECURE_BOOT_ENABLE \
-D SMM_REQUIRE \
-D EXCLUDE_SHELL_FROM_FD
- mv -v Build/OvmfX64{,-secure}
- echo "Building ovmf (${_arch}) with CSM16 support"
+ mv -v Build/Ovmf3264{,-secure}
+ echo "Building ovmf (${_arch}) with CSM support"
OvmfPkg/build.sh -p "OvmfPkg/OvmfPkg${_arch}.dsc" \
-a "${_arch}" \
-b "${_build_type}" \
@@ -159,6 +171,7 @@
-t "${_build_plugin}" \
-D NETWORK_IP6_ENABLE \
-D TPM_ENABLE \
+ -D TPM_CONFIG_ENABLE \
-D FD_SIZE_2MB \
-D TLS_ENABLE \
-D CSM_ENABLE \
@@ -172,6 +185,7 @@
-t "${_build_plugin}" \
-D NETWORK_IP6_ENABLE \
-D TPM_ENABLE \
+ -D TPM_CONFIG_ENABLE \
-D FD_SIZE_2MB \
-D TLS_ENABLE \
-D HTTP_BOOT_ENABLE
@@ -204,6 +218,7 @@
package_edk2-armvirt() {
pkgdesc="Firmware for Virtual Machines (aarch64)"
+ url="https://github.com/tianocore/tianocore.github.io/wiki/ArmVirtPkg"
local _arch=AARCH64
cd "$pkgbase-$pkgver"
@@ -252,10 +267,11 @@
package_edk2-ovmf() {
pkgdesc="Firmware for Virtual Machines (x86_64, i686)"
+ url="https://github.com/tianocore/tianocore.github.io/wiki/OVMF"
+ license+=(MIT)
provides=(ovmf)
conflicts=(ovmf)
replaces=(ovmf)
- license+=(MIT)
install="${pkgname}.install"
cd "$pkgbase-$pkgver"
@@ -272,10 +288,15 @@
-t "${pkgdir}/usr/share/${pkgname}/${_arch,,}"
install -vDm 644 "Build/Ovmf${_arch}/${_build_type}_${_build_plugin}/FV/OVMF_VARS.fd" \
-t "${pkgdir}/usr/share/${pkgname}/${_arch,,}"
- install -vDm 644 "Build/Ovmf${_arch}-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \
- "${pkgdir}/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.secboot.fd"
install -vDm 644 "Build/Ovmf${_arch}-csm/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \
"${pkgdir}/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.csm.fd"
+ if [[ "${_arch}" == 'X64' ]]; then
+ install -vDm 644 "Build/Ovmf3264-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \
+ "${pkgdir}/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.secboot.fd"
+ else
+ install -vDm 644 "Build/Ovmf${_arch}-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \
+ "${pkgdir}/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.secboot.fd"
+ fi
fi
done
# installing qemu descriptors in accordance with qemu:
More information about the arch-commits
mailing list