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