refresh grub patches
authorImre Kaloz <kaloz@openwrt.org>
Thu, 18 Feb 2010 12:10:12 +0000 (12:10 +0000)
committerImre Kaloz <kaloz@openwrt.org>
Thu, 18 Feb 2010 12:10:12 +0000 (12:10 +0000)
SVN-Revision: 19704

package/grub/patches/010-fixes-1.patch

index 6628b73822fe9661b07025fa5e6c6f822a1f0525..91a9e21903d0f1605cdc9f6cc16c68a29cbd011f 100644 (file)
@@ -17,9 +17,8 @@ Description: Contains various fixes and enhancements
 
 http://trac.cross-lfs.org/browser/trunk/patches/grub-0.97-fixes-1.patch
 
 
 http://trac.cross-lfs.org/browser/trunk/patches/grub-0.97-fixes-1.patch
 
-diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
---- grub-0.97.orig/aclocal.m4  2005-05-07 19:41:18.000000000 -0700
-+++ grub-0.97/aclocal.m4       2006-07-04 00:08:22.000000000 -0700
+--- a/aclocal.m4
++++ b/aclocal.m4
 @@ -1,7 +1,7 @@
 -# generated automatically by aclocal 1.9.4 -*- Autoconf -*-
 +# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
 @@ -1,7 +1,7 @@
 -# generated automatically by aclocal 1.9.4 -*- Autoconf -*-
 +# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
@@ -60,7 +59,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # AM_AUTOMAKE_VERSION(VERSION)
  # ----------------------------
  
  # AM_AUTOMAKE_VERSION(VERSION)
  # ----------------------------
-@@ -40,26 +28,15 @@
+@@ -40,26 +28,15 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api
  # Call AM_AUTOMAKE_VERSION so it can be traced.
  # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
  AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
  # Call AM_AUTOMAKE_VERSION so it can be traced.
  # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
  AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
@@ -94,7 +93,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
  # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
  
  # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
  # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-@@ -106,26 +83,16 @@
+@@ -106,26 +83,16 @@ AC_PREREQ([2.50])dnl
  am_aux_dir=`cd $ac_aux_dir && pwd`
  ])
  
  am_aux_dir=`cd $ac_aux_dir && pwd`
  ])
  
@@ -129,7 +128,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # AM_CONDITIONAL(NAME, SHELL-CONDITION)
  # -------------------------------------
  
  # AM_CONDITIONAL(NAME, SHELL-CONDITION)
  # -------------------------------------
-@@ -149,26 +116,15 @@
+@@ -149,26 +116,15 @@ AC_CONFIG_COMMANDS_PRE(
  Usually this means the macro was only invoked conditionally.]])
  fi])])
  
  Usually this means the macro was only invoked conditionally.]])
  fi])])
  
@@ -162,7 +161,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
  # written in clear, in which case automake, when reading aclocal.m4,
  
  # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
  # written in clear, in which case automake, when reading aclocal.m4,
-@@ -177,7 +133,6 @@
+@@ -177,7 +133,6 @@ fi])])
  # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
  
  
  # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
  
  
@@ -170,7 +169,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  # _AM_DEPENDENCIES(NAME)
  # ----------------------
  # See how the compiler implements dependency checking.
  # _AM_DEPENDENCIES(NAME)
  # ----------------------
  # See how the compiler implements dependency checking.
-@@ -317,27 +272,16 @@
+@@ -317,27 +272,16 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_
  AC_SUBST([AMDEPBACKSLASH])
  ])
  
  AC_SUBST([AMDEPBACKSLASH])
  ])
  
@@ -206,7 +205,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # _AM_OUTPUT_DEPENDENCY_COMMANDS
  # ------------------------------
  
  # _AM_OUTPUT_DEPENDENCY_COMMANDS
  # ------------------------------
-@@ -396,30 +340,19 @@
+@@ -396,30 +340,19 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
       [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
  ])
  
       [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
  ])
  
@@ -246,7 +245,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
  # AM_INIT_AUTOMAKE([OPTIONS])
  
  # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
  # AM_INIT_AUTOMAKE([OPTIONS])
-@@ -521,51 +454,27 @@
+@@ -521,51 +454,27 @@ for _am_header in $config_headers :; do
  done
  echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
  
  done
  echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
  
@@ -310,7 +309,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # Check whether the underlying file-system supports filenames
  # with a leading dot.  For instance MS-DOS doesn't.
  
  # Check whether the underlying file-system supports filenames
  # with a leading dot.  For instance MS-DOS doesn't.
-@@ -580,28 +489,17 @@
+@@ -580,28 +489,17 @@ fi
  rmdir .tst 2>/dev/null
  AC_SUBST([am__leading_dot])])
  
  rmdir .tst 2>/dev/null
  AC_SUBST([am__leading_dot])])
  
@@ -346,7 +345,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  AC_DEFUN([AM_MAINTAINER_MODE],
  [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
  
  AC_DEFUN([AM_MAINTAINER_MODE],
  [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
-@@ -620,26 +518,15 @@
+@@ -620,26 +518,15 @@ AC_DEFUN([AM_MAINTAINER_MODE],
  
  AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
  
  
  AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
  
@@ -380,7 +379,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # AM_MAKE_INCLUDE()
  # -----------------
  
  # AM_MAKE_INCLUDE()
  # -----------------
-@@ -683,27 +570,16 @@
+@@ -683,27 +570,16 @@ AC_MSG_RESULT([$_am_result])
  rm -f confinc confmf
  ])
  
  rm -f confinc confmf
  ])
  
@@ -416,7 +415,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # AM_MISSING_PROG(NAME, PROGRAM)
  # ------------------------------
  
  # AM_MISSING_PROG(NAME, PROGRAM)
  # ------------------------------
-@@ -729,27 +605,16 @@
+@@ -729,27 +605,16 @@ else
  fi
  ])
  
  fi
  ])
  
@@ -451,7 +450,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
  # created by `make install' are always world readable, even if the
  # installer happens to have an overly restrictive umask (e.g. 077).
  # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
  # created by `make install' are always world readable, even if the
  # installer happens to have an overly restrictive umask (e.g. 077).
-@@ -803,26 +668,15 @@
+@@ -803,26 +668,15 @@ else
  fi
  AC_SUBST([mkdir_p])])
  
  fi
  AC_SUBST([mkdir_p])])
  
@@ -485,7 +484,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # _AM_MANGLE_OPTION(NAME)
  # -----------------------
  
  # _AM_MANGLE_OPTION(NAME)
  # -----------------------
-@@ -847,28 +701,16 @@
+@@ -847,28 +701,16 @@ AC_DEFUN([_AM_SET_OPTIONS],
  AC_DEFUN([_AM_IF_OPTION],
  [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
  
  AC_DEFUN([_AM_IF_OPTION],
  [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
  
@@ -522,7 +521,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # AM_SANITY_CHECK
  # ---------------
  
  # AM_SANITY_CHECK
  # ---------------
-@@ -911,25 +753,14 @@
+@@ -911,25 +753,14 @@ Check your system clock])
  fi
  AC_MSG_RESULT(yes)])
  
  fi
  AC_MSG_RESULT(yes)])
  
@@ -555,7 +554,7 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  # One issue with vendor `install' (even GNU) is that you can't
  # specify the program used to strip binaries.  This is especially
  # annoying in cross-compiling environments, where the build's strip
  # One issue with vendor `install' (even GNU) is that you can't
  # specify the program used to strip binaries.  This is especially
  # annoying in cross-compiling environments, where the build's strip
-@@ -952,25 +783,13 @@
+@@ -952,25 +783,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
  
  # Check how to create a tarball.                            -*- Autoconf -*-
  
  
  # Check how to create a tarball.                            -*- Autoconf -*-
  
@@ -587,9 +586,8 @@ diff -Naur grub-0.97.orig/aclocal.m4 grub-0.97/aclocal.m4
  
  # _AM_PROG_TAR(FORMAT)
  # --------------------
  
  # _AM_PROG_TAR(FORMAT)
  # --------------------
-diff -Naur grub-0.97.orig/ChangeLog grub-0.97/ChangeLog
---- grub-0.97.orig/ChangeLog   2005-05-07 19:47:02.000000000 -0700
-+++ grub-0.97/ChangeLog        2006-07-04 00:01:50.000000000 -0700
+--- a/ChangeLog
++++ b/ChangeLog
 @@ -1,3 +1,51 @@
 +2006-05-02  Pavel Roskin  <proski@gnu.org>
 +
 @@ -1,3 +1,51 @@
 +2006-05-02  Pavel Roskin  <proski@gnu.org>
 +
@@ -642,10 +640,9 @@ diff -Naur grub-0.97.orig/ChangeLog grub-0.97/ChangeLog
  2005-05-08  Yoshinori K. Okuji  <okuji@enbug.org>
  
        * configure.ac (AC_INIT): Upgraded to 0.97.
  2005-05-08  Yoshinori K. Okuji  <okuji@enbug.org>
  
        * configure.ac (AC_INIT): Upgraded to 0.97.
-diff -Naur grub-0.97.orig/configure grub-0.97/configure
---- grub-0.97.orig/configure   2005-05-07 19:48:12.000000000 -0700
-+++ grub-0.97/configure        2006-07-04 00:08:05.000000000 -0700
-@@ -311,7 +311,7 @@
+--- a/configure
++++ b/configure
+@@ -311,7 +311,7 @@ ac_includes_default="\
  # include <unistd.h>
  #endif"
  
  # include <unistd.h>
  #endif"
  
@@ -654,7 +651,7 @@ diff -Naur grub-0.97.orig/configure grub-0.97/configure
  ac_subst_files=''
  
  # Initialize some variables set by options.
  ac_subst_files=''
  
  # Initialize some variables set by options.
-@@ -914,6 +914,7 @@
+@@ -914,6 +914,7 @@ Optional Features:
                            set the default memory location for WD/SMC
    --enable-cs-scan=LIST   probe for CS89x0 base address using LIST
    --enable-diskless       enable diskless support
                            set the default memory location for WD/SMC
    --enable-cs-scan=LIST   probe for CS89x0 base address using LIST
    --enable-diskless       enable diskless support
@@ -662,7 +659,7 @@ diff -Naur grub-0.97.orig/configure grub-0.97/configure
    --disable-hercules      disable hercules terminal support
    --disable-serial        disable serial terminal support
    --enable-serial-speed-simulation
    --disable-hercules      disable hercules terminal support
    --disable-serial        disable serial terminal support
    --enable-serial-speed-simulation
-@@ -5966,6 +5967,22 @@
+@@ -5966,6 +5967,22 @@ else
  fi
  
  
  fi
  
  
@@ -685,7 +682,7 @@ diff -Naur grub-0.97.orig/configure grub-0.97/configure
  # Check whether --enable-hercules or --disable-hercules was given.
  if test "${enable_hercules+set}" = set; then
    enableval="$enable_hercules"
  # Check whether --enable-hercules or --disable-hercules was given.
  if test "${enable_hercules+set}" = set; then
    enableval="$enable_hercules"
-@@ -6270,6 +6287,13 @@
+@@ -6270,6 +6287,13 @@ echo "$as_me: error: conditional \"DISKL
  Usually this means the macro was only invoked conditionally." >&2;}
     { (exit 1); exit 1; }; }
  fi
  Usually this means the macro was only invoked conditionally." >&2;}
     { (exit 1); exit 1; }; }
  fi
