* Mon Apr 07 2025 Miroslav Rezanina <mrezanin@redhat.com> - 20250221-2
- edk2-.distro-drop-setup-macro-in-specfile-comment.patch [RHEL-85759] - edk2-.distro-switch-to-rhel-10-build-config.patch [RHEL-85759] - edk2-.distro-add-riscv64-sub-rpm.patch [RHEL-85759] - Resolves: RHEL-85759 (RFE: Add riscv64 build and sub-package)
This commit is contained in:
parent
46cef60de6
commit
bb41216a44
33
50-edk2-riscv-qcow2.json
Normal file
33
50-edk2-riscv-qcow2.json
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
"description": "UEFI firmware for RISC-V virtual machines",
|
||||
"interface-types": [
|
||||
"uefi"
|
||||
],
|
||||
"mapping": {
|
||||
"device": "flash",
|
||||
"mode" : "split",
|
||||
"executable": {
|
||||
"filename": "/usr/share/edk2/riscv/RISCV_VIRT_CODE.qcow2",
|
||||
"format": "qcow2"
|
||||
},
|
||||
"nvram-template": {
|
||||
"filename": "/usr/share/edk2/riscv/RISCV_VIRT_VARS.qcow2",
|
||||
"format": "qcow2"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "riscv64",
|
||||
"machines": [
|
||||
"virt",
|
||||
"virt-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
@ -63,7 +63,7 @@ opts = ovmf.common
|
||||
pcds = nx.compat.x64
|
||||
la57
|
||||
plat = OvmfX64
|
||||
dest = RHEL-9/ovmf
|
||||
dest = RHEL-10/ovmf
|
||||
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.fd
|
||||
cpy2 = FV/OVMF_VARS.fd
|
||||
cpy3 = X64/Shell.efi
|
||||
@ -78,7 +78,7 @@ opts = ovmf.common
|
||||
pcds = nx.compat.x64
|
||||
la57
|
||||
plat = OvmfX64
|
||||
dest = RHEL-9/ovmf
|
||||
dest = RHEL-10/ovmf
|
||||
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.secboot.fd
|
||||
cpy2 = X64/EnrollDefaultKeys.efi
|
||||
|
||||
@ -94,7 +94,7 @@ opts = ovmf.common
|
||||
ovmf.4m
|
||||
pcds = nx.compat.x64
|
||||
plat = AmdSev
|
||||
dest = RHEL-9/ovmf
|
||||
dest = RHEL-10/ovmf
|
||||
cpy1 = FV/OVMF.fd OVMF.amdsev.fd
|
||||
|
||||
[build.ovmf.inteltdx]
|
||||
@ -107,7 +107,7 @@ opts = ovmf.common
|
||||
pcds = nx.compat.x64
|
||||
la57
|
||||
plat = IntelTdx
|
||||
dest = RHEL-9/ovmf
|
||||
dest = RHEL-10/ovmf
|
||||
cpy1 = FV/OVMF.fd OVMF.inteltdx.fd
|
||||
|
||||
|
||||
@ -122,7 +122,7 @@ opts = ovmf.common
|
||||
armvirt.verbose
|
||||
pcds = nx.compat.aa64
|
||||
plat = ArmVirtQemu-AARCH64
|
||||
dest = RHEL-9/aarch64
|
||||
dest = RHEL-10/aarch64
|
||||
cpy1 = FV/QEMU_EFI.fd
|
||||
cpy2 = FV/QEMU_VARS.fd
|
||||
cpy3 = FV/QEMU_EFI.fd QEMU_EFI-pflash.raw
|
||||
@ -138,7 +138,23 @@ opts = ovmf.common
|
||||
armvirt.silent
|
||||
pcds = nx.compat.aa64
|
||||
plat = ArmVirtQemu-AARCH64
|
||||
dest = RHEL-9/aarch64
|
||||
dest = RHEL-10/aarch64
|
||||
cpy1 = FV/QEMU_EFI.fd QEMU_EFI.silent.fd
|
||||
cpy2 = FV/QEMU_EFI.fd QEMU_EFI-silent-pflash.raw
|
||||
pad2 = QEMU_EFI-silent-pflash.raw 64m
|
||||
|
||||
|
||||
#####################################################################
|
||||
# riscv build
|
||||
|
||||
[build.riscv.qemu]
|
||||
conf = OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc
|
||||
arch = RISCV64
|
||||
plat = RiscVVirtQemu
|
||||
dest = RHEL-10/riscv
|
||||
cpy1 = FV/RISCV_VIRT_CODE.fd
|
||||
cpy2 = FV/RISCV_VIRT_CODE.fd RISCV_VIRT_CODE.raw
|
||||
cpy3 = FV/RISCV_VIRT_VARS.fd
|
||||
cpy4 = FV/RISCV_VIRT_VARS.fd RISCV_VIRT_VARS.raw
|
||||
pad1 = RISCV_VIRT_CODE.raw 32m
|
||||
pad2 = RISCV_VIRT_VARS.raw 32m
|
76
edk2.spec
76
edk2.spec
@ -1,4 +1,4 @@
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
ExclusiveArch: x86_64 aarch64 riscv64
|
||||
|
||||
# edk2-stable202502
|
||||
%define GITDATE 20250221
|
||||
@ -12,16 +12,20 @@ ExclusiveArch: x86_64 aarch64
|
||||
|
||||
%define build_ovmf 0
|
||||
%define build_aarch64 0
|
||||
%define build_riscv64 0
|
||||
%ifarch x86_64
|
||||
%define build_ovmf 1
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
%define build_aarch64 1
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
%define build_riscv64 1
|
||||
%endif
|
||||
|
||||
Name: edk2
|
||||
Version: %{GITDATE}
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: UEFI firmware for 64-bit virtual machines
|
||||
License: BSD-2-Clause-Patent and Apache-2.0 and MIT
|
||||
URL: http://www.tianocore.org
|
||||
@ -47,9 +51,11 @@ Source43: 50-edk2-ovmf-x64-nosb.json
|
||||
Source44: 60-edk2-ovmf-x64-amdsev.json
|
||||
Source45: 60-edk2-ovmf-x64-inteltdx.json
|
||||
|
||||
Source50: 50-edk2-riscv-qcow2.json
|
||||
|
||||
# https://gitlab.com/kraxel/edk2-build-config
|
||||
Source80: edk2-build.py
|
||||
Source82: edk2-build.rhel-9
|
||||
Source82: edk2-build.rhel-10
|
||||
|
||||
Source90: DBXUpdate-%{DBXDATE}.x64.bin
|
||||
Patch1: 0003-Remove-paths-leading-to-submodules.patch
|
||||
@ -154,6 +160,19 @@ platform that enables UEFI support for QEMU/KVM ARM Virtual Machines. This
|
||||
package contains a 64-bit build.
|
||||
|
||||
|
||||
%package riscv64
|
||||
Summary: UEFI firmware for riscv64 virtual machines
|
||||
BuildArch: noarch
|
||||
|
||||
# No Secure Boot for riscv64 yet, but we include OpenSSL for the IPv6 stack.
|
||||
Provides: bundled(openssl) = %{OPENSSL_VER}
|
||||
License: BSD-2-Clause-Patent and Apache-2.0
|
||||
|
||||
%description riscv64
|
||||
EFI Development Kit II platform that enables UEFI support for QEMU/KVM
|
||||
RISC-V Virtual Machines. This package contains a 64-bit build.
|
||||
|
||||
|
||||
%package tools
|
||||
Summary: EFI Development Kit II Tools
|
||||
License: BSD-2-Clause-Patent
|
||||
@ -190,12 +209,13 @@ git config am.keepcr true
|
||||
cp -a -- %{SOURCE1} .
|
||||
cp -a -- %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} .
|
||||
cp -a -- %{SOURCE40} %{SOURCE41} %{SOURCE43} %{SOURCE44} %{SOURCE45} .
|
||||
cp -a -- %{SOURCE50} .
|
||||
cp -a -- %{SOURCE80} %{SOURCE82} .
|
||||
cp -a -- %{SOURCE90} .
|
||||
tar -C CryptoPkg/Library/OpensslLib -a -f %{SOURCE2} -x
|
||||
tar -xf %{SOURCE3} --strip-components=1 --directory MdePkg/Library/BaseFdtLib/libfdt
|
||||
|
||||
# Done by %setup, but we do not use it for the auxiliary tarballs
|
||||
# Done by setup macro, but we do not use it for the auxiliary tarballs
|
||||
chmod -Rf a+rX,u+w,g-w,o-w .
|
||||
|
||||
%build
|
||||
@ -248,28 +268,37 @@ mkdir -p CryptoPkg/Library/MbedTlsLib/mbedtls/library
|
||||
mkdir -p SecurityPkg/DeviceSecurity/SpdmLib/libspdm/include
|
||||
|
||||
%if %{build_ovmf}
|
||||
./edk2-build.py --config edk2-build.rhel-9 -m ovmf --release-date "$RELEASE_DATE"
|
||||
build_iso RHEL-9/ovmf
|
||||
cp DBXUpdate-%{DBXDATE}.x64.bin RHEL-9/ovmf
|
||||
virt-fw-vars --input RHEL-9/ovmf/OVMF_VARS.fd \
|
||||
--output RHEL-9/ovmf/OVMF_VARS.secboot.fd \
|
||||
./edk2-build.py --config edk2-build.rhel-10 -m ovmf --release-date "$RELEASE_DATE"
|
||||
build_iso RHEL-10/ovmf
|
||||
cp DBXUpdate-%{DBXDATE}.x64.bin RHEL-10/ovmf
|
||||
virt-fw-vars --input RHEL-10/ovmf/OVMF_VARS.fd \
|
||||
--output RHEL-10/ovmf/OVMF_VARS.secboot.fd \
|
||||
--set-dbx DBXUpdate-%{DBXDATE}.x64.bin \
|
||||
--enroll-redhat --secure-boot
|
||||
virt-fw-vars --input RHEL-9/ovmf/OVMF.inteltdx.fd \
|
||||
--output RHEL-9/ovmf/OVMF.inteltdx.secboot.fd \
|
||||
virt-fw-vars --input RHEL-10/ovmf/OVMF.inteltdx.fd \
|
||||
--output RHEL-10/ovmf/OVMF.inteltdx.secboot.fd \
|
||||
--set-dbx DBXUpdate-%{DBXDATE}.x64.bin \
|
||||
--enroll-redhat --secure-boot \
|
||||
--set-fallback-no-reboot
|
||||
%endif
|
||||
|
||||
%if %{build_aarch64}
|
||||
./edk2-build.py --config edk2-build.rhel-9 -m armvirt --release-date "$RELEASE_DATE"
|
||||
./edk2-build.py --config edk2-build.rhel-10 -m armvirt --release-date "$RELEASE_DATE"
|
||||
for raw in */aarch64/*.raw; do
|
||||
qcow2="${raw%.raw}.qcow2"
|
||||
qemu-img convert -f raw -O qcow2 -o cluster_size=4096 -S 4096 "$raw" "$qcow2"
|
||||
done
|
||||
%endif
|
||||
|
||||
%if %{build_riscv64}
|
||||
./edk2-build.py --config edk2-build.rhel-10 -m riscv --release-date "$RELEASE_DATE"
|
||||
for raw in */riscv/*.raw; do
|
||||
qcow2="${raw%.raw}.qcow2"
|
||||
qemu-img convert -f raw -O qcow2 -o cluster_size=4096 -S 4096 "$raw" "$qcow2"
|
||||
rm -f "$raw"
|
||||
done
|
||||
%endif
|
||||
|
||||
%install
|
||||
|
||||
cp -a OvmfPkg/License.txt License.OvmfPkg.txt
|
||||
@ -292,7 +321,7 @@ install BaseTools/Scripts/GccBase.lds \
|
||||
%{buildroot}%{_datadir}/%{name}/Scripts
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/%{name}
|
||||
cp -av RHEL-9/* %{buildroot}%{_datadir}/%{name}
|
||||
cp -av RHEL-10/* %{buildroot}%{_datadir}/%{name}
|
||||
|
||||
%if %{build_ovmf}
|
||||
mkdir -p %{buildroot}%{_datadir}/OVMF
|
||||
@ -334,6 +363,12 @@ install -m 0644 \
|
||||
# endif build_aarch64
|
||||
%endif
|
||||
|
||||
%if %{build_riscv64}
|
||||
install -m 0644 \
|
||||
50-edk2-riscv-qcow2.json \
|
||||
%{buildroot}%{_datadir}/qemu/firmware
|
||||
%endif
|
||||
|
||||
%check
|
||||
|
||||
%global common_files \
|
||||
@ -394,6 +429,14 @@ install -m 0644 \
|
||||
# endif build_aarch64
|
||||
%endif
|
||||
|
||||
%if %{build_riscv64}
|
||||
%files riscv64
|
||||
%common_files
|
||||
%{_datadir}/%{name}/riscv/*.fd
|
||||
%{_datadir}/%{name}/riscv/*.qcow2
|
||||
%{_datadir}/qemu/firmware/50-edk2-riscv-qcow2.json
|
||||
%endif
|
||||
|
||||
%files tools
|
||||
%license License.txt
|
||||
%license License-History.txt
|
||||
@ -419,6 +462,13 @@ install -m 0644 \
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Apr 07 2025 Miroslav Rezanina <mrezanin@redhat.com> - 20250221-2
|
||||
- edk2-.distro-drop-setup-macro-in-specfile-comment.patch [RHEL-85759]
|
||||
- edk2-.distro-switch-to-rhel-10-build-config.patch [RHEL-85759]
|
||||
- edk2-.distro-add-riscv64-sub-rpm.patch [RHEL-85759]
|
||||
- Resolves: RHEL-85759
|
||||
(RFE: Add riscv64 build and sub-package)
|
||||
|
||||
* Wed Mar 26 2025 Miroslav Rezanina <mrezanin@redhat.com> - 20250221-1
|
||||
- Rebase to edk2-stable202502 [RHEL-75592]
|
||||
- Resolves: RHEL-75592
|
||||
|
Loading…
Reference in New Issue
Block a user