home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / usr / sbin / grub-set-default < prev    next >
Text File  |  2006-11-29  |  3KB  |  115 lines

  1. #! /bin/sh
  2.  
  3. # Set a default boot entry for GRUB
  4. #   Copyright (C) 2004 Free Software Foundation, Inc.
  5. #
  6. # This file is free software; you can redistribute it and/or modify it
  7. # under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2 of the License, or
  9. # (at your option) any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful, but
  12. # WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14. # General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  19.  
  20. # Initialize some variables.
  21. PACKAGE=grub
  22. VERSION=0.97
  23.  
  24. rootdir=
  25. entry=
  26.  
  27. # Usage: usage
  28. # Print the usage.
  29. usage () {
  30.     cat <<EOF
  31. Usage: grub-set-default [OPTION] entry
  32. Set the default boot entry for GRUB.
  33.  
  34.   -h, --help              print this message and exit
  35.   -v, --version           print the version information and exit
  36.   --root-directory=DIR    Use the directory DIR instead of the root directory
  37.  
  38. ENTRY is a number or the special keyword \`default\'.
  39.  
  40. Report bugs to <bug-grub@gnu.org>.
  41. EOF
  42. }
  43.  
  44. # Check the arguments.
  45. for option in "$@"; do
  46.     case "$option" in
  47.     -h | --help)
  48.     usage
  49.     exit 0 ;;
  50.     -v | --version)
  51.     echo "grub-set-default (GNU GRUB ${VERSION})"
  52.     exit 0 ;;
  53.     --root-directory=*)
  54.     rootdir=`echo "$option" | sed 's/--root-directory=//'` ;;
  55.     -*)
  56.     echo "Unrecognized option \`$option'" 1>&2
  57.     usage
  58.     exit 1
  59.     ;;
  60.     *)
  61.     if test "x$entry" != x; then
  62.         echo "More than one entries?" 1>&2
  63.         usage
  64.         exit 1
  65.     fi
  66.     # We don't care about what the user specified actually.
  67.     entry="${option}" ;;
  68.     esac
  69. done
  70.  
  71. if test "x$entry" = x; then
  72.     echo "entry not specified." 1>&2
  73.     usage
  74.     exit 1
  75. fi
  76.  
  77. # Determine the GRUB directory. This is different among OSes.
  78. grubdir=${rootdir}/boot/grub
  79. if test -d ${grubdir}; then
  80.     :
  81. else
  82.     grubdir=${rootdir}/grub
  83.     if test -d ${grubdir}; then
  84.     :
  85.     else
  86.     echo "No GRUB directory found under ${rootdir}/" 1>&2
  87.     exit 1
  88.     fi
  89. fi
  90.  
  91. file=${grubdir}/default
  92. if test -f ${file}; then
  93.     chmod 0600 ${file}
  94.     rm -f ${file}
  95. fi
  96. cat <<EOF > $file
  97. $entry
  98. #
  99. #
  100. #
  101. #
  102. #
  103. #
  104. #
  105. #
  106. #
  107. #
  108. # WARNING: If you want to edit this file directly, do not remove any line
  109. # from this file, including this warning. Using \`grub-set-default\' is
  110. # strongly recommended.
  111. EOF
  112.  
  113. # Bye.
  114. exit 0
  115.