+++ /dev/null
-#! /bin/sh -e
-
-# Make GRUB rescue floppy
-# Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc.
-#
-# GRUB 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 3 of the License, or
-# (at your option) any later version.
-#
-# GRUB 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 GRUB. If not, see <http://www.gnu.org/licenses/>.
-
-# Initialize some variables.
-transform="@program_transform_name@"
-
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-bindir=@bindir@
-libdir=@libdir@
-PACKAGE_NAME=@PACKAGE_NAME@
-PACKAGE_TARNAME=@PACKAGE_TARNAME@
-PACKAGE_VERSION=@PACKAGE_VERSION@
-target_cpu=@target_cpu@
-platform=@platform@
-pkglibdir=${libdir}/`echo ${PACKAGE_TARNAME}/${target_cpu}-${platform} | sed ${transform}`
-
-# Usage: usage
-# Print the usage.
-usage () {
- cat <<EOF
-Usage: $0 [OPTION] output_image
-Make GRUB rescue floppy.
-
- -h, --help print this message and exit
- -v, --version print the version information and exit
- --modules=MODULES pre-load specified modules MODULES
- --output=FILE save output in FILE
-
-$0 generates a bootable rescue floppy.
-
-Report bugs to <bug-grub@gnu.org>.
-EOF
-}
-
-input_dir=${pkglibdir}
-
-# Check the arguments.
-for option in "$@"; do
- case "$option" in
- -h | --help)
- usage
- exit 0 ;;
- -v | --version)
- echo "$0 (GNU GRUB ${PACKAGE_VERSION})"
- exit 0 ;;
- --modules=*)
- modules=`echo "$option" | sed 's/--modules=//'` ;;
- --output=*)
- output_image=`echo "$option" | sed 's/--output=//'` ;;
- -*)
- echo "Unrecognized option \`$option'" 1>&2
- usage
- exit 1
- ;;
- *)
- if test "x$output_image" != x; then
- echo "Unrecognized option \`$option'" 1>&2
- usage
- exit 1
- fi
- output_image="${option}" ;;
- esac
-done
-
-if test "x$output_image" = x; then
- usage
- exit 1
-fi
-
-aux_dir=`mktemp -d`
-mkdir -p ${aux_dir}/boot/grub
-
-for file in ${input_dir}/*.mod ${input_dir}/efiemu??.o \
- ${input_dir}/command.lst ${input_dir}/moddep.lst ${input_dir}/fs.lst \
- ${input_dir}/handler.lst ${input_dir}/parttool.lst; do
- if test -f "$file"; then
- cp -f "$file" ${aux_dir}/boot/grub/
- fi
-done
-
-modules="$(cat ${input_dir}/partmap.lst) ${modules}"
-for i in ${modules} ; do
- echo "insmod $i"
-done > ${aux_dir}/boot/grub/grub.cfg
-
-# build memdisk
-memdisk_img=`mktemp`
-tar -C ${aux_dir} -cf ${memdisk_img} boot
-rm -rf ${aux_dir}
-
-# build core.img
-core_img=`mktemp`
-grub-mkimage -d ${input_dir}/ -m ${memdisk_img} -o ${core_img} memdisk tar biosdisk
-rm -f ${memdisk_img}
-
-# build floppy image
-cat ${input_dir}/boot.img ${core_img} /dev/zero | dd bs=1024 count=1440 > ${output_image}
-rm -f ${core_img}
-
-exit 0