@@ -699,7 +696,7 @@ diff -Naur grub-0.97.orig/configure grub-0.97/configure
  if test -z "${HERCULES_SUPPORT_TRUE}" && test -z "${HERCULES_SUPPORT_FALSE}"; then
    { { echo "$as_me:$LINENO: error: conditional \"HERCULES_SUPPORT\" was never defined.
  Usually this means the macro was only invoked conditionally." >&5
  if test -z "${HERCULES_SUPPORT_TRUE}" && test -z "${HERCULES_SUPPORT_FALSE}"; then
    { { echo "$as_me:$LINENO: error: conditional \"HERCULES_SUPPORT\" was never defined.
  Usually this means the macro was only invoked conditionally." >&5
-@@ -6907,6 +6931,8 @@
+@@ -6907,6 +6931,8 @@ s,@NETBOOT_SUPPORT_TRUE@,$NETBOOT_SUPPOR
  s,@NETBOOT_SUPPORT_FALSE@,$NETBOOT_SUPPORT_FALSE,;t t
  s,@DISKLESS_SUPPORT_TRUE@,$DISKLESS_SUPPORT_TRUE,;t t
  s,@DISKLESS_SUPPORT_FALSE@,$DISKLESS_SUPPORT_FALSE,;t t
  s,@NETBOOT_SUPPORT_FALSE@,$NETBOOT_SUPPORT_FALSE,;t t
  s,@DISKLESS_SUPPORT_TRUE@,$DISKLESS_SUPPORT_TRUE,;t t
  s,@DISKLESS_SUPPORT_FALSE@,$DISKLESS_SUPPORT_FALSE,;t t
@@ -708,10 +705,9 @@ diff -Naur grub-0.97.orig/configure grub-0.97/configure
  s,@HERCULES_SUPPORT_TRUE@,$HERCULES_SUPPORT_TRUE,;t t
  s,@HERCULES_SUPPORT_FALSE@,$HERCULES_SUPPORT_FALSE,;t t
  s,@SERIAL_SUPPORT_TRUE@,$SERIAL_SUPPORT_TRUE,;t t
  s,@HERCULES_SUPPORT_TRUE@,$HERCULES_SUPPORT_TRUE,;t t
  s,@HERCULES_SUPPORT_FALSE@,$HERCULES_SUPPORT_FALSE,;t t
  s,@SERIAL_SUPPORT_TRUE@,$SERIAL_SUPPORT_TRUE,;t t
-diff -Naur grub-0.97.orig/configure.ac grub-0.97/configure.ac
---- grub-0.97.orig/configure.ac        2005-05-07 19:36:03.000000000 -0700
-+++ grub-0.97/configure.ac     2006-07-03 23:58:41.000000000 -0700
-@@ -595,6 +595,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -595,6 +595,11 @@ AC_ARG_ENABLE(diskless,
    [  --enable-diskless       enable diskless support])
  AM_CONDITIONAL(DISKLESS_SUPPORT, test "x$enable_diskless" = xyes)
  
    [  --enable-diskless       enable diskless support])
  AM_CONDITIONAL(DISKLESS_SUPPORT, test "x$enable_diskless" = xyes)
  
@@ -723,9 +719,8 @@ diff -Naur grub-0.97.orig/configure.ac grub-0.97/configure.ac
  dnl Hercules terminal
  AC_ARG_ENABLE(hercules,
    [  --disable-hercules      disable hercules terminal support])
  dnl Hercules terminal
  AC_ARG_ENABLE(hercules,
    [  --disable-hercules      disable hercules terminal support])
-diff -Naur grub-0.97.orig/docs/grub.8 grub-0.97/docs/grub.8
---- grub-0.97.orig/docs/grub.8 2005-05-07 19:48:56.000000000 -0700
-+++ grub-0.97/docs/grub.8      2006-07-04 00:01:50.000000000 -0700
+--- a/docs/grub.8
++++ b/docs/grub.8
 @@ -1,5 +1,5 @@
  .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.23.
 -.TH GRUB "8" "May 2005" "grub (GNU GRUB 0.97)" FSF
 @@ -1,5 +1,5 @@
  .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.23.
 -.TH GRUB "8" "May 2005" "grub (GNU GRUB 0.97)" FSF
@@ -733,10 +728,9 @@ diff -Naur grub-0.97.orig/docs/grub.8 grub-0.97/docs/grub.8
  .SH NAME
  grub \- the grub shell
  .SH SYNOPSIS
  .SH NAME
  grub \- the grub shell
  .SH SYNOPSIS
-diff -Naur grub-0.97.orig/docs/grub.texi grub-0.97/docs/grub.texi
---- grub-0.97.orig/docs/grub.texi      2005-05-07 19:59:59.000000000 -0700
-+++ grub-0.97/docs/grub.texi   2006-07-04 00:00:54.000000000 -0700
-@@ -2199,6 +2199,7 @@
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -2199,6 +2199,7 @@ Commands usable anywhere in the menu and
  * rarp::                        Initialize a network device via RARP
  * serial::                      Set up a serial device
  * setkey::                      Configure the key map
  * rarp::                        Initialize a network device via RARP
  * serial::                      Set up a serial device
  * setkey::                      Configure the key map
@@ -744,7 +738,7 @@ diff -Naur grub-0.97.orig/docs/grub.texi grub-0.97/docs/grub.texi
  * terminal::                    Choose a terminal
  * terminfo::                    Define escape sequences for a terminal
  * tftpserver::                  Specify a TFTP server
  * terminal::                    Choose a terminal
  * terminfo::                    Define escape sequences for a terminal
  * tftpserver::                  Specify a TFTP server
-@@ -2578,6 +2579,16 @@
+@@ -2578,6 +2579,16 @@ character each of the symbols correspond
  @end deffn
  
  
  @end deffn
  
  
@@ -761,7 +755,7 @@ diff -Naur grub-0.97.orig/docs/grub.texi grub-0.97/docs/grub.texi
  @node terminal
  @subsection terminal
  
  @node terminal
  @subsection terminal
  
-@@ -2685,6 +2696,7 @@
+@@ -2685,6 +2696,7 @@ you forget a command, you can run the co
  * module::                      Load a module
  * modulenounzip::               Load a module without decompression
  * pause::                       Wait for a key press
  * module::                      Load a module
  * modulenounzip::               Load a module without decompression
  * pause::                       Wait for a key press
@@ -769,7 +763,7 @@ diff -Naur grub-0.97.orig/docs/grub.texi grub-0.97/docs/grub.texi
  * quit::                        Exit from the grub shell
  * reboot::                      Reboot your computer
  * read::                        Read data from memory
  * quit::                        Exit from the grub shell
  * reboot::                      Reboot your computer
  * read::                        Read data from memory
-@@ -3091,6 +3103,16 @@
+@@ -3091,6 +3103,16 @@ change floppies.
  @end deffn
  
  
  @end deffn
  
  
@@ -786,9 +780,8 @@ diff -Naur grub-0.97.orig/docs/grub.texi grub-0.97/docs/grub.texi
  @node quit
  @subsection quit
  
  @node quit
  @subsection quit
  
-diff -Naur grub-0.97.orig/docs/multiboot.texi grub-0.97/docs/multiboot.texi
---- grub-0.97.orig/docs/multiboot.texi 2003-07-09 04:45:36.000000000 -0700
-+++ grub-0.97/docs/multiboot.texi      2006-07-04 00:01:50.000000000 -0700
+--- a/docs/multiboot.texi
++++ b/docs/multiboot.texi
 @@ -25,7 +25,7 @@
  @ifinfo
  Copyright @copyright{} 1995, 96 Bryan Ford <baford@@cs.utah.edu>
 @@ -25,7 +25,7 @@
  @ifinfo
  Copyright @copyright{} 1995, 96 Bryan Ford <baford@@cs.utah.edu>
@@ -798,7 +791,7 @@ diff -Naur grub-0.97.orig/docs/multiboot.texi grub-0.97/docs/multiboot.texi
  
  Permission is granted to make and distribute verbatim copies of
  this manual provided the copyright notice and this permission notice
  
  Permission is granted to make and distribute verbatim copies of
  this manual provided the copyright notice and this permission notice
-@@ -57,7 +57,7 @@
+@@ -57,7 +57,7 @@ into another language, under the above c
  @vskip 0pt plus 1filll
  Copyright @copyright{} 1995, 96 Bryan Ford <baford@@cs.utah.edu>
  Copyright @copyright{} 1995, 96 Erich Stefan Boleyn <erich@@uruk.org>
  @vskip 0pt plus 1filll
  Copyright @copyright{} 1995, 96 Bryan Ford <baford@@cs.utah.edu>
  Copyright @copyright{} 1995, 96 Erich Stefan Boleyn <erich@@uruk.org>
@@ -807,7 +800,7 @@ diff -Naur grub-0.97.orig/docs/multiboot.texi grub-0.97/docs/multiboot.texi
  
  Permission is granted to make and distribute verbatim copies of
  this manual provided the copyright notice and this permission notice
  
  Permission is granted to make and distribute verbatim copies of
  this manual provided the copyright notice and this permission notice
-@@ -80,7 +80,7 @@
+@@ -80,7 +80,7 @@ into another language, under the above c
  @top Multiboot Specification
  
  This file documents Multiboot Specification, the proposal for the boot
  @top Multiboot Specification
  
  This file documents Multiboot Specification, the proposal for the boot
@@ -816,7 +809,7 @@ diff -Naur grub-0.97.orig/docs/multiboot.texi grub-0.97/docs/multiboot.texi
  @end ifnottex
  
  @menu
  @end ifnottex
  
  @menu
-@@ -426,7 +426,7 @@
+@@ -426,7 +426,7 @@ mode table (@pxref{Boot information form
  kernel.
  
  If bit 16 in the @samp{flags} word is set, then the fields at offsets
  kernel.
  
  If bit 16 in the @samp{flags} word is set, then the fields at offsets
@@ -825,7 +818,7 @@ diff -Naur grub-0.97.orig/docs/multiboot.texi grub-0.97/docs/multiboot.texi
  them instead of the fields in the actual executable header to calculate
  where to load the OS image. This information does not need to be
  provided if the kernel image is in @sc{elf} format, but it @emph{must}
  them instead of the fields in the actual executable header to calculate
  where to load the OS image. This information does not need to be
  provided if the kernel image is in @sc{elf} format, but it @emph{must}
-@@ -677,7 +677,7 @@
+@@ -677,7 +677,7 @@ follows:
  @example
  @group
  +-------+-------+-------+-------+
  @example
  @group
  +-------+-------+-------+-------+
@@ -834,7 +827,7 @@ diff -Naur grub-0.97.orig/docs/multiboot.texi grub-0.97/docs/multiboot.texi
  +-------+-------+-------+-------+
  @end group
  @end example
  +-------+-------+-------+-------+
  @end group
  @end example
-@@ -1199,6 +1199,13 @@
+@@ -1199,6 +1199,13 @@ The maintainer changes to the GNU GRUB m
  @email{bug-grub@@gnu.org}, from Bryan Ford and Erich Stefan Boleyn.
  @end itemize
  
  @email{bug-grub@@gnu.org}, from Bryan Ford and Erich Stefan Boleyn.
  @end itemize
  
@@ -848,10 +841,9 @@ diff -Naur grub-0.97.orig/docs/multiboot.texi grub-0.97/docs/multiboot.texi
  @item 0.6
  @itemize @bullet
  @item
  @item 0.6
  @itemize @bullet
  @item
-diff -Naur grub-0.97.orig/grub/asmstub.c grub-0.97/grub/asmstub.c
---- grub-0.97.orig/grub/asmstub.c      2005-02-16 12:45:14.000000000 -0800
-+++ grub-0.97/grub/asmstub.c   2006-07-04 00:01:50.000000000 -0700
-@@ -42,6 +42,12 @@
+--- a/grub/asmstub.c
++++ b/grub/asmstub.c
+@@ -42,6 +42,12 @@ int grub_stage2 (void);
  #include <sys/time.h>
  #include <termios.h>
  #include <signal.h>
  #include <sys/time.h>
  #include <termios.h>
  #include <signal.h>
@@ -864,7 +856,7 @@ diff -Naur grub-0.97.orig/grub/asmstub.c grub-0.97/grub/asmstub.c
  
  #ifdef __linux__
  # include <sys/ioctl.h>               /* ioctl */
  
  #ifdef __linux__
  # include <sys/ioctl.h>               /* ioctl */
-@@ -55,6 +61,10 @@
+@@ -55,6 +61,10 @@ int grub_stage2 (void);
  # endif /* ! BLKFLSBUF */
  #endif /* __linux__ */
  
  # endif /* ! BLKFLSBUF */
  #endif /* __linux__ */
  
@@ -875,7 +867,7 @@ diff -Naur grub-0.97.orig/grub/asmstub.c grub-0.97/grub/asmstub.c
  /* We want to prevent any circularararity in our stubs, as well as
     libc name clashes. */
  #define WITHOUT_LIBC_STUBS 1
  /* We want to prevent any circularararity in our stubs, as well as
     libc name clashes. */
  #define WITHOUT_LIBC_STUBS 1
-@@ -144,6 +154,22 @@
+@@ -144,6 +154,22 @@ grub_stage2 (void)
    assert (grub_scratch_mem == 0);
    scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15);
    assert (scratch);
    assert (grub_scratch_mem == 0);
    scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15);
    assert (scratch);
@@ -898,7 +890,7 @@ diff -Naur grub-0.97.orig/grub/asmstub.c grub-0.97/grub/asmstub.c
    grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4);
  
    /* FIXME: simulate the memory holes using mprot, if available. */
    grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4);
  
    /* FIXME: simulate the memory holes using mprot, if available. */
-@@ -777,7 +803,39 @@
+@@ -777,7 +803,39 @@ get_diskinfo (int drive, struct geometry
  
        /* Open read/write, or read-only if that failed. */
        if (! read_only)
  
        /* Open read/write, or read-only if that failed. */
        if (! read_only)
@@ -939,10 +931,9 @@ diff -Naur grub-0.97.orig/grub/asmstub.c grub-0.97/grub/asmstub.c
  
        if (disks[drive].flags == -1)
        {
  
        if (disks[drive].flags == -1)
        {
-diff -Naur grub-0.97.orig/grub/main.c grub-0.97/grub/main.c
---- grub-0.97.orig/grub/main.c 2003-07-09 04:45:36.000000000 -0700
-+++ grub-0.97/grub/main.c      2006-07-04 00:01:50.000000000 -0700
-@@ -32,6 +32,7 @@
+--- a/grub/main.c
++++ b/grub/main.c
+@@ -32,6 +32,7 @@ int grub_stage2 (void);
  #define WITHOUT_LIBC_STUBS 1
  #include <shared.h>
  #include <term.h>
  #define WITHOUT_LIBC_STUBS 1
  #include <shared.h>
  #include <term.h>
@@ -950,7 +941,7 @@ diff -Naur grub-0.97.orig/grub/main.c grub-0.97/grub/main.c
  
  char *program_name = 0;
  int use_config_file = 1;
  
  char *program_name = 0;
  int use_config_file = 1;
-@@ -192,6 +193,12 @@
+@@ -192,6 +193,12 @@ main (int argc, char **argv)
              perror ("strtoul");
              exit (1);
            }
              perror ("strtoul");
              exit (1);
            }
@@ -963,10 +954,9 @@ diff -Naur grub-0.97.orig/grub/main.c grub-0.97/grub/main.c
          break;
  
        case OPT_NO_CONFIG_FILE:
          break;
  
        case OPT_NO_CONFIG_FILE:
-diff -Naur grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
---- grub-0.97.orig/lib/device.c        2005-03-27 15:14:25.000000000 -0800
-+++ grub-0.97/lib/device.c     2006-07-04 00:00:44.000000000 -0700
-@@ -131,6 +131,152 @@
+--- a/lib/device.c
++++ b/lib/device.c
+@@ -131,6 +131,152 @@ get_kfreebsd_version ()
  #include <shared.h>
  #include <device.h>
  
  #include <shared.h>
  #include <device.h>
  
@@ -1119,7 +1109,7 @@ diff -Naur grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
  /* Get the geometry of a drive DRIVE.  */
  void
  get_drive_geometry (struct geometry *geom, char **map, int drive)
  /* Get the geometry of a drive DRIVE.  */
  void
  get_drive_geometry (struct geometry *geom, char **map, int drive)
-@@ -151,21 +297,16 @@
+@@ -151,21 +297,16 @@ get_drive_geometry (struct geometry *geo
  #if defined(__linux__)
    /* Linux */
    {
  #if defined(__linux__)
    /* Linux */
    {
@@ -1144,7 +1134,7 @@ diff -Naur grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
      goto success;
    }
  
      goto success;
    }
  
-@@ -403,6 +544,18 @@
+@@ -403,6 +544,18 @@ get_dac960_disk_name (char *name, int co
  }
  
  static void
  }
  
  static void
@@ -1163,7 +1153,7 @@ diff -Naur grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
  get_ataraid_disk_name (char *name, int unit)
  {
    sprintf (name, "/dev/ataraid/d%c", unit + '0');
  get_ataraid_disk_name (char *name, int unit)
  {
    sprintf (name, "/dev/ataraid/d%c", unit + '0');
-@@ -801,6 +954,74 @@
+@@ -801,6 +954,74 @@ init_device_map (char ***map, const char
          }
        }
    }
          }
        }
    }
