Compare commits

..

No commits in common. "c8" and "a10s" have entirely different histories.
c8 ... a10s

9 changed files with 158 additions and 252 deletions

23
.gitignore vendored
View File

@ -1,14 +1,9 @@
SOURCES/BOOTAA64.CSV /shimx64.efi
SOURCES/BOOTIA32.CSV /fbx64.efi
SOURCES/BOOTX64.CSV /mmx64.efi
SOURCES/fbaa64.efi /BOOTX64.CSV
SOURCES/fbia32.efi /BOOTAA64.CSV
SOURCES/fbx64.efi /fbaa64.efi
SOURCES/mmaa64.efi /mmaa64.efi
SOURCES/mmia32.efi /shimaa64.efi
SOURCES/mmx64.efi SOURCES/almalinuxsecurebootca0.cer
SOURCES/redhatsecureboot501.cer
SOURCES/redhatsecurebootca5.cer
SOURCES/shimaa64.efi
SOURCES/shimia32.efi
SOURCES/shimx64.efi

View File

@ -1,14 +0,0 @@
fe978419c312c0c415d52befb4f6561e2d9556a7 SOURCES/BOOTAA64.CSV
9650b41c0227b343478d03f4d7fcd6c8d3744440 SOURCES/BOOTIA32.CSV
6801abf1c4d54f15f869470c99e480433940407a SOURCES/BOOTX64.CSV
317f45115504f1ba56f0113dc217460e3c26cf82 SOURCES/fbaa64.efi
4fd02a6b3ec5dc58fcba1a3d8dec69e0cb86f5d5 SOURCES/fbia32.efi
b26bb4ed41e96d6e2b2471dc5d50f0f2c88ff884 SOURCES/fbx64.efi
b2e0f92dba676facda778be739e2959f5e51c077 SOURCES/mmaa64.efi
e8316a74f06a29385eeb7fd734f582e60dc7a2a4 SOURCES/mmia32.efi
77f25d23c6b0bb2f79a47d574f8af5ffe91e2466 SOURCES/mmx64.efi
ba0b760e594ff668ee72ae348adf3e49b97f75fb SOURCES/redhatsecureboot501.cer
e6f506462069aa17d2e8610503635c20f3a995c3 SOURCES/redhatsecurebootca5.cer
750bd7932437b1fb6610c233f69db1b70d67fab1 SOURCES/shimaa64.efi
0cd6ef62726de2f1321bfe6b70f47b788ac38666 SOURCES/shimia32.efi
86855303a18b978cf90d6c244bfe30897f449996 SOURCES/shimx64.efi

View File

