#! /bin/sh -e # update-grub helper script. # Copyright (C) 2006, 2007 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., 51 Franklin St - Suite 330, Boston, MA 02110, USA. if [ "x${GRUB_DISTRIBUTOR}" = "" ] ; then OS=GNU/Linux else OS="${GRUB_DISTRIBUTOR} GNU/Linux" fi for linux in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do if test -e ${linux} ; then : ; else continue fi echo "Found linux image: $linux" >&2 version=`echo $linux | sed -e "s,.*/[^0-9]*-,,g"` basedir=`echo $linux | sed -e "s,/[^/]*$,,g"` cat << EOF menuentry "${OS}, linux ${version}" { linux ${linux} root=${GRUB_DEVICE} ro EOF if test -e ${basedir}/initrd.img-${version} ; then echo "Found initrd image: ${basedir}/initrd.img-${version}" >&2 cat << EOF initrd ${basedir}/initrd.img-${version} EOF fi cat << EOF } EOF cat << EOF menuentry "${OS}, linux ${version} (single-user mode)" { linux ${linux} root=${GRUB_DEVICE} ro single EOF if test -e ${basedir}/initrd.img-${version} ; then cat << EOF initrd ${basedir}/initrd.img-${version} EOF fi cat << EOF } EOF done