@@ -1238,7 +1228,7 @@ diff -Naur grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
  #endif /* __linux__ */
    
    /* OK, close the device map file if opened.  */
  #endif /* __linux__ */
    
    /* OK, close the device map file if opened.  */
-@@ -844,6 +1065,7 @@
+@@ -844,6 +1065,7 @@ write_to_partition (char **map, int driv
  {
    char dev[PATH_MAX]; /* XXX */
    int fd;
  {
    char dev[PATH_MAX]; /* XXX */
    int fd;
@@ -1246,7 +1236,7 @@ diff -Naur grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
    
    if ((partition & 0x00FF00) != 0x00FF00)
      {
    
    if ((partition & 0x00FF00) != 0x00FF00)
      {
-@@ -861,8 +1083,14 @@
+@@ -861,8 +1083,14 @@ write_to_partition (char **map, int driv
        if (strcmp (dev + strlen(dev) - 5, "/disc") == 0)
        strcpy (dev + strlen(dev) - 5, "/part");
      }
        if (strcmp (dev + strlen(dev) - 5, "/disc") == 0)
        strcpy (dev + strlen(dev) - 5, "/part");
      }
@@ -1263,7 +1253,7 @@ diff -Naur grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
    /* Open the partition.  */
    fd = open (dev, O_RDWR);
    if (fd < 0)
    /* Open the partition.  */
    fd = open (dev, O_RDWR);
    if (fd < 0)
-@@ -870,35 +1098,13 @@
+@@ -870,35 +1098,13 @@ write_to_partition (char **map, int driv
        errnum = ERR_NO_PART;
        return 0;
      }
        errnum = ERR_NO_PART;
        return 0;
      }
@@ -1304,10 +1294,9 @@ diff -Naur grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
    
    if (write (fd, buf, size * SECTOR_SIZE) != (size * SECTOR_SIZE))
      {
    
    if (write (fd, buf, size * SECTOR_SIZE) != (size * SECTOR_SIZE))
      {
-diff -Naur grub-0.97.orig/stage2/asm.S grub-0.97/stage2/asm.S
---- grub-0.97.orig/stage2/asm.S        2004-06-19 09:55:22.000000000 -0700
-+++ grub-0.97/stage2/asm.S     2006-07-04 00:01:19.000000000 -0700
-@@ -1651,7 +1651,29 @@
+--- a/stage2/asm.S
++++ b/stage2/asm.S
+@@ -1651,7 +1651,29 @@ ENTRY(gateA20)
        jnz     3f
        ret
  
        jnz     3f
        ret
  
@@ -1338,7 +1327,7 @@ diff -Naur grub-0.97.orig/stage2/asm.S grub-0.97/stage2/asm.S
        pushl   %eax
  
        call    gloop1
        pushl   %eax
  
        call    gloop1
-@@ -1661,9 +1683,12 @@
+@@ -1661,9 +1683,12 @@ ENTRY(gateA20)
  
  gloopint1:
        inb     $K_STATUS
  
  gloopint1:
        inb     $K_STATUS
@@ -1351,7 +1340,7 @@ diff -Naur grub-0.97.orig/stage2/asm.S grub-0.97/stage2/asm.S
        movb    $KB_OUTPUT_MASK, %al
        cmpb    $0, 0x8(%esp)
        jz      gdoit
        movb    $KB_OUTPUT_MASK, %al
        cmpb    $0, 0x8(%esp)
        jz      gdoit
-@@ -1684,6 +1709,8 @@
+@@ -1684,6 +1709,8 @@ gdoit:
  
  gloop1:
        inb     $K_STATUS
  
  gloop1:
        inb     $K_STATUS
@@ -1360,7 +1349,7 @@ diff -Naur grub-0.97.orig/stage2/asm.S grub-0.97/stage2/asm.S
        andb    $K_IBUF_FUL, %al
        jnz     gloop1
  
        andb    $K_IBUF_FUL, %al
        jnz     gloop1
  
-@@ -1991,6 +2018,11 @@
+@@ -1991,6 +2018,11 @@ ENTRY(ascii_key_map)
  ENTRY(console_getkey)
        push    %ebp
  
  ENTRY(console_getkey)
        push    %ebp
  
@@ -1372,7 +1361,7 @@ diff -Naur grub-0.97.orig/stage2/asm.S grub-0.97/stage2/asm.S
        call    EXT_C(prot_to_real)
        .code16
  
        call    EXT_C(prot_to_real)
        .code16
  
-@@ -2216,7 +2248,304 @@
+@@ -2216,7 +2248,304 @@ ENTRY(console_setcursor)
        pop     %ebx
        pop     %ebp
        ret
        pop     %ebx
        pop     %ebp
        ret
@@ -1678,9 +1667,8 @@ diff -Naur grub-0.97.orig/stage2/asm.S grub-0.97/stage2/asm.S
  /*
   * getrtsecs()
   *    if a seconds value can be read, read it and return it (BCD),
  /*
   * getrtsecs()
   *    if a seconds value can be read, read it and return it (BCD),
-diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
---- grub-0.97.orig/stage2/boot.c       2004-03-30 03:44:08.000000000 -0800
-+++ grub-0.97/stage2/boot.c    2006-07-04 00:01:50.000000000 -0700
+--- a/stage2/boot.c
++++ b/stage2/boot.c
 @@ -1,7 +1,7 @@
  /* boot.c - load and bootstrap a kernel */
  /*
 @@ -1,7 +1,7 @@
  /* boot.c - load and bootstrap a kernel */
  /*
@@ -1690,7 +1678,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
   *
   *  This program is free software; you can redistribute it and/or modify
   *  it under the terms of the GNU General Public License as published by
   *
   *  This program is free software; you can redistribute it and/or modify
   *  it under the terms of the GNU General Public License as published by
-@@ -29,6 +29,8 @@
+@@ -29,6 +29,8 @@ static int cur_addr;
  entry_func entry_addr;
  static struct mod_list mll[99];
  static int linux_mem_size;
  entry_func entry_addr;
  static struct mod_list mll[99];
  static int linux_mem_size;
@@ -1699,7 +1687,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
  
  /*
   *  The next two functions, 'load_image' and 'load_module', are the building
  
  /*
   *  The next two functions, 'load_image' and 'load_module', are the building
-@@ -96,7 +98,7 @@
+@@ -96,7 +98,7 @@ load_image (char *kernel, char *arg, ker
    lh = (struct linux_kernel_header *) buffer;
    
    /* ELF loading supported if multiboot, FreeBSD and NetBSD.  */
    lh = (struct linux_kernel_header *) buffer;
    
    /* ELF loading supported if multiboot, FreeBSD and NetBSD.  */
@@ -1708,7 +1696,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
         || pu.elf->e_ident[EI_OSABI] == ELFOSABI_FREEBSD
         || grub_strcmp (pu.elf->e_ident + EI_BRAND, "FreeBSD") == 0
         || suggested_type == KERNEL_TYPE_NETBSD)
         || pu.elf->e_ident[EI_OSABI] == ELFOSABI_FREEBSD
         || grub_strcmp (pu.elf->e_ident + EI_BRAND, "FreeBSD") == 0
         || suggested_type == KERNEL_TYPE_NETBSD)
-@@ -594,6 +596,7 @@
+@@ -594,6 +596,7 @@ load_image (char *kernel, char *arg, ker
  
        /* reset this to zero for now */
        cur_addr = 0;
  
        /* reset this to zero for now */
        cur_addr = 0;
@@ -1716,7 +1704,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
  
        /* scan for program segments */
        for (i = 0; i < pu.elf->e_phnum; i++)
  
        /* scan for program segments */
        for (i = 0; i < pu.elf->e_phnum; i++)
-@@ -630,6 +633,8 @@
+@@ -630,6 +633,8 @@ load_image (char *kernel, char *arg, ker
              /* mark memory as used */
              if (cur_addr < memaddr + memsiz)
                cur_addr = memaddr + memsiz;
              /* mark memory as used */
              if (cur_addr < memaddr + memsiz)
                cur_addr = memaddr + memsiz;
@@ -1725,7 +1713,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
              printf (", <0x%x:0x%x:0x%x>", memaddr, filesiz,
                      memsiz - filesiz);
              /* increment number of segments */
              printf (", <0x%x:0x%x:0x%x>", memaddr, filesiz,
                      memsiz - filesiz);
              /* increment number of segments */
-@@ -647,6 +652,8 @@
+@@ -647,6 +652,8 @@ load_image (char *kernel, char *arg, ker
            }
        }
  
            }
        }
  
@@ -1734,7 +1722,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
        if (! errnum)
        {
          if (! loaded)
        if (! errnum)
        {
          if (! loaded)
-@@ -824,8 +831,11 @@
+@@ -824,8 +831,11 @@ load_initrd (char *initrd)
      moveto = (mbi.mem_upper + 0x400) << 10;
    
    moveto = (moveto - len) & 0xfffff000;
      moveto = (mbi.mem_upper + 0x400) << 10;
    
    moveto = (moveto - len) & 0xfffff000;
@@ -1748,7 +1736,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
    if (moveto + len >= max_addr)
      moveto = (max_addr - len) & 0xfffff000;
    
    if (moveto + len >= max_addr)
      moveto = (max_addr - len) & 0xfffff000;
    
-@@ -864,6 +874,129 @@
+@@ -864,6 +874,129 @@ bsd_boot_entry (int flags, int bootdev, 
  }
  #endif
  
  }
  #endif
  
@@ -1878,7 +1866,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
  
  /*
   *  All "*_boot" commands depend on the images being loaded into memory
  
  /*
   *  All "*_boot" commands depend on the images being loaded into memory
-@@ -877,7 +1010,10 @@
+@@ -877,7 +1010,10 @@ void
  bsd_boot (kernel_t type, int bootdev, char *arg)
  {
    char *str;
  bsd_boot (kernel_t type, int bootdev, char *arg)
  {
    char *str;
@@ -1890,7 +1878,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
    struct bootinfo bi;
  
  #ifdef GRUB_UTIL
    struct bootinfo bi;
  
  #ifdef GRUB_UTIL
-@@ -886,8 +1022,21 @@
+@@ -886,8 +1022,21 @@ bsd_boot (kernel_t type, int bootdev, ch
    stop_floppy ();
  #endif
  
    stop_floppy ();
  #endif
  
@@ -1912,7 +1900,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
    while (*str)
      {
        if (*str == '-')
    while (*str)
      {
        if (*str == '-')
-@@ -910,6 +1059,8 @@
+@@ -910,6 +1059,8 @@ bsd_boot (kernel_t type, int bootdev, ch
                clval |= RB_GDB;
              if (*str == 'h')
                clval |= RB_SERIAL;
                clval |= RB_GDB;
              if (*str == 'h')
                clval |= RB_SERIAL;
@@ -1921,7 +1909,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
              if (*str == 'm')
                clval |= RB_MUTE;
              if (*str == 'r')
              if (*str == 'm')
                clval |= RB_MUTE;
              if (*str == 'r')
-@@ -927,14 +1078,17 @@
+@@ -927,14 +1078,17 @@ bsd_boot (kernel_t type, int bootdev, ch
  
    if (type == KERNEL_TYPE_FREEBSD)
      {
  
    if (type == KERNEL_TYPE_FREEBSD)
      {
@@ -1943,7 +1931,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
        else
        bi.bi_kernelname = 0;
  
        else
        bi.bi_kernelname = 0;
  
-@@ -961,6 +1115,30 @@
+@@ -961,6 +1115,30 @@ bsd_boot (kernel_t type, int bootdev, ch
        bi.bi_basemem = mbi.mem_lower;
        bi.bi_extmem = extended_memory;
  
        bi.bi_basemem = mbi.mem_lower;
        bi.bi_extmem = extended_memory;
  
@@ -1974,7 +1962,7 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
        if (mbi.flags & MB_INFO_AOUT_SYMS)
        {
          bi.bi_symtab = mbi.syms.a.addr;
        if (mbi.flags & MB_INFO_AOUT_SYMS)
        {
          bi.bi_symtab = mbi.syms.a.addr;
-@@ -970,8 +1148,9 @@
+@@ -970,8 +1148,9 @@ bsd_boot (kernel_t type, int bootdev, ch
  #if 0
        else if (mbi.flags & MB_INFO_ELF_SHDR)
        {
  #if 0
        else if (mbi.flags & MB_INFO_ELF_SHDR)
        {
@@ -1986,9 +1974,8 @@ diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97/stage2/boot.c
        }
  #endif
        else
        }
  #endif
        else
-diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
---- grub-0.97.orig/stage2/builtins.c   2005-02-15 13:58:23.000000000 -0800
-+++ grub-0.97/stage2/builtins.c        2006-07-04 00:01:50.000000000 -0700
+--- a/stage2/builtins.c
++++ b/stage2/builtins.c
 @@ -28,6 +28,10 @@
  #include <filesys.h>
  #include <term.h>
 @@ -28,6 +28,10 @@
  #include <filesys.h>
  #include <term.h>
@@ -2000,7 +1987,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
  #ifdef SUPPORT_NETBOOT
  # define GRUB 1
  # include <etherboot.h>
  #ifdef SUPPORT_NETBOOT
  # define GRUB 1
  # include <etherboot.h>
-@@ -82,6 +86,10 @@
+@@ -82,6 +86,10 @@ static unsigned short bios_drive_map[DRI
     inside other functions.  */
  static int configfile_func (char *arg, int flags);
  
     inside other functions.  */
  static int configfile_func (char *arg, int flags);
  
@@ -2011,7 +1998,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
  /* Initialize the data for builtins.  */
  void
  init_builtins (void)
  /* Initialize the data for builtins.  */
  void
  init_builtins (void)
-@@ -237,12 +245,22 @@
+@@ -237,12 +245,22 @@ static struct builtin builtin_blocklist 
  static int
  boot_func (char *arg, int flags)
  {
  static int
  boot_func (char *arg, int flags)
  {
@@ -2034,7 +2021,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
  #ifdef SUPPORT_NETBOOT
    /* Shut down the networking.  */
    cleanup_net ();
  #ifdef SUPPORT_NETBOOT
    /* Shut down the networking.  */
    cleanup_net ();
-@@ -306,6 +324,13 @@
+@@ -306,6 +324,13 @@ boot_func (char *arg, int flags)
        return 1;
      }
  
        return 1;
      }
  
@@ -2048,7 +2035,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
    return 0;
  }
  
    return 0;
  }
  
-@@ -852,6 +877,251 @@
+@@ -852,6 +877,251 @@ static struct builtin builtin_dhcp =
  };
  #endif /* SUPPORT_NETBOOT */
  
  };
  #endif /* SUPPORT_NETBOOT */
  
