mirror of
https://git.proxmox.com/git/grub2
synced 2025-08-13 21:16:08 +00:00
"single" -> "recovery" when friendly-recovery is installed
If configured with --enable-ubuntu-recovery, also set nomodeset for recovery mode, and disable 'set gfxpayload=keep' even if the system normally supports it. See https://launchpad.net/ubuntu/+spec/desktop-o-xorg-tools-and-processes. Author: Stéphane Graber <stgraber@ubuntu.com> Forwarded: no Last-Update: 2013-12-25 Patch-Name: mkconfig-ubuntu-recovery.patch
This commit is contained in:
parent
7cf3ac7be5
commit
13c9a7101d
11
configure.ac
11
configure.ac
@ -1904,6 +1904,17 @@ fi
|
||||
AC_SUBST([LIBZFS])
|
||||
AC_SUBST([LIBNVPAIR])
|
||||
|
||||
AC_ARG_ENABLE([ubuntu-recovery],
|
||||
[AS_HELP_STRING([--enable-ubuntu-recovery],
|
||||
[adjust boot options for the Ubuntu recovery mode (default=no)])],
|
||||
[], [enable_ubuntu_recovery=no])
|
||||
if test x"$enable_ubuntu_recovery" = xyes ; then
|
||||
UBUNTU_RECOVERY=1
|
||||
else
|
||||
UBUNTU_RECOVERY=0
|
||||
fi
|
||||
AC_SUBST([UBUNTU_RECOVERY])
|
||||
|
||||
LIBS=""
|
||||
|
||||
AC_SUBST([FONT_SOURCE])
|
||||
|
@ -20,6 +20,7 @@ set -e
|
||||
prefix="@prefix@"
|
||||
exec_prefix="@exec_prefix@"
|
||||
datarootdir="@datarootdir@"
|
||||
ubuntu_recovery="@UBUNTU_RECOVERY@"
|
||||
|
||||
. "$pkgdatadir/grub-mkconfig_lib"
|
||||
|
||||
@ -84,6 +85,15 @@ esac
|
||||
|
||||
title_correction_code=
|
||||
|
||||
if [ -x /lib/recovery-mode/recovery-menu ]; then
|
||||
GRUB_CMDLINE_LINUX_RECOVERY=recovery
|
||||
else
|
||||
GRUB_CMDLINE_LINUX_RECOVERY=single
|
||||
fi
|
||||
if [ "$ubuntu_recovery" = 1 ]; then
|
||||
GRUB_CMDLINE_LINUX_RECOVERY="$GRUB_CMDLINE_LINUX_RECOVERY nomodeset"
|
||||
fi
|
||||
|
||||
linux_entry ()
|
||||
{
|
||||
os="$1"
|
||||
@ -123,7 +133,9 @@ linux_entry ()
|
||||
if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
|
||||
echo " load_video" | sed "s/^/$submenu_indentation/"
|
||||
fi
|
||||
echo " set gfxpayload=$GRUB_GFXPAYLOAD_LINUX" | sed "s/^/$submenu_indentation/"
|
||||
if [ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]; then
|
||||
echo " set gfxpayload=$GRUB_GFXPAYLOAD_LINUX" | sed "s/^/$submenu_indentation/"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo " insmod gzio" | sed "s/^/$submenu_indentation/"
|
||||
@ -288,7 +300,7 @@ while [ "x$list" != "x" ] ; do
|
||||
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
|
||||
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
|
||||
linux_entry "${OS}" "${version}" recovery \
|
||||
"single ${GRUB_CMDLINE_LINUX}"
|
||||
"${GRUB_CMDLINE_LINUX_RECOVERY} ${GRUB_CMDLINE_LINUX}"
|
||||
fi
|
||||
|
||||
list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
|
||||
|
@ -223,7 +223,7 @@ EOF
|
||||
fi
|
||||
|
||||
onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
|
||||
recovery_params="$(echo "${LPARAMS}" | grep single)" || true
|
||||
recovery_params="$(echo "${LPARAMS}" | grep 'single\|recovery')" || true
|
||||
counter=1
|
||||
while echo "$used_osprober_linux_ids" | grep 'osprober-gnulinux-$LKERNEL-${recovery_params}-$counter-$boot_device_id' > /dev/null; do
|
||||
counter=$((counter+1));
|
||||
|
Loading…
Reference in New Issue
Block a user