=== modified file 'debian/changelog'
--- debian/changelog	2012-06-06 14:14:48 +0000
+++ debian/changelog	2012-08-21 13:34:28 +0000
@@ -1,3 +1,13 @@
+grub2 (1.99-21ubuntu3.3) UNRELEASED; urgency=low
+
+  [ Ben Howard ]
+  * Parameterization of recordfail setting. This allows users to define the
+    default time out of GRUB when recordfail has been set. The current
+    setting causes hangs on headless and appliances where access to the
+    console is limited or prohibited.  (LP: #669481)
+
+ -- Louis Bouchard <louis.bouchard@canonical.com>  Tue, 21 Aug 2012 10:51:58 +0200
+
 grub2 (1.99-21ubuntu3.2) precise-proposed; urgency=low
 
   * Revert previous SRU. This caused AMI cloud images to prompt about the

=== modified file 'debian/patches/ubuntu_failed_boot_menu.patch'
--- debian/patches/ubuntu_failed_boot_menu.patch	2011-06-21 13:25:48 +0000
+++ debian/patches/ubuntu_failed_boot_menu.patch	2012-08-21 13:34:28 +0000
@@ -35,7 +35,7 @@
      cat << EOF
 -set timeout=${2}
 +if [ "\${recordfail}" = 1 ]; then
-+  set timeout=-1
++  set timeout=${GRUB_RECORDFAIL_TIMEOUT:--1}
 +else
 +  set timeout=${2}
 +fi
@@ -56,3 +56,34 @@
    if ! ${recovery} ; then
        save_default_entry | sed -e "s/^/\t/"
    fi
+Index: b/docs/grub.texi
+===================================================================
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -1250,6 +1250,12 @@
+ Each module will be loaded as early as possible, at the start of
+ @file{grub.cfg}.
+ 
++@item GRUB_RECORDFAIL_TIMEOUT
++If this option is set, it overrides the default recordfail setting. The
++default setting is -1, which causes GRUB to wait for user input. This option
++should be set on headless and appliance systems where access to a console is
++restricted or limited.
++
+ @end table
+ 
+ For more detailed customisation of @command{grub-mkconfig}'s output, you may
+Index: b/util/grub-mkconfig.in
+===================================================================
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -258,7 +258,8 @@
+   GRUB_DISABLE_OS_PROBER \
+   GRUB_INIT_TUNE \
+   GRUB_SAVEDEFAULT \
+-  GRUB_BADRAM
++  GRUB_BADRAM \
++  GRUB_RECORDFAIL_TIMEOUT
+ 
+ if test "x${grub_cfg}" != "x"; then
+   rm -f ${grub_cfg}.new