@@ -2300,7 +2287,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
  \f
  /* displayapm */
  static int
  \f
  /* displayapm */
  static int
-@@ -1454,14 +1724,20 @@
+@@ -1454,14 +1724,20 @@ static struct builtin builtin_halt =
  
  \f
  /* help */
  
  \f
  /* help */
@@ -2326,7 +2313,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
    if (grub_memcmp (arg, "--all", sizeof ("--all") - 1) == 0)
      {
        all = 1;
    if (grub_memcmp (arg, "--all", sizeof ("--all") - 1) == 0)
      {
        all = 1;
-@@ -1491,13 +1767,13 @@
+@@ -1491,13 +1767,13 @@ help_func (char *arg, int flags)
  
          len = grub_strlen ((*builtin)->short_doc);
          /* If the length of SHORT_DOC is too long, truncate it.  */
  
          len = grub_strlen ((*builtin)->short_doc);
          /* If the length of SHORT_DOC is too long, truncate it.  */
@@ -2343,7 +2330,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
            grub_putchar (' ');
  
          if (! left)
            grub_putchar (' ');
  
          if (! left)
-@@ -1546,10 +1822,10 @@
+@@ -1546,10 +1822,10 @@ help_func (char *arg, int flags)
                      int i;
  
                      /* If LEN is too long, fold DOC.  */
                      int i;
  
                      /* If LEN is too long, fold DOC.  */
@@ -2356,7 +2343,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
                            if (doc[len - 1] == ' ')
                              break;
                        }
                            if (doc[len - 1] == ' ')
                              break;
                        }