@ -1,206 +0,0 @@
Name: shim
Version: 15.8
Release: 4%{?dist}
Summary: First-stage UEFI bootloader
License: BSD
URL: https://github.com/rhboot/shim/
BuildRequires: efi-filesystem
BuildRequires: efi-srpm-macros >= 3-2
ExclusiveArch: %{efi}
# but we don't build a .i686 package, just a shim-ia32.x86_64 package
ExcludeArch: %{ix86}
# and we don't have shim-unsigned-arm builds *yet*
ExcludeArch: %{arm}
Source0: shim.rpmmacros
Source1: redhatsecureboot501.cer
Source2: redhatsecurebootca5.cer
# keep these two lists of sources synched up arch-wise. That is 0 and 10
# match, 1 and 11 match, ...
Source10: BOOTAA64.CSV
Source20: shimaa64.efi
Source30: mmaa64.efi
Source40: fbaa64.efi
Source11: BOOTIA32.CSV
Source21: shimia32.efi
Source31: mmia32.efi
Source41: fbia32.efi
Source12: BOOTX64.CSV
Source22: shimx64.efi
Source32: mmx64.efi
Source42: fbx64.efi
#Source13: BOOTARM.CSV
#Source23: shimarm.efi
#Source33: mmarm.efi
#Source43: fbarm.efi
%include %{SOURCE0}
BuildRequires: pesign >= 0.112-20.fc27
# Right now we're just including all of the parts from them as sources here
# to make the build+errata process less maddening. We do this because
# %%{efi} won't expand before choosing where to make the src.rpm in koji,
# and we could be on a non-efi architecture, in which case we won't have a
# valid expansion here...
# %% ifarch x86_64
# BuildRequires: %% {unsignedx64} = %% {shimverx64}
# BuildRequires: %% {unsignedia32} = %% {shimveria32}
# %% endif
# %% ifarch aarch64
# BuildRequires: %% {unsignedaa64} = %% {shimveraa64}
# %% endif
#%%ifarch arm
#BuildRequires: %%{unsignedarm} = %%{shimverarm}
#%%endif
%description
Initial UEFI bootloader that handles chaining to a trusted full bootloader
under secure boot environments. This package contains the version signed by
the UEFI signing service.
%define_pkg -a %{efi_arch} -p 1
%if %{efi_has_alt_arch}
%define_pkg -a %{efi_alt_arch}
%endif
%prep
cd %{_builddir}
rm -rf shim-%{version}
mkdir shim-%{version}
%build
export PS4='${LINENO}: '
cd shim-%{version}
# Temporarily using _sourcedir to avoid build dep annoyances.
%if %{efi_has_alt_arch}
%define_build -a %{efi_alt_arch} -A %{efi_alt_arch_upper} -i %{shimefialt} -b yes -c %{is_alt_signed} -d %{_sourcedir}
%endif
%define_build -a %{efi_arch} -A %{efi_arch_upper} -i %{shimefi} -b yes -c %{is_signed} -d %{_sourcedir}
%install
rm -rf $RPM_BUILD_ROOT
cd shim-%{version}
install -D -d -m 0755 $RPM_BUILD_ROOT/boot/
install -D -d -m 0700 $RPM_BUILD_ROOT%{efi_esp_root}/
install -D -d -m 0700 $RPM_BUILD_ROOT%{efi_esp_efi}/
install -D -d -m 0700 $RPM_BUILD_ROOT%{efi_esp_dir}/
install -D -d -m 0700 $RPM_BUILD_ROOT%{efi_esp_boot}/
%do_install -a %{efi_arch} -A %{efi_arch_upper} -b %{bootcsv}
%if %{efi_has_alt_arch}
%do_install -a %{efi_alt_arch} -A %{efi_alt_arch_upper} -b %{bootcsvalt}
%endif
%if %{provide_legacy_shim}
install -m 0700 %{shimefi} $RPM_BUILD_ROOT%{efi_esp_dir}/shim.efi
%endif
( cd $RPM_BUILD_ROOT ; find .%{efi_esp_root} -type f ) \
| sed -e 's/\./\^/' -e 's,^\\\./,.*/,' -e 's,$,$,' > %{__brp_mangle_shebangs_exclude_from_file}
%define_files -a %{efi_arch} -A %{efi_arch_upper}
%if %{efi_has_alt_arch}
%define_files -a %{efi_alt_arch} -A %{efi_alt_arch_upper}
%endif
%if %{provide_legacy_shim}
%verify(not mtime) %{efi_esp_dir}/shim.efi
%endif
%changelog
* Tue Apr 16 2024 Peter Jones <pjones@redhat.com> - 15.8-4
- Bump the release to *-4* to work around a build system issue.
Related: RHEL-11259
* Wed Apr 10 2024 Peter Jones <pjones@redhat.com> - 15.8-3
- Bump the release to -3 to work around a build system issue.
Related: RHEL-11259
* Thu Mar 28 2024 Peter Jones <pjones@redhat.com> - 15.8-2.el8
- Fix rpm verify issue found in testing.
Related: RHEL-11259
* Thu Mar 21 2024 Peter Jones <pjones@redhat.com> - 15.8-1.el8
- Update to shim-15.8 for CVE-2023-40547
Resolves: RHEL-11259
* Wed Apr 20 2022 Peter Jones <pjones@redhat.com> - 15.5-2.el8
- Include the actual signed shim binaries.
Resolves: rhbz#1970632
Resolves: rhbz#1982071
Resolves: rhbz#2000946
Resolves: rhbz#2002265
* Tue Apr 19 2022 Peter Jones <pjones@redhat.com> - 15.5-1
- Update to shim-15.5
Resolves: rhbz#1970632
Resolves: rhbz#1982071
Resolves: rhbz#2000946
Resolves: rhbz#2002265
* Mon Sep 21 2020 Javier Martinez Canillas <javierm@redhat.com> - 15-16
- Fix an incorrect allocation size
Resolves: rhbz#1877253
* Fri Jul 31 2020 Peter Jones <pjones@redhat.com> - 15-15
- Update once again for new signed shim builds.
Resolves: rhbz#1861977
* Tue Jul 28 2020 Peter Jones <pjones@redhat.com> - 15-14
- Get rid of our %%dist hack for now.
* Tue Jul 28 2020 Peter Jones <pjones@redhat.com> - 15-13
- New signing keys
Related: CVE-2020-10713
Related: CVE-2020-14308
Related: CVE-2020-14309
Related: CVE-2020-14310
Related: CVE-2020-14311
* Thu Jun 11 2020 Javier Martinez Canillas <javierm@redhat.com> - 15-12
- Fix firmware update bug in aarch64 caused by shim ignoring arguments
Resolves: rhbz#1830871
- Fix a shim crash when attempting to netboot
Resolves: rhbz#1795654
* Fri Jun 07 2019 Javier Martinez Canillas <javierm@redhat.com> - 15-11
- Update the shim-unsigned-aarch64 version number
Related: rhbz#1715879
* Fri Jun 07 2019 Javier Martinez Canillas <javierm@redhat.com> - 15-10
- Add a gating.yaml file so the package can be properly gated
Related: rhbz#1681809
* Wed Jun 05 2019 Javier Martinez Canillas <javierm@redhat.com> - 15-9
- Bump the NVR
Related: rhbz#1715879
* Wed Jun 05 2019 Javier Martinez Canillas <javierm@redhat.com> - 15-7
- Make EFI variable copying fatal only on secureboot enabled systems
Resolves: rhbz#1715879
- Fix booting shim from an EFI shell using a relative path
Resolves: rhbz#1717061
* Thu Mar 14 2019 Peter Jones <pjones@redhat.com> - 15-6
- Fix MoK mirroring issue which breaks kdump without intervention
Resolves: rhbz#1668966
* Thu Jan 24 2019 Peter Jones <pjones@redhat.com> - 15-5
- Rebuild for signing once again. If the signer actually works, then:
Resolves: rhbz#1620941
* Tue Oct 16 2018 Peter Jones <pjones@redhat.com> - 15-4
- Rebuild for signing
Resolves: rhbz#1620941
* Mon Aug 13 2018 Troy Dawson <tdawson@redhat.com>
- Release Bumped for el8 Mass Rebuild
* Sat Aug 11 2018 Troy Dawson <tdawson@redhat.com>
- Release Bumped for el8+8 Mass Rebuild
* Mon Jul 23 2018 Peter Jones <pjones@redhat.com> - 15-1
- Build for RHEL 8

