Add GRUB_TIMEOUT_STYLE_BUTTON support
Suggested by Vladimir Serbinenko.
This commit is contained in:
parent
471b2683e7
commit
53cc63bf85
3 changed files with 20 additions and 16 deletions
|
@ -1317,6 +1317,7 @@ case, it will show a one-line indication of the remaining time.
|
||||||
|
|
||||||
@item GRUB_DEFAULT_BUTTON
|
@item GRUB_DEFAULT_BUTTON
|
||||||
@itemx GRUB_TIMEOUT_BUTTON
|
@itemx GRUB_TIMEOUT_BUTTON
|
||||||
|
@itemx GRUB_TIMEOUT_STYLE_BUTTON
|
||||||
@itemx GRUB_BUTTON_CMOS_ADDRESS
|
@itemx GRUB_BUTTON_CMOS_ADDRESS
|
||||||
Variants of the corresponding variables without the @samp{_BUTTON} suffix,
|
Variants of the corresponding variables without the @samp{_BUTTON} suffix,
|
||||||
used to support vendor-specific power buttons. @xref{Vendor power-on keys}.
|
used to support vendor-specific power buttons. @xref{Vendor power-on keys}.
|
||||||
|
@ -2517,15 +2518,17 @@ menu requires several fancy features of your terminal.
|
||||||
@node Vendor power-on keys
|
@node Vendor power-on keys
|
||||||
@chapter Using GRUB with vendor power-on keys
|
@chapter Using GRUB with vendor power-on keys
|
||||||
|
|
||||||
Some laptop vendors provide an additional power-on button which boots another
|
Some laptop vendors provide an additional power-on button which boots
|
||||||
OS. GRUB supports such buttons with the @samp{GRUB_TIMEOUT_BUTTON},
|
another OS. GRUB supports such buttons with the @samp{GRUB_TIMEOUT_BUTTON},
|
||||||
@samp{GRUB_DEFAULT_BUTTON}, @samp{GRUB_HIDDEN_TIMEOUT_BUTTON} and
|
@samp{GRUB_TIMEOUT_STYLE_BUTTON}, @samp{GRUB_DEFAULT_BUTTON},
|
||||||
@samp{GRUB_BUTTON_CMOS_ADDRESS} variables in default/grub (@pxref{Simple
|
@samp{GRUB_HIDDEN_TIMEOUT_BUTTON} and @samp{GRUB_BUTTON_CMOS_ADDRESS}
|
||||||
configuration}). @samp{GRUB_TIMEOUT_BUTTON}, @samp{GRUB_DEFAULT_BUTTON} and
|
variables in default/grub (@pxref{Simple configuration}).
|
||||||
@samp{GRUB_HIDDEN_TIMEOUT_BUTTON} are used instead of the corresponding
|
@samp{GRUB_TIMEOUT_BUTTON}, @samp{GRUB_TIMEOUT_STYLE_BUTTON},
|
||||||
variables without the @samp{_BUTTON} suffix when powered on using the special
|
@samp{GRUB_DEFAULT_BUTTON}, and @samp{GRUB_HIDDEN_TIMEOUT_BUTTON} are used
|
||||||
button. @samp{GRUB_BUTTON_CMOS_ADDRESS} is vendor-specific and partially
|
instead of the corresponding variables without the @samp{_BUTTON} suffix
|
||||||
model-specific. Values known to the GRUB team are:
|
when powered on using the special button. @samp{GRUB_BUTTON_CMOS_ADDRESS}
|
||||||
|
is vendor-specific and partially model-specific. Values known to the GRUB
|
||||||
|
team are:
|
||||||
|
|
||||||
@table @key
|
@table @key
|
||||||
@item Dell XPS M1330M
|
@item Dell XPS M1330M
|
||||||
|
|
|
@ -190,6 +190,7 @@ export GRUB_DEFAULT \
|
||||||
GRUB_DEFAULT_BUTTON \
|
GRUB_DEFAULT_BUTTON \
|
||||||
GRUB_HIDDEN_TIMEOUT_BUTTON \
|
GRUB_HIDDEN_TIMEOUT_BUTTON \
|
||||||
GRUB_TIMEOUT_BUTTON \
|
GRUB_TIMEOUT_BUTTON \
|
||||||
|
GRUB_TIMEOUT_STYLE_BUTTON \
|
||||||
GRUB_BUTTON_CMOS_ADDRESS \
|
GRUB_BUTTON_CMOS_ADDRESS \
|
||||||
GRUB_BUTTON_CMOS_CLEAN \
|
GRUB_BUTTON_CMOS_CLEAN \
|
||||||
GRUB_DISTRIBUTOR \
|
GRUB_DISTRIBUTOR \
|
||||||
|
|
|
@ -282,17 +282,17 @@ fi
|
||||||
|
|
||||||
make_timeout ()
|
make_timeout ()
|
||||||
{
|
{
|
||||||
if [ "x${GRUB_TIMEOUT_STYLE}" != "x" ] ; then
|
if [ "x${3}" != "x" ] ; then
|
||||||
cat << EOF
|
cat << EOF
|
||||||
if [ x\$feature_timeout_style = xy ] ; then
|
if [ x\$feature_timeout_style = xy ] ; then
|
||||||
set timeout_style=${GRUB_TIMEOUT_STYLE}
|
set timeout_style=${3}
|
||||||
set timeout=${2}
|
set timeout=${2}
|
||||||
EOF
|
EOF
|
||||||
if [ "x${GRUB_TIMEOUT_STYLE}" != "xmenu" ] ; then
|
if [ "x${3}" != "xmenu" ] ; then
|
||||||
# Fallback hidden-timeout code in case the timeout_style feature
|
# Fallback hidden-timeout code in case the timeout_style feature
|
||||||
# is unavailable. Note that we now ignore GRUB_HIDDEN_TIMEOUT
|
# is unavailable. Note that we now ignore GRUB_HIDDEN_TIMEOUT
|
||||||
# and take the hidden-timeout from GRUB_TIMEOUT instead.
|
# and take the hidden-timeout from GRUB_TIMEOUT instead.
|
||||||
if [ "x${GRUB_TIMEOUT_STYLE}" = "xhidden" ] ; then
|
if [ "x${3}" = "xhidden" ] ; then
|
||||||
verbose=
|
verbose=
|
||||||
else
|
else
|
||||||
verbose=" --verbose"
|
verbose=" --verbose"
|
||||||
|
@ -335,12 +335,12 @@ if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
|
if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
|
||||||
EOF
|
EOF
|
||||||
make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}"
|
make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_STYLE_BUTTON}"
|
||||||
echo else
|
echo else
|
||||||
make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
|
make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}" "${GRUB_TIMEOUT_STYLE}"
|
||||||
echo fi
|
echo fi
|
||||||
else
|
else
|
||||||
make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
|
make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}" "${GRUB_TIMEOUT_STYLE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ] && [ "x$GRUB_BUTTON_CMOS_CLEAN" = "xyes" ]; then
|
if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ] && [ "x$GRUB_BUTTON_CMOS_CLEAN" = "xyes" ]; then
|
||||||
|
|
Loading…
Reference in a new issue