* 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
|
pcds = nx.compat.x64
|
||||||
la57
|
la57
|
||||||
plat = OvmfX64
|
plat = OvmfX64
|
||||||
dest = RHEL-9/ovmf
|
dest = RHEL-10/ovmf
|
||||||
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.fd
|
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.fd
|
||||||
cpy2 = FV/OVMF_VARS.fd
|
cpy2 = FV/OVMF_VARS.fd
|
||||||
cpy3 = X64/Shell.efi
|
cpy3 = X64/Shell.efi
|
||||||
@ -78,7 +78,7 @@ opts = ovmf.common
|
|||||||
pcds = nx.compat.x64
|
pcds = nx.compat.x64
|
||||||
la57
|
la57
|
||||||
plat = OvmfX64
|
plat = OvmfX64
|
||||||
dest = RHEL-9/ovmf
|
dest = RHEL-10/ovmf
|
||||||
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.secboot.fd
|
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.secboot.fd
|
||||||
cpy2 = X64/EnrollDefaultKeys.efi
|
cpy2 = X64/EnrollDefaultKeys.efi
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ opts = ovmf.common
|
|||||||
ovmf.4m
|
ovmf.4m
|
||||||
pcds = nx.compat.x64
|
pcds = nx.compat.x64
|
||||||
plat = AmdSev
|
plat = AmdSev
|
||||||
dest = RHEL-9/ovmf
|
dest = RHEL-10/ovmf
|
||||||
cpy1 = FV/OVMF.fd OVMF.amdsev.fd
|
cpy1 = FV/OVMF.fd OVMF.amdsev.fd
|
||||||
|
|
||||||
[build.ovmf.inteltdx]
|
[build.ovmf.inteltdx]
|
||||||
@ -107,7 +107,7 @@ opts = ovmf.common
|
|||||||
pcds = nx.compat.x64
|
pcds = nx.compat.x64
|
||||||
la57
|
la57
|
||||||
plat = IntelTdx
|
plat = IntelTdx
|
||||||
dest = RHEL-9/ovmf
|
dest = RHEL-10/ovmf
|
||||||
cpy1 = FV/OVMF.fd OVMF.inteltdx.fd
|
cpy1 = FV/OVMF.fd OVMF.inteltdx.fd
|
||||||
|
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ opts = ovmf.common
|
|||||||
armvirt.verbose
|
armvirt.verbose
|
||||||
pcds = nx.compat.aa64
|
pcds = nx.compat.aa64
|
||||||
plat = ArmVirtQemu-AARCH64
|
plat = ArmVirtQemu-AARCH64
|
||||||
dest = RHEL-9/aarch64
|
dest = RHEL-10/aarch64
|
||||||
cpy1 = FV/QEMU_EFI.fd
|
cpy1 = FV/QEMU_EFI.fd
|
||||||
cpy2 = FV/QEMU_VARS.fd
|
cpy2 = FV/QEMU_VARS.fd
|
||||||
cpy3 = FV/QEMU_EFI.fd QEMU_EFI-pflash.raw
|
cpy3 = FV/QEMU_EFI.fd QEMU_EFI-pflash.raw
|
||||||
@ -138,7 +138,23 @@ opts = ovmf.common
|
|||||||
armvirt.silent
|
armvirt.silent
|
||||||
pcds = nx.compat.aa64
|
pcds = nx.compat.aa64
|
||||||
plat = ArmVirtQemu-AARCH64
|
plat = ArmVirtQemu-AARCH64
|
||||||
dest = RHEL-9/aarch64
|
dest = RHEL-10/aarch64
|
||||||
cpy1 = FV/QEMU_EFI.fd QEMU_EFI.silent.fd
|
cpy1 = FV/QEMU_EFI.fd QEMU_EFI.silent.fd
|
||||||
cpy2 = FV/QEMU_EFI.fd QEMU_EFI-silent-pflash.raw
|
cpy2 = FV/QEMU_EFI.fd QEMU_EFI-silent-pflash.raw
|
||||||
pad2 = QEMU_EFI-silent-pflash.raw 64m
|
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
|
# edk2-stable202502
|
||||||
%define GITDATE 20250221
|
%define GITDATE 20250221
|
||||||
@ -12,16 +12,20 @@ ExclusiveArch: x86_64 aarch64
|
|||||||
|
|
||||||
%define build_ovmf 0
|
%define build_ovmf 0
|
||||||
%define build_aarch64 0
|
%define build_aarch64 0
|
||||||
|
%define build_riscv64 0
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
%define build_ovmf 1
|
%define build_ovmf 1
|
||||||
%endif
|
%endif
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
%define build_aarch64 1
|
%define build_aarch64 1
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch riscv64
|
||||||
|
%define build_riscv64 1
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: edk2
|
Name: edk2
|
||||||
Version: %{GITDATE}
|
Version: %{GITDATE}
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: UEFI firmware for 64-bit virtual machines
|
Summary: UEFI firmware for 64-bit virtual machines
|
||||||
License: BSD-2-Clause-Patent and Apache-2.0 and MIT
|
License: BSD-2-Clause-Patent and Apache-2.0 and MIT
|
||||||
URL: http://www.tianocore.org
|
URL: http://www.tianocore.org
|
||||||
@ -47,9 +51,11 @@ Source43: 50-edk2-ovmf-x64-nosb.json
|
|||||||
Source44: 60-edk2-ovmf-x64-amdsev.json
|
Source44: 60-edk2-ovmf-x64-amdsev.json
|
||||||
Source45: 60-edk2-ovmf-x64-inteltdx.json
|
Source45: 60-edk2-ovmf-x64-inteltdx.json
|
||||||
|
|
||||||
|
Source50: 50-edk2-riscv-qcow2.json
|
||||||
|
|
||||||
# https://gitlab.com/kraxel/edk2-build-config
|
# https://gitlab.com/kraxel/edk2-build-config
|
||||||
Source80: edk2-build.py
|
Source80: edk2-build.py
|
||||||
Source82: edk2-build.rhel-9
|
Source82: edk2-build.rhel-10
|
||||||
|
|
||||||
Source90: DBXUpdate-%{DBXDATE}.x64.bin
|
Source90: DBXUpdate-%{DBXDATE}.x64.bin
|
||||||
Patch1: 0003-Remove-paths-leading-to-submodules.patch
|
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 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
|
%package tools
|
||||||
Summary: EFI Development Kit II Tools
|
Summary: EFI Development Kit II Tools
|
||||||
License: BSD-2-Clause-Patent
|
License: BSD-2-Clause-Patent
|
||||||
@ -190,12 +209,13 @@ git config am.keepcr true
|
|||||||
cp -a -- %{SOURCE1} .
|
cp -a -- %{SOURCE1} .
|
||||||
cp -a -- %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} .
|
cp -a -- %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} .
|
||||||
cp -a -- %{SOURCE40} %{SOURCE41} %{SOURCE43} %{SOURCE44} %{SOURCE45} .
|
cp -a -- %{SOURCE40} %{SOURCE41} %{SOURCE43} %{SOURCE44} %{SOURCE45} .
|
||||||
|
cp -a -- %{SOURCE50} .
|
||||||
cp -a -- %{SOURCE80} %{SOURCE82} .
|
cp -a -- %{SOURCE80} %{SOURCE82} .
|
||||||
cp -a -- %{SOURCE90} .
|
cp -a -- %{SOURCE90} .
|
||||||
tar -C CryptoPkg/Library/OpensslLib -a -f %{SOURCE2} -x
|
tar -C CryptoPkg/Library/OpensslLib -a -f %{SOURCE2} -x
|
||||||
tar -xf %{SOURCE3} --strip-components=1 --directory MdePkg/Library/BaseFdtLib/libfdt
|
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 .
|
chmod -Rf a+rX,u+w,g-w,o-w .
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -248,28 +268,37 @@ mkdir -p CryptoPkg/Library/MbedTlsLib/mbedtls/library
|
|||||||
mkdir -p SecurityPkg/DeviceSecurity/SpdmLib/libspdm/include
|
mkdir -p SecurityPkg/DeviceSecurity/SpdmLib/libspdm/include
|
||||||
|
|
||||||
%if %{build_ovmf}
|
%if %{build_ovmf}
|
||||||
./edk2-build.py --config edk2-build.rhel-9 -m ovmf --release-date "$RELEASE_DATE"
|
./edk2-build.py --config edk2-build.rhel-10 -m ovmf --release-date "$RELEASE_DATE"
|
||||||
build_iso RHEL-9/ovmf
|
build_iso RHEL-10/ovmf
|
||||||
cp DBXUpdate-%{DBXDATE}.x64.bin RHEL-9/ovmf
|
cp DBXUpdate-%{DBXDATE}.x64.bin RHEL-10/ovmf
|
||||||
virt-fw-vars --input RHEL-9/ovmf/OVMF_VARS.fd \
|
virt-fw-vars --input RHEL-10/ovmf/OVMF_VARS.fd \
|
||||||
--output RHEL-9/ovmf/OVMF_VARS.secboot.fd \
|
--output RHEL-10/ovmf/OVMF_VARS.secboot.fd \
|
||||||
--set-dbx DBXUpdate-%{DBXDATE}.x64.bin \
|
--set-dbx DBXUpdate-%{DBXDATE}.x64.bin \
|
||||||
--enroll-redhat --secure-boot
|
--enroll-redhat --secure-boot
|
||||||
virt-fw-vars --input RHEL-9/ovmf/OVMF.inteltdx.fd \
|
virt-fw-vars --input RHEL-10/ovmf/OVMF.inteltdx.fd \
|
||||||
--output RHEL-9/ovmf/OVMF.inteltdx.secboot.fd \
|
--output RHEL-10/ovmf/OVMF.inteltdx.secboot.fd \
|
||||||
--set-dbx DBXUpdate-%{DBXDATE}.x64.bin \
|
--set-dbx DBXUpdate-%{DBXDATE}.x64.bin \
|
||||||
--enroll-redhat --secure-boot \
|
--enroll-redhat --secure-boot \
|
||||||
--set-fallback-no-reboot
|
--set-fallback-no-reboot
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{build_aarch64}
|
%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
|
for raw in */aarch64/*.raw; do
|
||||||
qcow2="${raw%.raw}.qcow2"
|
qcow2="${raw%.raw}.qcow2"
|
||||||
qemu-img convert -f raw -O qcow2 -o cluster_size=4096 -S 4096 "$raw" "$qcow2"
|
qemu-img convert -f raw -O qcow2 -o cluster_size=4096 -S 4096 "$raw" "$qcow2"
|
||||||
done
|
done
|
||||||
%endif
|
%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
|
%install
|
||||||
|
|
||||||
cp -a OvmfPkg/License.txt License.OvmfPkg.txt
|
cp -a OvmfPkg/License.txt License.OvmfPkg.txt
|
||||||
@ -292,7 +321,7 @@ install BaseTools/Scripts/GccBase.lds \
|
|||||||
%{buildroot}%{_datadir}/%{name}/Scripts
|
%{buildroot}%{_datadir}/%{name}/Scripts
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_datadir}/%{name}
|
mkdir -p %{buildroot}%{_datadir}/%{name}
|
||||||
cp -av RHEL-9/* %{buildroot}%{_datadir}/%{name}
|
cp -av RHEL-10/* %{buildroot}%{_datadir}/%{name}
|
||||||
|
|
||||||
%if %{build_ovmf}
|
%if %{build_ovmf}
|
||||||
mkdir -p %{buildroot}%{_datadir}/OVMF
|
mkdir -p %{buildroot}%{_datadir}/OVMF
|
||||||
@ -334,6 +363,12 @@ install -m 0644 \
|
|||||||
# endif build_aarch64
|
# endif build_aarch64
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{build_riscv64}
|
||||||
|
install -m 0644 \
|
||||||
|
50-edk2-riscv-qcow2.json \
|
||||||
|
%{buildroot}%{_datadir}/qemu/firmware
|
||||||
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
|
||||||
%global common_files \
|
%global common_files \
|
||||||
@ -394,6 +429,14 @@ install -m 0644 \
|
|||||||
# endif build_aarch64
|
# endif build_aarch64
|
||||||
%endif
|
%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
|
%files tools
|
||||||
%license License.txt
|
%license License.txt
|
||||||
%license License-History.txt
|
%license License-History.txt
|
||||||
@ -419,6 +462,13 @@ install -m 0644 \
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%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
|
* Wed Mar 26 2025 Miroslav Rezanina <mrezanin@redhat.com> - 20250221-1
|
||||||
- Rebase to edk2-stable202502 [RHEL-75592]
|
- Rebase to edk2-stable202502 [RHEL-75592]
|
||||||
- Resolves: RHEL-75592
|
- Resolves: RHEL-75592
|
||||||
|
Loading…
Reference in New Issue
Block a user