BIN
centossecureboot201.cer Normal file

Binary file not shown.

BIN
centossecurebootca2.cer Normal file

Binary file not shown.

4
shim.conf Normal file
View File

@ -0,0 +1,4 @@
shim-aa64
shim-arm
shim-ia32
shim-x64

View File

@ -3,40 +3,33 @@
%global vendor_token_str %{expand:%%{nil}%%{?vendor_token_name:-t "%{vendor_token_name}"}} %global vendor_token_str %{expand:%%{nil}%%{?vendor_token_name:-t "%{vendor_token_name}"}}
%global vendor_cert_str %{expand:%%{!?vendor_cert_nickname:-c "Red Hat Test Certificate"}%%{?vendor_cert_nickname:-c "%%{vendor_cert_nickname}"}} %global vendor_cert_str %{expand:%%{!?vendor_cert_nickname:-c "Red Hat Test Certificate"}%%{?vendor_cert_nickname:-c "%%{vendor_cert_nickname}"}}
%global grub_version 2.02-87.el8_1.11 %global grub_version 2.12-1.el10_0
%global bootcsvaa64 %{expand:%{SOURCE10}} %global bootcsvaa64 %{expand:%{SOURCE10}}
%global bootcsvia32 %{expand:%{SOURCE11}}
%global bootcsvx64 %{expand:%{SOURCE12}} %global bootcsvx64 %{expand:%{SOURCE12}}
#%%global bootcsvarm %%{expand:%%{SOURCE13}} #%%global bootcsvarm %%{expand:%%{SOURCE13}}
%global shimefiaa64 %{expand:%{SOURCE20}} %global shimefiaa64 %{expand:%{SOURCE20}}
%global shimefiia32 %{expand:%{SOURCE21}}
%global shimefix64 %{expand:%{SOURCE22}} %global shimefix64 %{expand:%{SOURCE22}}
#%%global shimefiarm %%{expand:%%{SOURCE23} #%%global shimefiarm %%{expand:%%{SOURCE23}
%global fbefiaa64 %{expand:%{SOURCE30}} %global fbefiaa64 %{expand:%{SOURCE30}}
%global fbefiia32 %{expand:%{SOURCE31}}
%global fbefix64 %{expand:%{SOURCE32}} %global fbefix64 %{expand:%{SOURCE32}}
#%%global fbefiarm %%{expand:%%{SOURCE33} #%%global fbefiarm %%{expand:%%{SOURCE33}
%global mmefiaa64 %{expand:%{SOURCE40}} %global mmefiaa64 %{expand:%{SOURCE40}}
%global mmefiia32 %{expand:%{SOURCE41}}
%global mmefix64 %{expand:%{SOURCE42}} %global mmefix64 %{expand:%{SOURCE42}}
#%%global mmefiarm %%{expand:%%{SOURCE43} #%%global mmefiarm %%{expand:%%{SOURCE43}
%global shimveraa64 15-7.el8_1 %global shimveraa64 15.8-2.el9.alma.1
%global shimveria32 15.8-2.el8 %global shimverx64 15.8-2.el9.alma.1
%global shimverx64 15.8-2.el8
#%%global shimverarm 15-1.el8 #%%global shimverarm 15-1.el8
%global shimdiraa64 %{_datadir}/shim/%{shimveraa64}/aa64 %global shimdiraa64 %{_datadir}/shim/%{shimveraa64}/aa64
%global shimdiria32 %{_datadir}/shim/%{shimveria32}/ia32
%global shimdirx64 %{_datadir}/shim/%{shimverx64}/x64 %global shimdirx64 %{_datadir}/shim/%{shimverx64}/x64
#%%global shimdirarm %%{_datadir}/shim/%%{shimverarm}/arm #%%global shimdirarm %%{_datadir}/shim/%%{shimverarm}/arm
%global unsignedaa64 shim-unsigned-aarch64 %global unsignedaa64 shim-unsigned-aarch64
%global unsignedia32 shim-unsigned-ia32
%global unsignedx64 shim-unsigned-x64 %global unsignedx64 shim-unsigned-x64
#%%global unsignedarm shim-unsigned-arm #%%global unsignedarm shim-unsigned-arm
@ -125,7 +118,7 @@ version signed by the UEFI signing service. \
else \ else \
cp -av %{-d*}/%{-b*}%{-a*}.efi %{-b*}%{-a*}-unsigned.efi \ cp -av %{-d*}/%{-b*}%{-a*}.efi %{-b*}%{-a*}-unsigned.efi \
fi \ fi \
%{expand:%%sign -i %{-b*}%{-a*}-unsigned.efi -o %{-b*}%{-a*}-signed.efi -n redhatsecureboot501 -a %{SOURCE2} -c %{SOURCE1} } \ %{expand:%%sign -i %{-b*}%{-a*}-unsigned.efi -o %{-b*}%{-a*}-signed.efi -n centossecureboot201 -a %{SOURCE2} -c %{SOURCE1} } \
%{nil} %{nil}
# -a <efiarch> # -a <efiarch>
@ -185,17 +178,17 @@ install -m 0700 fb%{-a*}.efi \\\
%%verify(not mtime) %{efi_esp_boot}/*%{-A*}.EFI \ %%verify(not mtime) %{efi_esp_boot}/*%{-A*}.EFI \
%{nil} %{nil}
%ifarch x86_64 %ifarch %{x86_64}
%global is_signed yes %global is_signed yes
%global is_alt_signed yes
%global provide_legacy_shim 1
%endif
%ifarch aarch64
%global is_signed no
%global is_alt_signed no %global is_alt_signed no
%global provide_legacy_shim 1 %global provide_legacy_shim 1
%endif %endif
%ifnarch x86_64 aarch64 %ifarch aarch64
%global is_signed yes
%global is_alt_signed no
%global provide_legacy_shim 1
%endif
%ifnarch %{x86_64} aarch64
%global is_signed no %global is_signed no
%global is_alt_signed no %global is_alt_signed no
%global provide_legacy_shim 0 %global provide_legacy_shim 0

121
shim.spec Normal file
View File

@ -0,0 +1,121 @@
%global efi_vendor almalinux
%global efidir almalinux
%global efi_esp_dir /boot/efi/EFI/%{efidir}
Name: shim
Version: 15.8
Release: 5%{?dist}.alma.1
Summary: First-stage UEFI bootloader
License: BSD
URL: https://github.com/rhboot/shim/
BuildRequires: efi-filesystem
BuildRequires: efi-srpm-macros >= 6
ExclusiveArch: %{efi}
# and we don't have shim-unsigned-arm builds *yet*
ExcludeArch: %{arm} %{ix86}
Source0: shim.rpmmacros
Source1: almalinuxsecurebootca0.cer
Source5: shim.conf
# keep these two lists of sources synched up arch-wise. That is 0 and 10
# match, 1 and 11 match, ...
Source10: BOOTAA64.CSV
Source20: shimaa64.efi
Source30: mmaa64.efi
Source40: fbaa64.efi
Source12: BOOTX64.CSV
Source22: shimx64.efi
Source32: mmx64.efi
Source42: fbx64.efi
#Source13: BOOTARM.CSV
#Source23: shimarm.efi
#Source33: mmarm.efi
#Source43: fbarm.efi
%include %{SOURCE0}
BuildRequires: pesign >= 0.112-20.fc27
# Right now we're just including all of the parts from them as sources here
# to make the build+errata process less maddening. We do this because
# %%{efi} won't expand before choosing where to make the src.rpm in koji,
# and we could be on a non-efi architecture, in which case we won't have a
# valid expansion here...
#%% ifarch x86_64
#BuildRequires: %% {unsignedx64} = %% {shimverx64}
#%% endif
#%% ifarch aarch64
#BuildRequires: %% {unsignedaa64} = %% {shimveraa64}
#%% endif
#%%ifarch arm
#BuildRequires: %%{unsignedarm} = %%{shimverarm}
#%%endif
%description
Initial UEFI bootloader that handles chaining to a trusted full bootloader
under secure boot environments. This package contains the version signed by
the UEFI signing service.
%define_pkg -a %{efi_arch} -p 1
%if %{efi_has_alt_arch}
%define_pkg -a %{efi_alt_arch}
%endif
%prep
cd %{_builddir}
rm -rf shim-%{version}
mkdir shim-%{version}
%build
export PS4='${LINENO}: '
cd shim-%{version}
%if %{efi_has_alt_arch}
%define_build -a %{efi_alt_arch} -A %{efi_alt_arch_upper} -i %{shimefialt} -b yes -c %{is_alt_signed} -d %{shimdiralt}
%endif
# Temporarily using _sourcedir to avoid build dep annoyances.
%define_build -a %{efi_arch} -A %{efi_arch_upper} -i %{shimefi} -b yes -c %{is_signed} -d %{_sourcedir}
%install
rm -rf $RPM_BUILD_ROOT
cd shim-%{version}
install -D -d -m 0755 $RPM_BUILD_ROOT/boot/
install -D -d -m 0700 $RPM_BUILD_ROOT%{efi_esp_root}/
install -D -d -m 0700 $RPM_BUILD_ROOT%{efi_esp_efi}/
install -D -d -m 0700 $RPM_BUILD_ROOT%{efi_esp_dir}/
install -D -d -m 0700 $RPM_BUILD_ROOT%{efi_esp_boot}/
%do_install -a %{efi_arch} -A %{efi_arch_upper} -b %{bootcsv}
%if %{efi_has_alt_arch}
%do_install -a %{efi_alt_arch} -A %{efi_alt_arch_upper} -b %{bootcsvalt}
%endif
%if %{provide_legacy_shim}
install -m 0700 %{shimefi} $RPM_BUILD_ROOT%{efi_esp_dir}/shim.efi
%endif
install -D -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/dnf/protected.d/
install -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/dnf/protected.d/
( cd $RPM_BUILD_ROOT ; find .%{efi_esp_root} -type f ) \
| sed -e 's/\./\^/' -e 's,^\\\./,.*/,' -e 's,$,$,' > %{__brp_mangle_shebangs_exclude_from_file}
%define_files -a %{efi_arch} -A %{efi_arch_upper}
%if %{efi_has_alt_arch}
%define_files -a %{efi_alt_arch} -A %{efi_alt_arch_upper}
%endif
%{_sysconfdir}/dnf/protected.d/shim.conf
%if %{provide_legacy_shim}
%verify(not mtime) %{efi_esp_dir}/shim.efi
%endif
%changelog
* Tue Jul 08 2025 Eduard Abdullin <eabdullin@almalinux.org> - 15.8-5.alma.1
- Add SB for aarch64
- AlmaLinux changes
* Wed Jul 2 2025 Nicolas Frayer <nfrayer@redhat.com> - 15.8-5
- First build for Centos Stream 10
- Resolves: #RHEL-45014

