Wait for initrmafs and kernel to be installed before set default kernel
Resolves: #RHEL-191464 Signed-off-by: Josue Hernandez <josherna@redhat.com>
This commit is contained in:
parent
c4ea783e4d
commit
4c7635da39
@ -153,7 +153,7 @@ case "$COMMAND" in
|
||||
fi
|
||||
fi
|
||||
if [ -n "$NEWDEFAULT" ]; then
|
||||
grub2-editenv - set "saved_entry=${NEWDEFAULT}"
|
||||
grub2-editenv - set "tmp_saved_entry=${NEWDEFAULT}"
|
||||
fi
|
||||
|
||||
# this probably isn't the best place to do this, but it will do for now.
|
||||
|
||||
44
95-set-boot-entry.install
Executable file
44
95-set-boot-entry.install
Executable file
@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
[[ -f /etc/default/grub ]] && . /etc/default/grub
|
||||
[[ -f /etc/os-release ]] && . /etc/os-release
|
||||
|
||||
COMMAND="$1"
|
||||
KERNEL_VERSION="$2"
|
||||
BOOT_DIR_ABS="$3"
|
||||
KERNEL_IMAGE="$4"
|
||||
|
||||
case "$COMMAND" in
|
||||
add)
|
||||
if [[ "x${GRUB_ENABLE_BLSCFG}" = "xtrue" ]] || [[ ! -f /sbin/new-kernel-pkg ]]; then
|
||||
entry=$(grub2-editenv list | grep tmp_saved_entry)
|
||||
if [ -n "$entry" ]; then
|
||||
BLS_ID=${entry##tmp_saved_entry=}
|
||||
BLS_DIR="/boot/loader/entries"
|
||||
BLS_TARGET="${BLS_DIR}/${BLS_ID}.conf"
|
||||
|
||||
LINUX="$(grep '^linux[ \t]' "${BLS_TARGET}" | sed -e 's,^linux[ \t]*,,' | awk '{print $1}')"
|
||||
INITRD="$(grep '^initrd[ \t]' "${BLS_TARGET}" | sed -e 's,^initrd[ \t]*,,' | awk '{print $1}')"
|
||||
|
||||
ROOTPREFIX=""
|
||||
[ -z "$(grub2-mkrelpath /boot)" ] && ROOTPREFIX="/boot"
|
||||
|
||||
if [ -e "${ROOTPREFIX}${LINUX}" -a -n "${INITRD}" ]; then
|
||||
if [ ! -e "${ROOTPREFIX}${INITRD}" ]; then
|
||||
echo "Error: ${ROOTPREFIX}${INITRD} not found."
|
||||
exit 1
|
||||
fi
|
||||
if ! lsinitrd ${ROOTPREFIX}${INITRD} > /dev/null; then
|
||||
echo "Error: ${ROOTPREFIX}${INITRD} appears to be corrupt."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
grub2-editenv - unset "tmp_saved_entry"
|
||||
grub2-editenv - set "saved_entry=$BLS_ID"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
@ -16,7 +16,7 @@
|
||||
Name: grub2
|
||||
Epoch: 1
|
||||
Version: 2.06
|
||||
Release: 129%{?dist}
|
||||
Release: 130%{?dist}
|
||||
Summary: Bootloader with support for Linux, Multiboot and more
|
||||
License: GPLv3+
|
||||
URL: http://www.gnu.org/software/grub/
|
||||
@ -36,6 +36,7 @@ Source11: grub.patches
|
||||
Source12: sbat.csv.in
|
||||
Source13: gen_grub_cfgstub
|
||||
Source14: sbat.ppc.csv
|
||||
Source15: 95-set-boot-entry.install
|
||||
|
||||
%include %{SOURCE1}
|
||||
|
||||
@ -264,6 +265,7 @@ rm -vf ${RPM_BUILD_ROOT}/%{_sbindir}/%{name}-macbless
|
||||
# Install kernel-install scripts
|
||||
install -d -m 0755 %{buildroot}%{_prefix}/lib/kernel/install.d/
|
||||
install -D -m 0755 -t %{buildroot}%{_prefix}/lib/kernel/install.d/ %{SOURCE10}
|
||||
install -D -m 0755 -t %{buildroot}%{_prefix}/lib/kernel/install.d/ %{SOURCE15}
|
||||
install -D -m 0755 -t %{buildroot}%{_prefix}/lib/kernel/install.d/ %{SOURCE3}
|
||||
install -d -m 0755 %{buildroot}%{_sysconfdir}/kernel/install.d/
|
||||
# Install systemd user service to set the boot_success flag
|
||||
@ -379,6 +381,7 @@ fi
|
||||
%dir %{_datarootdir}/grub/
|
||||
%attr(0700,root,root) %dir %{_sysconfdir}/grub.d
|
||||
%{_prefix}/lib/kernel/install.d/20-grub.install
|
||||
%{_prefix}/lib/kernel/install.d/95-set-boot-entry.install
|
||||
%{_prefix}/lib/kernel/install.d/99-grub-mkconfig.install
|
||||
%dir %{_datarootdir}/grub
|
||||
%exclude %{_datarootdir}/grub/*
|
||||
@ -543,6 +546,10 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Jul 01 2026 Josue Hernandez <josherna@redhat.com> 2.06-130
|
||||
- Wait for initrmafs and kernel to be installed before set default kernel
|
||||
- Resolves: #RHEL-191464
|
||||
|
||||
* Thu Jun 18 2026 Nicolas Frayer <nfrayer@redhat.com> 2.06-129
|
||||
- ieee1275/powerpc: implements fibre channel discovery for ofpathname
|
||||
- Resolves: #RHEL-53369
|
||||
|
||||
Loading…
Reference in New Issue
Block a user