-@@ -2323,6 +2599,25 @@
+@@ -2323,6 +2599,25 @@ static struct builtin builtin_ioprobe =
    "Probe I/O ports used for the drive DRIVE."
  };
  
    "Probe I/O ports used for the drive DRIVE."
  };
  
@@ -2382,7 +2369,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
  \f
  /* kernel */
  static int
  \f
  /* kernel */
  static int
-@@ -3221,7 +3516,102 @@
+@@ -3221,7 +3516,102 @@ static struct builtin builtin_rootnoveri
  static int
  savedefault_func (char *arg, int flags)
  {
  static int
  savedefault_func (char *arg, int flags)
  {
@@ -2486,7 +2473,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
    unsigned long tmp_drive = saved_drive;
    unsigned long tmp_partition = saved_partition;
    char *default_file = (char *) DEFAULT_FILE_BUF;
    unsigned long tmp_drive = saved_drive;
    unsigned long tmp_partition = saved_partition;
    char *default_file = (char *) DEFAULT_FILE_BUF;
-@@ -3300,19 +3690,23 @@
+@@ -3300,19 +3690,23 @@ savedefault_func (char *arg, int flags)
        disk_read_hook = 0;
        grub_close ();
        
        disk_read_hook = 0;
        grub_close ();
        
@@ -2517,7 +2504,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
        
        /* Set up a string to be written.  */
        grub_memset (buf, '\n', sizeof (buf));
        
        /* Set up a string to be written.  */
        grub_memset (buf, '\n', sizeof (buf));
-@@ -3830,15 +4224,15 @@
+@@ -3830,15 +4224,15 @@ setup_func (char *arg, int flags)
        {
          char tmp[16];
          grub_sprintf (tmp, ",%d", (partition >> 16) & 0xFF);
        {
          char tmp[16];
          grub_sprintf (tmp, ",%d", (partition >> 16) & 0xFF);
@@ -2536,7 +2523,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
      }
    
    int embed_stage1_5 (char *stage1_5, int drive, int partition)
      }
    
    int embed_stage1_5 (char *stage1_5, int drive, int partition)
-@@ -4085,7 +4479,7 @@
+@@ -4085,7 +4479,7 @@ static struct builtin builtin_setup =
  };
  
  \f
  };
  
  \f
@@ -2545,7 +2532,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
  /* terminal */
  static int
  terminal_func (char *arg, int flags)
  /* terminal */
  static int
  terminal_func (char *arg, int flags)
-@@ -4244,17 +4638,29 @@
+@@ -4244,17 +4638,29 @@ terminal_func (char *arg, int flags)
   end:
    current_term = term_table + default_term;
    current_term->flags = term_flags;
   end:
    current_term = term_table + default_term;
    current_term->flags = term_flags;
@@ -2580,7 +2567,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
    
    return 0;
  }
    
    return 0;
  }
-@@ -4264,7 +4670,7 @@
+@@ -4264,7 +4670,7 @@ static struct builtin builtin_terminal =
    "terminal",
    terminal_func,
    BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST,
    "terminal",
    terminal_func,
    BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST,
@@ -2589,7 +2576,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
    "Select a terminal. When multiple terminals are specified, wait until"
    " you push any key to continue. If both console and serial are specified,"
    " the terminal to which you input a key first will be selected. If no"
    "Select a terminal. When multiple terminals are specified, wait until"
    " you push any key to continue. If both console and serial are specified,"
    " the terminal to which you input a key first will be selected. If no"
-@@ -4276,7 +4682,7 @@
+@@ -4276,7 +4682,7 @@ static struct builtin builtin_terminal =
    " seconds. The option --lines specifies the maximum number of lines."
    " The option --silent is used to suppress messages."
  };
    " seconds. The option --lines specifies the maximum number of lines."
    " The option --silent is used to suppress messages."
  };
@@ -2598,7 +2585,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
  
  \f
  #ifdef SUPPORT_SERIAL
  
  \f
  #ifdef SUPPORT_SERIAL
-@@ -4795,13 +5201,20 @@
+@@ -4795,13 +5201,20 @@ static struct builtin builtin_vbeprobe =
  /* The table of builtin commands. Sorted in dictionary order.  */
  struct builtin *builtin_table[] =
  {
  /* The table of builtin commands. Sorted in dictionary order.  */
  struct builtin *builtin_table[] =
  {
@@ -2619,7 +2606,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
    &builtin_cmp,
    &builtin_color,
    &builtin_configfile,
    &builtin_cmp,
    &builtin_color,
    &builtin_configfile,
-@@ -4821,6 +5234,9 @@
+@@ -4821,6 +5234,9 @@ struct builtin *builtin_table[] =
    &builtin_embed,
    &builtin_fallback,
    &builtin_find,
    &builtin_embed,
    &builtin_fallback,
    &builtin_find,
@@ -2629,7 +2616,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
    &builtin_fstest,
    &builtin_geometry,
    &builtin_halt,
    &builtin_fstest,
    &builtin_geometry,
    &builtin_halt,
-@@ -4848,6 +5264,7 @@
+@@ -4848,6 +5264,7 @@ struct builtin *builtin_table[] =
    &builtin_parttype,
    &builtin_password,
    &builtin_pause,
    &builtin_parttype,
    &builtin_password,
    &builtin_pause,
@@ -2637,7 +2624,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
  #ifdef GRUB_UTIL
    &builtin_quit,
  #endif /* GRUB_UTIL */
  #ifdef GRUB_UTIL
    &builtin_quit,
  #endif /* GRUB_UTIL */
-@@ -4864,9 +5281,13 @@
+@@ -4864,9 +5281,13 @@ struct builtin *builtin_table[] =
  #endif /* SUPPORT_SERIAL */
    &builtin_setkey,
    &builtin_setup,
  #endif /* SUPPORT_SERIAL */
    &builtin_setkey,
    &builtin_setup,
@@ -2653,7 +2640,7 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
  #ifdef SUPPORT_SERIAL
    &builtin_terminfo,
  #endif /* SUPPORT_SERIAL */
  #ifdef SUPPORT_SERIAL
    &builtin_terminfo,
  #endif /* SUPPORT_SERIAL */
-@@ -4880,5 +5301,8 @@
+@@ -4880,5 +5301,8 @@ struct builtin *builtin_table[] =
    &builtin_unhide,
    &builtin_uppermem,
    &builtin_vbeprobe,
    &builtin_unhide,
    &builtin_uppermem,
    &builtin_vbeprobe,
@@ -2662,9 +2649,8 @@ diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c
 +#endif
    0
  };
 +#endif
    0
  };
-diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
---- grub-0.97.orig/stage2/char_io.c    2005-02-01 12:51:23.000000000 -0800
-+++ grub-0.97/stage2/char_io.c 2006-07-03 23:59:27.000000000 -0700
+--- a/stage2/char_io.c
++++ b/stage2/char_io.c
 @@ -29,12 +29,17 @@
  # include <serial.h>
  #endif
 @@ -29,12 +29,17 @@
  # include <serial.h>
  #endif
@@ -2683,7 +2669,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
        console_putchar,
        console_checkkey,
        console_getkey,
        console_putchar,
        console_checkkey,
        console_getkey,
-@@ -43,13 +48,16 @@
+@@ -43,13 +48,16 @@ struct term_entry term_table[] =
        console_cls,
        console_setcolorstate,
        console_setcolor,
        console_cls,
        console_setcolorstate,
        console_setcolor,
@@ -2701,7 +2687,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
        serial_putchar,
        serial_checkkey,
        serial_getkey,
        serial_putchar,
        serial_checkkey,
        serial_getkey,
-@@ -58,6 +66,8 @@
+@@ -58,6 +66,8 @@ struct term_entry term_table[] =
        serial_cls,
        serial_setcolorstate,
        0,
        serial_cls,
        serial_setcolorstate,
        0,
@@ -2710,7 +2696,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
        0
      },
  #endif /* SUPPORT_SERIAL */
        0
      },
  #endif /* SUPPORT_SERIAL */
-@@ -65,6 +75,7 @@
+@@ -65,6 +75,7 @@ struct term_entry term_table[] =
      {
        "hercules",
        0,
      {
        "hercules",
        0,
@@ -2718,7 +2704,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
        hercules_putchar,
        console_checkkey,
        console_getkey,
        hercules_putchar,
        console_checkkey,
        console_getkey,
-@@ -73,11 +84,30 @@
+@@ -73,11 +84,30 @@ struct term_entry term_table[] =
        hercules_cls,
        hercules_setcolorstate,
        hercules_setcolor,
        hercules_cls,
        hercules_setcolorstate,
        hercules_setcolor,
@@ -2751,7 +2737,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
    };
  
  /* This must be console.  */
    };
  
  /* This must be console.  */
-@@ -305,9 +335,10 @@
+@@ -305,9 +335,10 @@ real_get_cmdline (char *prompt, char *cm
  
    /* XXX: These should be defined in shared.h, but I leave these here,
       until this code is freezed.  */
  
    /* XXX: These should be defined in shared.h, but I leave these here,
       until this code is freezed.  */
@@ -2764,7 +2750,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
    int xpos, lpos, c, section;
    /* The length of PROMPT.  */
    int plen;
    int xpos, lpos, c, section;
    /* The length of PROMPT.  */
    int plen;
-@@ -338,7 +369,7 @@
+@@ -338,7 +369,7 @@ real_get_cmdline (char *prompt, char *cm
        
        /* If the cursor is in the first section, display the first section
         instead of the second.  */
        
        /* If the cursor is in the first section, display the first section
         instead of the second.  */
@@ -2773,7 +2759,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
        cl_refresh (1, 0);
        else if (xpos - count < 1)
        cl_refresh (1, 0);
        cl_refresh (1, 0);
        else if (xpos - count < 1)
        cl_refresh (1, 0);
-@@ -354,7 +385,7 @@
+@@ -354,7 +385,7 @@ real_get_cmdline (char *prompt, char *cm
                grub_putchar ('\b');
            }
          else
                grub_putchar ('\b');
            }
          else
@@ -2782,7 +2768,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
        }
      }
  
        }
      }
  
-@@ -364,7 +395,7 @@
+@@ -364,7 +395,7 @@ real_get_cmdline (char *prompt, char *cm
        lpos += count;
  
        /* If the cursor goes outside, scroll the screen to the right.  */
        lpos += count;
  
        /* If the cursor goes outside, scroll the screen to the right.  */
@@ -2791,7 +2777,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
        cl_refresh (1, 0);
        else
        {
        cl_refresh (1, 0);
        else
        {
-@@ -383,7 +414,7 @@
+@@ -383,7 +414,7 @@ real_get_cmdline (char *prompt, char *cm
                }
            }
          else
                }
            }
          else
@@ -2800,7 +2786,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
        }
      }
  
        }
      }
  
