Hi,

I'm using Debian with grub version 2.00-20.
My /etc/default/grub configuration contains the following lines:
GRUB_TIMEOUT=-1
GRUB_HIDDEN_TIMEOUT=3

Expected behavior: When booting, grub should display a three second countdown and if no key is pressed, boot the default grub entry, after the countdown finishes.

Current behavior: When booting, grub displays a three second countdown and if no key is pressed, the grub menu is shown, after the countdown finishes.

The problem lies in the 00_header.in script [1], specifically:
if sleep$verbose --interruptible ${1} ; then
  set timeout=${2}
fi

This just always sets the countdown to GRUB_TIMEOUT, even if the sleep is not interrupted. I think it should be something like:

if sleep$verbose --interruptible ${1} ; then
  set timeout=0
else
  set timeout=${2}
fi

I created a patch to fix this (see attachment). Please include the patch.

Best regards,
Andreas


1: http://git.savannah.gnu.org/cgit/grub.git/tree/util/grub.d/00_header.in
diff -rup grub2-2.00.orig/util/grub.d/00_header.in grub2-2.00/util/grub.d/00_header.in
--- grub2-2.00.orig/util/grub.d/00_header.in	2013-11-21 19:01:07.000000000 +0100
+++ grub2-2.00/util/grub.d/00_header.in	2013-11-22 19:23:22.208203853 +0100
@@ -315,6 +315,8 @@ EOF
 	fi
 	cat << EOF
 if sleep$verbose --interruptible ${1} ; then
+  set timeout=0
+else
   set timeout=${2}
 fi
 EOF
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to