13
sources Normal file
View File

@ -0,0 +1,13 @@
SHA512 (almalinuxsecurebootca0.cer) = 9190a7d5808d3f4181f0f868d07ba83368357a02970f40594e5ec880d33771d890c69f1dfd4ce6c2bc92e6e14217be1aebf7ecc045e6603032b50e33228763ae
SHA512 (BOOTAA64.CSV) = 2dfc78bee3d6e7f27cab8037ace24b9d62d2b3e5056751a32259d997fbaba5ef6015d6c50c842f29e2a31b94c3dc63476fb61803b25f504255c32c04a5a8255c
SHA512 (BOOTIA32.CSV) = b1b84e9377cea35ed32b034f8258b460105f47159b393265d2346fc16ee02bdfa6af482559670445c6c0ac808e928a1a0ca51731d5367fc14302282fa5ae5dc2
SHA512 (BOOTX64.CSV) = 6566d163836a0da9caa31a14b41178a2cf82f96a751a3eff87dcdc0a40b1521b27b35bf7a1d5774e00f605e569f5be1a6baff7e00e3a93f5d6ca3844188034d3
SHA512 (fbaa64.efi) = 89c3e69248417b8eed69623d52f7cdb3350f29e31f324e9e660d3ea824e15eca098dc5ee70014fc5132e57ffc880992629b4dfc5d558a4d291e3dce438fc4245
SHA512 (fbia32.efi) = cb0e31383f652d6f15246a97cedbecc06b351c33086082896f9021f7a9a6df0980ad85a564cef3a6614f2b2f3889d7e5a1bd45934f7e5f29b6c6f097d749bad3
SHA512 (fbx64.efi) = c5007065304b8f9d758723afe99982509a287cf067e958a722c24abb4ae4bc5217cd7e0086090f15495cf016a9b07f89cdc1a123edea4770109dc9c2df555691
SHA512 (mmaa64.efi) = deb2cf75b72b0d8a0af329e91a8a73d0e717f64908086bcca805cb8daf90a034f5e094b44dd60f16ab228e4e43646c23932cf0b2d955140220b01c7d36301d57
SHA512 (mmia32.efi) = 02d83bca3fbd79f6d263699c2598a41b8d105c47ce51e646fe0ea41b02c5a8adbec806109aabbdb9fb1dd89cc3a129627ff41ded444d87dd3afeb4770a18b609
SHA512 (mmx64.efi) = e843d1f245cc221c6f4dcfa557d6b558064d2632a24ad47aeaff44e6a9329cc3f8f1224cac2ac583671d70e63c9d4e5ea31fcb958e2a89e5fe9a28b7a134e469
SHA512 (shimaa64.efi) = 64bda0d6266e462a265dd3cf9e8b03c242a73f7f69477927d30d72c9254b2cf8e4ddde21994f8ae87f80aaa49715ab0ed9b5143fd29d57f21c6d34fa4e204e96
SHA512 (shimia32.efi) = 50631c93e23fde6c34e89c4889b8407bcfe341e7406965e5289e519f720a79e9c2d286c851e5c47d0f5cb52d3406594a63b215526932e9483f745f3794b46bdf
SHA512 (shimx64.efi) = c568413747d83e24f7be27beec25dcb58952993dfbb4caaffb5403120a51a2c16500f713929f205915ee32a7736a49cc16c5b1c22b82200d59db8c9d5ba2d378