-@@ -398,14 +429,14 @@
+@@ -398,14 +429,14 @@ real_get_cmdline (char *prompt, char *cm
        if (full)
        {
          /* Recompute the section number.  */
        if (full)
        {
          /* Recompute the section number.  */
@@ -2819,7 +2805,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
          pos = 0;
          grub_putchar ('\r');
  
          pos = 0;
          grub_putchar ('\r');
  
-@@ -445,8 +476,8 @@
+@@ -445,8 +476,8 @@ real_get_cmdline (char *prompt, char *cm
          if (! full)
            offset = xpos - 1;
          
          if (! full)
            offset = xpos - 1;
          
@@ -2830,7 +2816,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
          xpos = lpos + 1 - start;
          start += offset;
        }
          xpos = lpos + 1 - start;
          start += offset;
        }
-@@ -471,7 +502,7 @@
+@@ -471,7 +502,7 @@ real_get_cmdline (char *prompt, char *cm
        
        /* If the cursor is at the last position, put `>' or a space,
         depending on if there are more characters in BUF.  */
        
        /* If the cursor is at the last position, put `>' or a space,
         depending on if there are more characters in BUF.  */
@@ -2839,7 +2825,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
        {
          if (start + len < llen)
            grub_putchar ('>');
        {
          if (start + len < llen)
            grub_putchar ('>');
-@@ -488,7 +519,7 @@
+@@ -488,7 +519,7 @@ real_get_cmdline (char *prompt, char *cm
            grub_putchar ('\b');
        }
        else
            grub_putchar ('\b');
        }
        else
@@ -2848,7 +2834,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
      }
  
    /* Initialize the command-line.  */
      }
  
    /* Initialize the command-line.  */
-@@ -518,10 +549,10 @@
+@@ -518,10 +549,10 @@ real_get_cmdline (char *prompt, char *cm
          
          llen += l;
          lpos += l;
          
          llen += l;
          lpos += l;
@@ -2862,7 +2848,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
          else
            cl_refresh (0, l + llen - lpos);
        }
          else
            cl_refresh (0, l + llen - lpos);
        }
-@@ -533,12 +564,22 @@
+@@ -533,12 +564,22 @@ real_get_cmdline (char *prompt, char *cm
        grub_memmove (buf + lpos, buf + lpos + count, llen - count + 1);
        llen -= count;
        
        grub_memmove (buf + lpos, buf + lpos + count, llen - count + 1);
        llen -= count;
        
@@ -2887,7 +2873,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
    plen = grub_strlen (prompt);
    llen = grub_strlen (cmdline);
  
    plen = grub_strlen (prompt);
    llen = grub_strlen (cmdline);
  
-@@ -1006,6 +1047,48 @@
+@@ -1006,6 +1047,48 @@ checkkey (void)
  }
  #endif /* ! STAGE1_5 */
  
  }
  #endif /* ! STAGE1_5 */
  
@@ -2936,7 +2922,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
  /* Display an ASCII character.  */
  void
  grub_putchar (int c)
  /* Display an ASCII character.  */
  void
  grub_putchar (int c)
-@@ -1034,38 +1117,11 @@
+@@ -1034,38 +1117,11 @@ grub_putchar (int c)
  
    if (c == '\n')
      {
  
    if (c == '\n')
      {
@@ -2979,7 +2965,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
      }
  
    current_term->putchar (c);
      }
  
    current_term->putchar (c);
-@@ -1090,7 +1146,7 @@
+@@ -1090,7 +1146,7 @@ void
  cls (void)
  {
    /* If the terminal is dumb, there is no way to clean the terminal.  */
  cls (void)
  {
    /* If the terminal is dumb, there is no way to clean the terminal.  */
@@ -2988,7 +2974,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
      grub_putchar ('\n');
    else
      current_term->cls ();
      grub_putchar ('\n');
    else
      current_term->cls ();
-@@ -1175,13 +1231,13 @@
+@@ -1175,13 +1231,13 @@ grub_strlen (const char *str)
  #endif /* ! STAGE1_5 */
  
  int
  #endif /* ! STAGE1_5 */
  
  int
@@ -3006,7 +2992,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
      {
        int ret;
  # if defined(HAVE_START_SYMBOL)
      {
        int ret;
  # if defined(HAVE_START_SYMBOL)
-@@ -1192,7 +1248,7 @@
+@@ -1192,7 +1248,7 @@ memcheck (int addr, int len)
        return ret;
      }
  
        return ret;
      }
  
@@ -3015,7 +3001,7 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
      {
        int ret;
  # if defined(HAVE_END_SYMBOL)
      {
        int ret;
  # if defined(HAVE_END_SYMBOL)
-@@ -1217,6 +1273,16 @@
+@@ -1217,6 +1273,16 @@ memcheck (int addr, int len)
    return ! errnum;
  }
  
    return ! errnum;
  }
  
@@ -3032,10 +3018,9 @@ diff -Naur grub-0.97.orig/stage2/char_io.c grub-0.97/stage2/char_io.c
  void *
  grub_memmove (void *to, const void *from, int len)
  {
  void *
  grub_memmove (void *to, const void *from, int len)
  {
-diff -Naur grub-0.97.orig/stage2/cmdline.c grub-0.97/stage2/cmdline.c
---- grub-0.97.orig/stage2/cmdline.c    2004-08-16 16:23:01.000000000 -0700
-+++ grub-0.97/stage2/cmdline.c 2006-07-03 23:58:41.000000000 -0700
-@@ -50,10 +50,11 @@
+--- a/stage2/cmdline.c
++++ b/stage2/cmdline.c
+@@ -50,10 +50,11 @@ skip_to (int after_equal, char *cmdline)
  void
  print_cmdline_message (int forever)
  {
  void
  print_cmdline_message (int forever)
  {
@@ -3051,9 +3036,8 @@ diff -Naur grub-0.97.orig/stage2/cmdline.c grub-0.97/stage2/cmdline.c
  }
  
  /* Find the builtin whose command name is COMMAND and return the
  }
  
  /* Find the builtin whose command name is COMMAND and return the
-diff -Naur grub-0.97.orig/stage2/freebsd.h grub-0.97/stage2/freebsd.h
---- grub-0.97.orig/stage2/freebsd.h    2003-07-09 04:45:52.000000000 -0700
-+++ grub-0.97/stage2/freebsd.h 2006-07-03 23:59:36.000000000 -0700
+--- a/stage2/freebsd.h
++++ b/stage2/freebsd.h
 @@ -1,7 +1,7 @@
  
  /*
 @@ -1,7 +1,7 @@
  
  /*
@@ -3131,9 +3115,8 @@ diff -Naur grub-0.97.orig/stage2/freebsd.h grub-0.97/stage2/freebsd.h
 +#define MODINFO_ARGS          0x0006          /* Parameters string */
 +#define MODINFO_METADATA      0x8000          /* Module-specfic */
 +
 +#define MODINFO_ARGS          0x0006          /* Parameters string */
 +#define MODINFO_METADATA      0x8000          /* Module-specfic */
 +
-diff -Naur grub-0.97.orig/stage2/graphics.c grub-0.97/stage2/graphics.c
---- grub-0.97.orig/stage2/graphics.c   1969-12-31 16:00:00.000000000 -0800
-+++ grub-0.97/stage2/graphics.c        2006-07-03 23:58:41.000000000 -0700
+--- /dev/null
++++ b/stage2/graphics.c
 @@ -0,0 +1,585 @@
 +/*
 + * graphics.c - graphics mode support for GRUB
 @@ -0,0 +1,585 @@
 +/*
 + * graphics.c - graphics mode support for GRUB
@@ -3720,9 +3703,8 @@ diff -Naur grub-0.97.orig/stage2/graphics.c grub-0.97/stage2/graphics.c
 +}
 +
 +#endif /* SUPPORT_GRAPHICS */
 +}
 +
 +#endif /* SUPPORT_GRAPHICS */
-diff -Naur grub-0.97.orig/stage2/graphics.h grub-0.97/stage2/graphics.h
---- grub-0.97.orig/stage2/graphics.h   1969-12-31 16:00:00.000000000 -0800
-+++ grub-0.97/stage2/graphics.h        2006-07-03 23:58:41.000000000 -0700
+--- /dev/null
++++ b/stage2/graphics.h
 @@ -0,0 +1,44 @@
 +/* graphics.h - graphics console interface */
 +/*
 @@ -0,0 +1,44 @@
 +/* graphics.h - graphics console interface */
 +/*
@@ -3768,10 +3750,9 @@ diff -Naur grub-0.97.orig/stage2/graphics.h grub-0.97/stage2/graphics.h
 +extern int view_x0, view_y0, view_x1, view_y1;
 +
 +#endif /* GRAPHICS_H */
 +extern int view_x0, view_y0, view_x1, view_y1;
 +
 +#endif /* GRAPHICS_H */
-diff -Naur grub-0.97.orig/stage2/Makefile.am grub-0.97/stage2/Makefile.am
---- grub-0.97.orig/stage2/Makefile.am  2005-02-02 12:37:35.000000000 -0800
-+++ grub-0.97/stage2/Makefile.am       2006-07-03 23:58:41.000000000 -0700
-@@ -7,7 +7,7 @@
+--- a/stage2/Makefile.am
++++ b/stage2/Makefile.am
+@@ -7,7 +7,7 @@ noinst_HEADERS = apic.h defs.h dir.h dis
          fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \
        imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \
        nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \
          fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \
        imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \
        nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \
@@ -3780,7 +3761,7 @@ diff -Naur grub-0.97.orig/stage2/Makefile.am grub-0.97/stage2/Makefile.am
  EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS)
  
  # For <stage1.h>.
  EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS)
  
  # For <stage1.h>.
-@@ -19,7 +19,7 @@
+@@ -19,7 +19,7 @@ libgrub_a_SOURCES = boot.c builtins.c ch
        disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \
        fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \
        fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \
        disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \
        fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \
        fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \
@@ -3789,7 +3770,7 @@ diff -Naur grub-0.97.orig/stage2/Makefile.am grub-0.97/stage2/Makefile.am
  libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \
        -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \
        -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \
  libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \
        -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \
        -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \
-@@ -79,8 +79,14 @@
+@@ -79,8 +79,14 @@ else
  HERCULES_FLAGS =
  endif
  
  HERCULES_FLAGS =
  endif
  
@@ -3805,7 +3786,7 @@ diff -Naur grub-0.97.orig/stage2/Makefile.am grub-0.97/stage2/Makefile.am
  
  STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000
  STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1
  
  STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000
  STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1
-@@ -90,7 +96,8 @@
+@@ -90,7 +96,8 @@ pre_stage2_exec_SOURCES = asm.S bios.c b
        cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \
        fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \
        fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \
        cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \
        fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \
        fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \
@@ -3815,10 +3796,9 @@ diff -Naur grub-0.97.orig/stage2/Makefile.am grub-0.97/stage2/Makefile.am
  pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
  pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
  pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK)
  pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
  pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
  pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK)
-diff -Naur grub-0.97.orig/stage2/shared.h grub-0.97/stage2/shared.h
---- grub-0.97.orig/stage2/shared.h     2004-06-19 09:40:09.000000000 -0700
-+++ grub-0.97/stage2/shared.h  2006-07-04 00:01:50.000000000 -0700
-@@ -499,7 +499,11 @@
+--- a/stage2/shared.h
++++ b/stage2/shared.h
+@@ -499,7 +499,11 @@ struct vbe_mode
    unsigned char linear_reserved_field_position;
    unsigned long max_pixel_clock;
  
    unsigned char linear_reserved_field_position;
    unsigned long max_pixel_clock;
  
