mirror of
https://git.proxmox.com/git/grub2
synced 2025-08-03 02:21:12 +00:00
Output a menu entry for firmware setup on UEFI FastBoot systems.
This commit is contained in:
parent
d48c35a473
commit
a399e8f4dd
@ -455,6 +455,12 @@ script = {
|
||||
installdir = grubconf;
|
||||
};
|
||||
|
||||
script = {
|
||||
name = '30_uefi-firmware';
|
||||
common = util/grub.d/30_uefi-firmware.in;
|
||||
installdir = grubconf;
|
||||
};
|
||||
|
||||
script = {
|
||||
name = '40_custom';
|
||||
common = util/grub.d/40_custom.in;
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -6,6 +6,7 @@ grub2 (2.00-13) UNRELEASED; urgency=low
|
||||
alternative as the fallback background if GRUB_DISTRIBUTOR is "Ubuntu".
|
||||
* Merge from Ubuntu:
|
||||
- source_grub2.py: Use attach_default_grub from apport's hookutils.
|
||||
- Output a menu entry for firmware setup on UEFI FastBoot systems.
|
||||
|
||||
-- Colin Watson <cjwatson@debian.org> Mon, 28 Jan 2013 11:08:07 +0000
|
||||
|
||||
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -34,3 +34,4 @@ no_insmod_on_sb.patch
|
||||
default_grub_d.patch
|
||||
blacklist_1440x900x32.patch
|
||||
kfreebsd_9.1.patch
|
||||
uefi_firmware_setup.patch
|
||||
|
84
debian/patches/uefi_firmware_setup.patch
vendored
Normal file
84
debian/patches/uefi_firmware_setup.patch
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
Description: Output a menu entry for firmware setup on UEFI FastBoot systems
|
||||
Author: Steve Langasek <steve.langasek@ubuntu.com>
|
||||
Forwarded: no
|
||||
|
||||
Index: b/Makefile.util.def
|
||||
===================================================================
|
||||
--- a/Makefile.util.def
|
||||
+++ b/Makefile.util.def
|
||||
@@ -456,6 +456,12 @@
|
||||
};
|
||||
|
||||
script = {
|
||||
+ name = '30_uefi-firmware';
|
||||
+ common = util/grub.d/30_uefi-firmware.in;
|
||||
+ installdir = grubconf;
|
||||
+};
|
||||
+
|
||||
+script = {
|
||||
name = '40_custom';
|
||||
common = util/grub.d/40_custom.in;
|
||||
installdir = grubconf;
|
||||
Index: b/po/POTFILES-shell.in
|
||||
===================================================================
|
||||
--- a/po/POTFILES-shell.in
|
||||
+++ b/po/POTFILES-shell.in
|
||||
@@ -7,6 +7,7 @@
|
||||
util/grub.d/10_windows.in
|
||||
util/grub.d/20_linux_xen.in
|
||||
util/grub.d/30_os-prober.in
|
||||
+util/grub.d/30_uefi-firmware.in
|
||||
util/grub.d/40_custom.in
|
||||
util/grub.d/41_custom.in
|
||||
util/grub-install.in
|
||||
Index: b/util/grub.d/30_uefi-firmware.in
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/util/grub.d/30_uefi-firmware.in
|
||||
@@ -0,0 +1,46 @@
|
||||
+#! /bin/sh
|
||||
+set -e
|
||||
+
|
||||
+# grub-mkconfig helper script.
|
||||
+# Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
+#
|
||||
+# GRUB is free software: you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation, either version 3 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# GRUB is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+prefix="@prefix@"
|
||||
+exec_prefix="@exec_prefix@"
|
||||
+datarootdir="@datarootdir@"
|
||||
+
|
||||
+export TEXTDOMAIN=@PACKAGE@
|
||||
+export TEXTDOMAINDIR="@localedir@"
|
||||
+
|
||||
+. "@datadir@/@PACKAGE@/grub-mkconfig_lib"
|
||||
+
|
||||
+efi_vars_dir=/sys/firmware/efi/vars
|
||||
+EFI_GLOBAL_VARIABLE=8be4df61-93ca-11d2-aa0d-00e098032b8c
|
||||
+OsIndications="$efi_vars_dir/OsIndicationsSupported-$EFI_GLOBAL_VARIABLE/data"
|
||||
+
|
||||
+if [ -e "$OsIndications" ] && \
|
||||
+ [ "$(( $(printf %x \'"$(cat $OsIndications | cut -b1)") & 1 ))" = 1 ]; then
|
||||
+ LABEL="System setup"
|
||||
+
|
||||
+ gettext_printf "Adding boot menu entry for EFI firmware configuration\n" >&2
|
||||
+
|
||||
+ onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
|
||||
+
|
||||
+ cat << EOF
|
||||
+menuentry '$LABEL' \$menuentry_id_option 'uefi-firmware' {
|
||||
+ fwsetup
|
||||
+}
|
||||
+EOF
|
||||
+fi
|
@ -7,6 +7,7 @@ util/grub.d/10_netbsd.in
|
||||
util/grub.d/10_windows.in
|
||||
util/grub.d/20_linux_xen.in
|
||||
util/grub.d/30_os-prober.in
|
||||
util/grub.d/30_uefi-firmware.in
|
||||
util/grub.d/40_custom.in
|
||||
util/grub.d/41_custom.in
|
||||
util/grub-install.in
|
||||
|
46
util/grub.d/30_uefi-firmware.in
Normal file
46
util/grub.d/30_uefi-firmware.in
Normal file
@ -0,0 +1,46 @@
|
||||
#! /bin/sh
|
||||
set -e
|
||||
|
||||
# grub-mkconfig helper script.
|
||||
# Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
#
|
||||
# GRUB is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# GRUB is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
prefix="@prefix@"
|
||||
exec_prefix="@exec_prefix@"
|
||||
datarootdir="@datarootdir@"
|
||||
|
||||
export TEXTDOMAIN=@PACKAGE@
|
||||
export TEXTDOMAINDIR="@localedir@"
|
||||
|
||||
. "@datadir@/@PACKAGE@/grub-mkconfig_lib"
|
||||
|
||||
efi_vars_dir=/sys/firmware/efi/vars
|
||||
EFI_GLOBAL_VARIABLE=8be4df61-93ca-11d2-aa0d-00e098032b8c
|
||||
OsIndications="$efi_vars_dir/OsIndicationsSupported-$EFI_GLOBAL_VARIABLE/data"
|
||||
|
||||
if [ -e "$OsIndications" ] && \
|
||||
[ "$(( $(printf %x \'"$(cat $OsIndications | cut -b1)") & 1 ))" = 1 ]; then
|
||||
LABEL="System setup"
|
||||
|
||||
gettext_printf "Adding boot menu entry for EFI firmware configuration\n" >&2
|
||||
|
||||
onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
|
||||
|
||||
cat << EOF
|
||||
menuentry '$LABEL' \$menuentry_id_option 'uefi-firmware' {
|
||||
fwsetup
|
||||
}
|
||||
EOF
|
||||
fi
|
Loading…
Reference in New Issue
Block a user