diff --git a/SPECS/grub/28_blsuki b/SPECS/grub/28_blsuki new file mode 100755 index 0000000000..2866797b4c --- /dev/null +++ b/SPECS/grub/28_blsuki @@ -0,0 +1,15 @@ +#! /bin/sh +set -e +. "$pkgdatadir/grub-mkconfig_lib" + +for entries_dir in /boot /boot/efi; do + if [ -d "$entries_dir"/loader/entries ]; then + + cat << EOF +insmod blsuki +search --set root -u $(grub-probe $entries_dir --target=fs_uuid) +blscfg -p /loader/entries +EOF + + fi +done diff --git a/SPECS/grub/grub.spec b/SPECS/grub/grub.spec index 8b64da5ce9..4980fa4f5b 100644 --- a/SPECS/grub/grub.spec +++ b/SPECS/grub/grub.spec @@ -24,6 +24,7 @@ VCS: git:https://https.git.savannah.gnu.org/git/grub.git #!RemoteAsset: sha256:bc8d3c73535b8838d8c8e2654d73edc4e6ae8c8acdb45d5df5dc9a1547446d43 Source0: https://ftpmirror.gnu.org/gnu/grub/grub-%{version}.tar.xz Source1: grub.default +Source2: 28_blsuki # https://gitlab.freedesktop.org/gnu-grub/grub/-/merge_requests/10 Patch0: skip-efi_uga.patch @@ -183,6 +184,7 @@ for plat in %{grub_platforms}; do done install -D -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/default/grub +install -D -m 0555 %{SOURCE2} %{buildroot}%{_sysconfdir}/grub.d/28_blsuki # TODO: Avoid illegal package names rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/*@* @@ -198,7 +200,8 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/*@* %config(noreplace) %{_sysconfdir}/grub.d/00_header %config(noreplace) %{_sysconfdir}/grub.d/10_linux %config(noreplace) %{_sysconfdir}/grub.d/20_linux_xen -%attr(0644, root, root) %config(noreplace) %{_sysconfdir}/grub.d/25_bli +%config(noreplace) %{_sysconfdir}/grub.d/28_blsuki +%attr(0555, root, root) %config(noreplace) %{_sysconfdir}/grub.d/25_bli %config(noreplace) %{_sysconfdir}/grub.d/30_os-prober %config(noreplace) %{_sysconfdir}/grub.d/30_uefi-firmware %config(noreplace) %{_sysconfdir}/grub.d/40_custom