@@ -3831,7 +3811,7 @@ diff -Naur grub-0.97.orig/stage2/shared.h grub-0.97/stage2/shared.h
  } __attribute__ ((packed));
  
  
  } __attribute__ ((packed));
  
  
-@@ -792,6 +796,11 @@
+@@ -792,6 +796,11 @@ int getxy (void);
  /* Set the cursor position. */
  void gotoxy (int x, int y);
  
  /* Set the cursor position. */
  void gotoxy (int x, int y);
  
@@ -3843,7 +3823,7 @@ diff -Naur grub-0.97.orig/stage2/shared.h grub-0.97/stage2/shared.h
  /* Displays an ASCII character.  IBM displays will translate some
     characters to special graphical ones (see the DISP_* constants). */
  void grub_putchar (int c);
  /* Displays an ASCII character.  IBM displays will translate some
     characters to special graphical ones (see the DISP_* constants). */
  void grub_putchar (int c);
-@@ -871,6 +880,7 @@
+@@ -871,6 +880,7 @@ int grub_sprintf (char *buffer, const ch
  int grub_tolower (int c);
  int grub_isspace (int c);
  int grub_strncat (char *s1, const char *s2, int n);
  int grub_tolower (int c);
  int grub_isspace (int c);
  int grub_strncat (char *s1, const char *s2, int n);
@@ -3851,7 +3831,7 @@ diff -Naur grub-0.97.orig/stage2/shared.h grub-0.97/stage2/shared.h
  void *grub_memmove (void *to, const void *from, int len);
  void *grub_memset (void *start, int c, int len);
  int grub_strncat (char *s1, const char *s2, int n);
  void *grub_memmove (void *to, const void *from, int len);
  void *grub_memset (void *start, int c, int len);
  int grub_strncat (char *s1, const char *s2, int n);
-@@ -911,7 +921,7 @@
+@@ -911,7 +921,7 @@ int substring (const char *s1, const cha
  int nul_terminate (char *str);
  int get_based_digit (int c, int base);
  int safe_parse_maxint (char **str_ptr, int *myint_ptr);
  int nul_terminate (char *str);
  int get_based_digit (int c, int base);
  int safe_parse_maxint (char **str_ptr, int *myint_ptr);
@@ -3860,9 +3840,8 @@ diff -Naur grub-0.97.orig/stage2/shared.h grub-0.97/stage2/shared.h
  void grub_putstr (const char *str);
  
  #ifndef NO_DECOMPRESSION
  void grub_putstr (const char *str);
  
  #ifndef NO_DECOMPRESSION
-diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
---- grub-0.97.orig/stage2/stage2.c     2005-03-19 09:51:57.000000000 -0800
-+++ grub-0.97/stage2/stage2.c  2006-07-04 00:01:50.000000000 -0700
+--- a/stage2/stage2.c
++++ b/stage2/stage2.c
 @@ -20,6 +20,12 @@
  #include <shared.h>
  #include <term.h>
 @@ -20,6 +20,12 @@
  #include <shared.h>
  #include <term.h>
@@ -3876,7 +3855,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
  grub_jmp_buf restart_env;
  
  #if defined(PRESET_MENU_STRING) || defined(SUPPORT_DISKLESS)
  grub_jmp_buf restart_env;
  
  #if defined(PRESET_MENU_STRING) || defined(SUPPORT_DISKLESS)
-@@ -105,13 +111,13 @@
+@@ -105,13 +111,13 @@ print_entry (int y, int highlight, char 
    if (highlight && current_term->setcolorstate)
      current_term->setcolorstate (COLOR_STATE_HIGHLIGHT);
  
    if (highlight && current_term->setcolorstate)
      current_term->setcolorstate (COLOR_STATE_HIGHLIGHT);
  
@@ -3894,7 +3873,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
            grub_putchar (DISP_RIGHT);
          else
            grub_putchar (*entry++);
            grub_putchar (DISP_RIGHT);
          else
            grub_putchar (*entry++);
-@@ -119,7 +125,7 @@
+@@ -119,7 +125,7 @@ print_entry (int y, int highlight, char 
        else
        grub_putchar (' ');
      }
        else
        grub_putchar (' ');
      }
@@ -3903,7 +3882,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
  
    if (current_term->setcolorstate)
      current_term->setcolorstate (COLOR_STATE_STANDARD);
  
    if (current_term->setcolorstate)
      current_term->setcolorstate (COLOR_STATE_STANDARD);
-@@ -131,7 +137,7 @@
+@@ -131,7 +137,7 @@ print_entries (int y, int size, int firs
  {
    int i;
    
  {
    int i;
    
@@ -3912,7 +3891,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
  
    if (first)
      grub_putchar (DISP_UP);
  
    if (first)
      grub_putchar (DISP_UP);
-@@ -151,14 +157,14 @@
+@@ -151,14 +157,14 @@ print_entries (int y, int size, int firs
        menu_entries++;
      }
  
        menu_entries++;
      }
  
@@ -3929,7 +3908,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
  }
  
  static void
  }
  
  static void
-@@ -196,30 +202,30 @@
+@@ -196,30 +202,30 @@ print_border (int y, int size)
    if (current_term->setcolorstate)
      current_term->setcolorstate (COLOR_STATE_NORMAL);
    
    if (current_term->setcolorstate)
      current_term->setcolorstate (COLOR_STATE_NORMAL);
    
@@ -3965,7 +3944,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
      grub_putchar (DISP_HORIZ);
    grub_putchar (DISP_LR);
  
      grub_putchar (DISP_HORIZ);
    grub_putchar (DISP_LR);
  
-@@ -233,6 +239,7 @@
+@@ -233,6 +239,7 @@ run_menu (char *menu_entries, char *conf
  {
    int c, time1, time2 = -1, first_entry = 0;
    char *cur_entry = 0;
  {
    int c, time1, time2 = -1, first_entry = 0;
    char *cur_entry = 0;
@@ -3973,7 +3952,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
  
    /*
     *  Main loop for menu UI.
  
    /*
     *  Main loop for menu UI.
-@@ -250,6 +257,22 @@
+@@ -250,6 +257,22 @@ restart:
        }
      }
  
        }
      }
  
@@ -3996,7 +3975,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
    /* If the timeout was expired or wasn't set, force to show the menu
       interface. */
    if (grub_timeout < 0)
    /* If the timeout was expired or wasn't set, force to show the menu
       interface. */
    if (grub_timeout < 0)
-@@ -302,36 +325,36 @@
+@@ -302,36 +325,36 @@ restart:
        if (current_term->flags & TERM_DUMB)
        print_entries_raw (num_entries, first_entry, menu_entries);
        else
        if (current_term->flags & TERM_DUMB)
        print_entries_raw (num_entries, first_entry, menu_entries);
        else
@@ -4044,7 +4023,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
      }
  
    /* XX using RT clock now, need to initialize value */
      }
  
    /* XX using RT clock now, need to initialize value */
-@@ -358,10 +381,10 @@
+@@ -358,10 +381,10 @@ restart:
                           entryno, grub_timeout);
          else
            {
                           entryno, grub_timeout);
          else
            {
@@ -4058,7 +4037,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
          }
          
          grub_timeout--;
          }
          
          grub_timeout--;
-@@ -387,12 +410,12 @@
+@@ -387,12 +410,12 @@ restart:
              if (current_term->flags & TERM_DUMB)
                grub_putchar ('\r');
              else
              if (current_term->flags & TERM_DUMB)
                grub_putchar ('\r');
              else
@@ -4073,7 +4052,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
            }
  
          /* We told them above (at least in SUPPORT_SERIAL) to use
            }
  
          /* We told them above (at least in SUPPORT_SERIAL) to use
-@@ -408,12 +431,12 @@
+@@ -408,12 +431,12 @@ restart:
                {
                  if (entryno > 0)
                    {
                {
                  if (entryno > 0)
                    {
@@ -4088,7 +4067,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
                                   get_entry (menu_entries,
                                              first_entry + entryno,
                                              0));
                                   get_entry (menu_entries,
                                              first_entry + entryno,
                                              0));
-@@ -421,7 +444,7 @@
+@@ -421,7 +444,7 @@ restart:
                  else if (first_entry > 0)
                    {
                      first_entry--;
                  else if (first_entry > 0)
                    {
                      first_entry--;
@@ -4097,7 +4076,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
                                     menu_entries);
                    }
                }
                                     menu_entries);
                    }
                }
-@@ -433,29 +456,29 @@
+@@ -433,29 +456,29 @@ restart:
                entryno++;
              else
                {
                entryno++;
              else
                {
@@ -4133,7 +4112,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
              if (first_entry < 0)
                {
                  entryno += first_entry;
              if (first_entry < 0)
                {
                  entryno += first_entry;
-@@ -463,20 +486,20 @@
+@@ -463,20 +486,20 @@ restart:
                  if (entryno < 0)
                    entryno = 0;
                }
                  if (entryno < 0)
                    entryno = 0;
                }
@@ -4158,7 +4137,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
            }
  
          if (config_entries)
            }
  
          if (config_entries)
-@@ -489,7 +512,7 @@
+@@ -489,7 +512,7 @@ restart:
              if ((c == 'd') || (c == 'o') || (c == 'O'))
                {
                  if (! (current_term->flags & TERM_DUMB))
              if ((c == 'd') || (c == 'o') || (c == 'O'))
                {
                  if (! (current_term->flags & TERM_DUMB))
@@ -4167,7 +4146,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
                                 get_entry (menu_entries,
                                            first_entry + entryno,
                                            0));
                                 get_entry (menu_entries,
                                            first_entry + entryno,
                                            0));
-@@ -537,7 +560,7 @@
+@@ -537,7 +560,7 @@ restart:
  
                      if (entryno >= num_entries)
                        entryno--;
  
                      if (entryno >= num_entries)
                        entryno--;
@@ -4176,7 +4155,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
                        first_entry--;
                    }
  
                        first_entry--;
                    }
  
-@@ -549,7 +572,7 @@
+@@ -549,7 +572,7 @@ restart:
                      grub_printf ("\n");
                    }
                  else
                      grub_printf ("\n");
                    }
                  else
@@ -4185,7 +4164,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
                }
  
              cur_entry = menu_entries;
                }
  
              cur_entry = menu_entries;
-@@ -570,7 +593,7 @@
+@@ -570,7 +593,7 @@ restart:
                  if (current_term->flags & TERM_DUMB)
                    grub_printf ("\r                                    ");
                  else
                  if (current_term->flags & TERM_DUMB)
                    grub_printf ("\r                                    ");
                  else
@@ -4194,7 +4173,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
  
                  /* Wipe out the previously entered password */
                  grub_memset (entered, 0, sizeof (entered));
  
                  /* Wipe out the previously entered password */
                  grub_memset (entered, 0, sizeof (entered));
-@@ -651,7 +674,10 @@
+@@ -651,7 +674,10 @@ restart:
                  *(new_heap++) = 0;
  
                  if (config_entries)
                  *(new_heap++) = 0;
  
                  if (config_entries)
