forked from pool/grub2
Accepting request 1160526 from home:michael-chang:branches:Base:System
- Fix memdisk becomes the default boot entry, resolving no graphic display device error in guest vnc console (bsc#1221779) * grub2-xen-pv-firmware.cfg - Cleanup spec file to adhere to update-bootloader-rpm-macros definition entirely (bsc#1218241) OBS-URL: https://build.opensuse.org/request/show/1160526 OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=495
This commit is contained in:
parent
8aecaf14b6
commit
11e8d5171e
@ -69,6 +69,9 @@ for c in ${hdcfg_list}; do
|
|||||||
btrfs_relative_path=1
|
btrfs_relative_path=1
|
||||||
if search -s hddev -f "${c}"; then
|
if search -s hddev -f "${c}"; then
|
||||||
btrfs_relative_path=0
|
btrfs_relative_path=0
|
||||||
|
if [ "${hddev}" = "memdisk" ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
menuentry "${hddev} Boot From Hard Disk (${c})" "${hddev}" "${c}" {
|
menuentry "${hddev} Boot From Hard Disk (${c})" "${hddev}" "${c}" {
|
||||||
set root="${2}"
|
set root="${2}"
|
||||||
set cfg="${3}"
|
set cfg="${3}"
|
||||||
@ -88,6 +91,9 @@ for c in ${hdlst_list}; do
|
|||||||
btrfs_relative_path=1
|
btrfs_relative_path=1
|
||||||
if search -s hddev -f "${c}"; then
|
if search -s hddev -f "${c}"; then
|
||||||
btrfs_relative_path=0
|
btrfs_relative_path=0
|
||||||
|
if [ "${hddev}" = "memdisk" ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
menuentry "${hddev} Boot From Hard Disk (${c})" "${hddev}" "${c}" {
|
menuentry "${hddev} Boot From Hard Disk (${c})" "${hddev}" "${c}" {
|
||||||
set root="${2}"
|
set root="${2}"
|
||||||
set cfg="${3}"
|
set cfg="${3}"
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 22 06:01:13 UTC 2024 - Michael Chang <mchang@suse.com>
|
||||||
|
|
||||||
|
- Fix memdisk becomes the default boot entry, resolving no graphic display
|
||||||
|
device error in guest vnc console (bsc#1221779)
|
||||||
|
* grub2-xen-pv-firmware.cfg
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 20 06:16:45 UTC 2024 - Michael Chang <mchang@suse.com>
|
||||||
|
|
||||||
|
- Cleanup spec file to adhere to update-bootloader-rpm-macros definition
|
||||||
|
entirely (bsc#1218241)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 19 07:08:02 UTC 2024 - Gary Ching-Pang Lin <glin@suse.com>
|
Tue Mar 19 07:08:02 UTC 2024 - Gary Ching-Pang Lin <glin@suse.com>
|
||||||
|
|
||||||
|
127
grub2.spec
127
grub2.spec
@ -466,12 +466,7 @@ BuildArch: noarch
|
|||||||
%endif
|
%endif
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
Requires(post): %{name} = %{version}
|
Requires(post): %{name} = %{version}
|
||||||
%if 0%{?update_bootloader_requires:1}
|
%{?update_bootloader_requires}
|
||||||
%update_bootloader_requires
|
|
||||||
%else
|
|
||||||
Requires: perl-Bootloader
|
|
||||||
Requires(post): perl-Bootloader
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description %{grubarch}
|
%description %{grubarch}
|
||||||
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
|
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
|
||||||
@ -520,12 +515,7 @@ Requires: efibootmgr
|
|||||||
Requires(post): efibootmgr
|
Requires(post): efibootmgr
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
Requires(post): %{name} = %{version}
|
Requires(post): %{name} = %{version}
|
||||||
%if 0%{?update_bootloader_requires:1}
|
%{?update_bootloader_requires}
|
||||||
%update_bootloader_requires
|
|
||||||
%else
|
|
||||||
Requires: perl-Bootloader >= 0.706
|
|
||||||
Requires(post): perl-Bootloader >= 0.706
|
|
||||||
%endif
|
|
||||||
%{?fde_tpm_update_requires}
|
%{?fde_tpm_update_requires}
|
||||||
Provides: %{name}-efi = %{version}-%{release}
|
Provides: %{name}-efi = %{version}-%{release}
|
||||||
Obsoletes: %{name}-efi < %{version}-%{release}
|
Obsoletes: %{name}-efi < %{version}-%{release}
|
||||||
@ -1130,51 +1120,7 @@ grep -E ${EXTRA_PATTERN} %{grubarch}-mod-all.lst > %{grubarch}-mod-extras.lst
|
|||||||
%if ! 0%{?only_efi:1}
|
%if ! 0%{?only_efi:1}
|
||||||
|
|
||||||
%post %{grubarch}
|
%post %{grubarch}
|
||||||
%if 0%{?update_bootloader_check_type_reinit_post:1}
|
%{?update_bootloader_check_type_reinit_post:%update_bootloader_check_type_reinit_post grub2}
|
||||||
%update_bootloader_check_type_reinit_post grub2
|
|
||||||
%else
|
|
||||||
# To check by current loader settings
|
|
||||||
if [ -f %{_sysconfdir}/sysconfig/bootloader ]; then
|
|
||||||
. %{_sysconfdir}/sysconfig/bootloader
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If the grub is the current loader, we'll handle the grub2 testing entry
|
|
||||||
if [ "x${LOADER_TYPE}" = "xgrub" ]; then
|
|
||||||
|
|
||||||
exec >/dev/null 2>&1
|
|
||||||
|
|
||||||
# check if entry for grub2's core.img exists in the config
|
|
||||||
# if yes, we will correct obsoleted path and update grub2 stuff and config to make it work
|
|
||||||
# if no, do nothing
|
|
||||||
if [ -f /boot/grub/menu.lst ]; then
|
|
||||||
|
|
||||||
# If grub config contains obsolete core.img path, remove and use the new one
|
|
||||||
if /usr/bin/grep -l "^\s*kernel\s*.*/boot/%{name}/core.img" /boot/grub/menu.lst; then
|
|
||||||
/sbin/update-bootloader --remove --image /boot/%{name}/core.img || true
|
|
||||||
/sbin/update-bootloader --add --image /boot/%{name}/i386-pc/core.img --name "GNU GRUB 2" || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install grub2 stuff and config to make the grub2 testing entry to work with updated version
|
|
||||||
if /usr/bin/grep -l "^\s*kernel\s*.*/boot/%{name}/i386-pc/core.img" /boot/grub/menu.lst; then
|
|
||||||
# Determine the partition with /boot
|
|
||||||
BOOT_PARTITION=$(df -h /boot | sed -n '2s/[[:blank:]].*//p')
|
|
||||||
# Generate core.img, but don't let it be installed in boot sector
|
|
||||||
%{name}-install --no-bootsector $BOOT_PARTITION || true
|
|
||||||
# Create a working grub2 config, otherwise that entry is un-bootable
|
|
||||||
/usr/sbin/grub2-mkconfig -o /boot/%{name}/grub.cfg
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [ "x${LOADER_TYPE}" = "xgrub2" ]; then
|
|
||||||
|
|
||||||
# It's enought to call update-bootloader to install grub2 and update it's config
|
|
||||||
# Use new --reinit, if not available use --refresh
|
|
||||||
# --reinit: install and update bootloader config
|
|
||||||
# --refresh: update bootloader config
|
|
||||||
/sbin/update-bootloader --reinit 2>&1 | grep -q 'Unknown option: reinit' &&
|
|
||||||
/sbin/update-bootloader --refresh || true
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%posttrans %{grubarch}
|
%posttrans %{grubarch}
|
||||||
%{?update_bootloader_posttrans}
|
%{?update_bootloader_posttrans}
|
||||||
@ -1188,38 +1134,7 @@ fi
|
|||||||
%fde_tpm_update_post grub2-efi
|
%fde_tpm_update_post grub2-efi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?update_bootloader_check_type_reinit_post:1}
|
%{?update_bootloader_check_type_reinit_post:%update_bootloader_check_type_reinit_post grub2-efi}
|
||||||
%update_bootloader_check_type_reinit_post grub2-efi
|
|
||||||
%else
|
|
||||||
# To check by current loader settings
|
|
||||||
if [ -f %{_sysconfdir}/sysconfig/bootloader ]; then
|
|
||||||
. %{_sysconfdir}/sysconfig/bootloader
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "x${LOADER_TYPE}" = "xgrub2-efi" ]; then
|
|
||||||
|
|
||||||
if [ -d /boot/%{name}-efi ]; then
|
|
||||||
# Migrate settings to standard prefix /boot/grub2
|
|
||||||
for i in custom.cfg grubenv; do
|
|
||||||
[ -f /boot/%{name}-efi/$i ] && cp -a /boot/%{name}-efi/$i /boot/%{name} || :
|
|
||||||
done
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
# It's enough to call update-bootloader to install grub2 and update it's config
|
|
||||||
# Use new --reinit, if not available use --refresh
|
|
||||||
# --reinit: install and update bootloader config
|
|
||||||
# --refresh: update bootloader config
|
|
||||||
/sbin/update-bootloader --reinit 2>&1 | grep -q 'Unknown option: reinit' &&
|
|
||||||
/sbin/update-bootloader --refresh || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d /boot/%{name}-efi ]; then
|
|
||||||
mv /boot/%{name}-efi /boot/%{name}-efi.rpmsave
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%posttrans %{grubefiarch}
|
%posttrans %{grubefiarch}
|
||||||
%{?update_bootloader_posttrans}
|
%{?update_bootloader_posttrans}
|
||||||
@ -1229,40 +1144,6 @@ exit 0
|
|||||||
|
|
||||||
%preun
|
%preun
|
||||||
%service_del_preun grub2-once.service
|
%service_del_preun grub2-once.service
|
||||||
# We did not add core.img to grub1 menu.lst in new update-bootloader macro as what
|
|
||||||
# the old %%post ever did, then the %%preun counterpart which removed the added core.img
|
|
||||||
# entry from old %%post can be skipped entirely if having new macro in use.
|
|
||||||
%if ! 0%{?update_bootloader_posttrans:1}%{?only_efi:1}
|
|
||||||
if [ $1 = 0 ]; then
|
|
||||||
# To check by current loader settings
|
|
||||||
if [ -f %{_sysconfdir}/sysconfig/bootloader ]; then
|
|
||||||
. %{_sysconfdir}/sysconfig/bootloader
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "x${LOADER_TYPE}" = "xgrub" ]; then
|
|
||||||
|
|
||||||
exec >/dev/null 2>&1
|
|
||||||
|
|
||||||
if [ -f /boot/grub/menu.lst ]; then
|
|
||||||
|
|
||||||
# Remove grub2 testing entry in menu.lst if has any
|
|
||||||
for i in /boot/%{name}/core.img /boot/%{name}/i386-pc/core.img; do
|
|
||||||
if /usr/bin/grep -l "^\s*kernel\s*.*$i" /boot/grub/menu.lst; then
|
|
||||||
/sbin/update-bootloader --remove --image "$i" || true
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Cleanup config, to not confuse some tools determining bootloader in use
|
|
||||||
rm -f /boot/%{name}/grub.cfg
|
|
||||||
|
|
||||||
# Cleanup installed files
|
|
||||||
# Unless grub2 provides grub2-uninstall, we don't remove any file because
|
|
||||||
# we have no idea what's been installed. (And a blind remove is dangerous
|
|
||||||
# to remove user's or other package's file accidently ..)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%service_del_postun grub2-once.service
|
%service_del_postun grub2-once.service
|
||||||
|
Loading…
Reference in New Issue
Block a user