@@ -4206,7 +4185,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
                  else
                    {
                      cls ();
                  else
                    {
                      cls ();
-@@ -714,6 +740,15 @@
+@@ -714,6 +740,15 @@ restart:
    
    cls ();
    setcursor (1);
    
    cls ();
    setcursor (1);
@@ -4222,7 +4201,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
    
    while (1)
      {
    
    while (1)
      {
-@@ -727,7 +762,8 @@
+@@ -727,7 +762,8 @@ restart:
        cur_entry = get_entry (config_entries, first_entry + entryno, 1);
  
        /* Set CURRENT_ENTRYNO for the command "savedefault".  */
        cur_entry = get_entry (config_entries, first_entry + entryno, 1);
  
        /* Set CURRENT_ENTRYNO for the command "savedefault".  */
@@ -4232,7 +4211,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
        
        if (run_script (cur_entry, heap))
        {
        
        if (run_script (cur_entry, heap))
        {
-@@ -748,6 +784,13 @@
+@@ -748,6 +784,13 @@ restart:
        break;
      }
  
        break;
      }
  
@@ -4246,7 +4225,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
    show_menu = 1;
    goto restart;
  }
    show_menu = 1;
    goto restart;
  }
-@@ -891,8 +934,18 @@
+@@ -891,8 +934,18 @@ cmain (void)
              len = grub_read (buf, sizeof (buf));
              if (len > 0)
                {
              len = grub_read (buf, sizeof (buf));
              if (len > 0)
                {
@@ -4266,7 +4245,7 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
                }
  
              grub_close ();
                }
  
              grub_close ();
-@@ -1050,6 +1103,16 @@
+@@ -1050,6 +1103,16 @@ cmain (void)
          while (is_preset);
        }
  
          while (is_preset);
        }
  
@@ -4283,10 +4262,9 @@ diff -Naur grub-0.97.orig/stage2/stage2.c grub-0.97/stage2/stage2.c
        if (! num_entries)
        {
          /* If no acceptable config file, goto command-line, starting
        if (! num_entries)
        {
          /* If no acceptable config file, goto command-line, starting
-diff -Naur grub-0.97.orig/stage2/term.h grub-0.97/stage2/term.h
---- grub-0.97.orig/stage2/term.h       2003-07-09 04:45:53.000000000 -0700
-+++ grub-0.97/stage2/term.h    2006-07-03 23:58:41.000000000 -0700
-@@ -60,6 +60,8 @@
+--- a/stage2/term.h
++++ b/stage2/term.h
+@@ -60,6 +60,8 @@ struct term_entry
    const char *name;
    /* The feature flags defined above.  */
    unsigned long flags;
    const char *name;
    /* The feature flags defined above.  */
    unsigned long flags;
@@ -4295,7 +4273,7 @@ diff -Naur grub-0.97.orig/stage2/term.h grub-0.97/stage2/term.h
    /* Put a character.  */
    void (*putchar) (int c);
    /* Check if any input character is available.  */
    /* Put a character.  */
    void (*putchar) (int c);
    /* Check if any input character is available.  */
-@@ -79,6 +81,10 @@
+@@ -79,6 +81,10 @@ struct term_entry
    void (*setcolor) (int normal_color, int highlight_color);
    /* Turn on/off the cursor.  */
    int (*setcursor) (int on);
    void (*setcolor) (int normal_color, int highlight_color);
    /* Turn on/off the cursor.  */
    int (*setcursor) (int on);
@@ -4306,7 +4284,7 @@ diff -Naur grub-0.97.orig/stage2/term.h grub-0.97/stage2/term.h
  };
  
  /* This lists up available terminals.  */
  };
  
  /* This lists up available terminals.  */
-@@ -124,4 +130,24 @@
+@@ -124,4 +130,24 @@ void hercules_setcolor (int normal_color
  int hercules_setcursor (int on);
  #endif
  
  int hercules_setcursor (int on);
  #endif
  
@@ -4331,18 +4309,16 @@ diff -Naur grub-0.97.orig/stage2/term.h grub-0.97/stage2/term.h
 +#endif /* SUPPORT_GRAPHICS */
 +
  #endif /* ! GRUB_TERM_HEADER */
 +#endif /* SUPPORT_GRAPHICS */
 +
  #endif /* ! GRUB_TERM_HEADER */
-diff -Naur grub-0.97.orig/THANKS grub-0.97/THANKS
---- grub-0.97.orig/THANKS      2005-05-07 19:17:43.000000000 -0700
-+++ grub-0.97/THANKS   2006-07-04 00:01:50.000000000 -0700
-@@ -121,3 +121,4 @@
+--- a/THANKS
++++ b/THANKS
+@@ -121,3 +121,4 @@ Vesa Jaaskelainen <jaaskela@tietomyrsky.
  Yedidyah Bar-David <didi@post.tau.ac.il>
  Yury V. Umanets <umka@namesys.com>
  Yuri Zaporogets <yuriz@ukr.net>
 +Vitaly Fertman <vitaly@namesys.com>
  Yedidyah Bar-David <didi@post.tau.ac.il>
  Yury V. Umanets <umka@namesys.com>
  Yuri Zaporogets <yuriz@ukr.net>
 +Vitaly Fertman <vitaly@namesys.com>
-diff -Naur grub-0.97.orig/util/grub-install.in grub-0.97/util/grub-install.in
---- grub-0.97.orig/util/grub-install.in        2004-07-24 11:57:31.000000000 -0700
-+++ grub-0.97/util/grub-install.in     2006-07-04 00:01:50.000000000 -0700
-@@ -81,6 +81,50 @@
+--- a/util/grub-install.in
++++ b/util/grub-install.in
+@@ -81,6 +81,50 @@ Report bugs to <bug-grub@gnu.org>.
  EOF
  }
  
  EOF
  }
  
@@ -4393,7 +4369,7 @@ diff -Naur grub-0.97.orig/util/grub-install.in grub-0.97/util/grub-install.in
  # Usage: convert os_device
  # Convert an OS device to the corresponding GRUB drive.
  # This part is OS-specific.
  # Usage: convert os_device
  # Convert an OS device to the corresponding GRUB drive.
  # This part is OS-specific.
-@@ -96,6 +140,10 @@
+@@ -96,6 +140,10 @@ convert () {
      # Break the device name into the disk part and the partition part.
      case "$host_os" in
      linux*)
      # Break the device name into the disk part and the partition part.
      case "$host_os" in
      linux*)
@@ -4404,7 +4380,7 @@ diff -Naur grub-0.97.orig/util/grub-install.in grub-0.97/util/grub-install.in
        tmp_disk=`echo "$1" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' \
                                  -e 's%\(d[0-9]*\)p[0-9]*$%\1%' \
                                  -e 's%\(fd[0-9]*\)$%\1%' \
        tmp_disk=`echo "$1" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' \
                                  -e 's%\(d[0-9]*\)p[0-9]*$%\1%' \
                                  -e 's%\(fd[0-9]*\)$%\1%' \
-@@ -112,8 +160,8 @@
+@@ -112,8 +160,8 @@ convert () {
        tmp_disk=`echo "$1" | sed 's%\([sh]d[0-9]*\).*%\1%'`
        tmp_part=`echo "$1" | sed "s%$tmp_disk%%"` ;;
      freebsd* | kfreebsd*-gnu)
        tmp_disk=`echo "$1" | sed 's%\([sh]d[0-9]*\).*%\1%'`
        tmp_part=`echo "$1" | sed "s%$tmp_disk%%"` ;;
      freebsd* | kfreebsd*-gnu)
@@ -4415,7 +4391,7 @@ diff -Naur grub-0.97.orig/util/grub-install.in grub-0.97/util/grub-install.in
        tmp_part=`echo "$1" \
            | sed "s%.*/r\{0,1\}[saw]d[0-9]\(s[0-9]*[a-h]\)%\1%" \
                    | sed "s%.*/r\{0,1\}da[0-9]\(s[0-9]*[a-h]\)%\1%"`
        tmp_part=`echo "$1" \
            | sed "s%.*/r\{0,1\}[saw]d[0-9]\(s[0-9]*[a-h]\)%\1%" \
                    | sed "s%.*/r\{0,1\}da[0-9]\(s[0-9]*[a-h]\)%\1%"`
-@@ -131,7 +179,7 @@
+@@ -131,7 +179,7 @@ convert () {
  
      # Get the drive name.
      tmp_drive=`grep -v '^#' $device_map | grep "$tmp_disk *$" \
  
      # Get the drive name.
      tmp_drive=`grep -v '^#' $device_map | grep "$tmp_disk *$" \
@@ -4424,7 +4400,7 @@ diff -Naur grub-0.97.orig/util/grub-install.in grub-0.97/util/grub-install.in
  
      # If not found, print an error message and exit.
      if test "x$tmp_drive" = x; then
  
      # If not found, print an error message and exit.
      if test "x$tmp_drive" = x; then
-@@ -148,13 +196,13 @@
+@@ -148,13 +196,13 @@ convert () {
        gnu*)
            if echo $tmp_part | grep "^s" >/dev/null; then
                tmp_pc_slice=`echo $tmp_part \
        gnu*)
            if echo $tmp_part | grep "^s" >/dev/null; then
                tmp_pc_slice=`echo $tmp_part \
@@ -4441,7 +4417,7 @@ diff -Naur grub-0.97.orig/util/grub-install.in grub-0.97/util/grub-install.in
                tmp_drive=`echo "$tmp_drive" \
                    | sed "s%)%,$tmp_bsd_partition)%"`
            fi
                tmp_drive=`echo "$tmp_drive" \
                    | sed "s%)%,$tmp_bsd_partition)%"`
            fi
-@@ -336,6 +384,10 @@
+@@ -336,6 +384,10 @@ else
      # Create a safe temporary file.
      test -n "$mklog" && log_file=`$mklog`
  
      # Create a safe temporary file.
      test -n "$mklog" && log_file=`$mklog`
  
@@ -4452,7 +4428,7 @@ diff -Naur grub-0.97.orig/util/grub-install.in grub-0.97/util/grub-install.in
      $grub_shell --batch $no_floppy --device-map=$device_map <<EOF >$log_file
  quit
  EOF
      $grub_shell --batch $no_floppy --device-map=$device_map <<EOF >$log_file
  quit
  EOF
-@@ -450,6 +502,24 @@
+@@ -450,6 +502,24 @@ rm -f $log_file
  # Create a safe temporary file.
  test -n "$mklog" && log_file=`$mklog`
  
  # Create a safe temporary file.
  test -n "$mklog" && log_file=`$mklog`
  
@@ -4477,7 +4453,7 @@ diff -Naur grub-0.97.orig/util/grub-install.in grub-0.97/util/grub-install.in
  # Now perform the installation.
  $grub_shell --batch $no_floppy --device-map=$device_map <<EOF >$log_file
  root $root_drive
  # Now perform the installation.
  $grub_shell --batch $no_floppy --device-map=$device_map <<EOF >$log_file
  root $root_drive
-@@ -457,6 +527,10 @@
+@@ -457,6 +527,10 @@ setup $force_lba --stage2=$grubdir/stage
  quit
  EOF
  
  quit
  EOF