--- grub-0.94/util/grub-install.in.copyonly 2004-02-02 16:33:29.172127985 -0500 +++ grub-0.94/util/grub-install.in 2004-02-02 16:34:26.027454320 -0500 @@ -40,6 +40,7 @@ force_lba= recheck=no debug=no +justcopy=no # look for secure tempfile creation wrappers on this platform if test -x /bin/tempfile; then @@ -221,6 +222,17 @@ echo "$tmp_fname" } +copy_images() { + # Copy the GRUB images to the GRUB directory. + for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do + rm -f $file || exit 1 + done + for file in \ + ${pkgdatadir}/stage1 ${pkgdatadir}/stage2 ${pkgdatadir}/*stage1_5; do + cp -f $file ${grubdir} || exit 1 + done +} + # Check the arguments. for option in "$@"; do case "$option" in @@ -240,6 +252,8 @@ force_lba="--force-lba" ;; --recheck) recheck=yes ;; + --just-copy) + justcopy=yes ;; # This is an undocumented feature... --debug) debug=yes ;; @@ -258,12 +272,6 @@ esac done -if test "x$install_device" = x; then - echo "install_device not specified." 1>&2 - usage - exit 1 -fi - # If the debugging feature is enabled, print commands. if test $debug = yes; then set -x @@ -286,6 +294,18 @@ grubdir=${bootdir}/grub device_map=${grubdir}/device.map +# if they just want the images copied, copy the images and then exit +if test $justcopy = yes; then + copy_images + exit 0 +fi + +if test "x$install_device" = x; then + echo "install_device not specified." 1>&2 + usage + exit 1 +fi + # Check if GRUB is installed. # This is necessary, because the user can specify "grub --read-only". set $grub_shell dummy @@ -317,14 +337,7 @@ test -d "$bootdir" || mkdir "$bootdir" || exit 1 test -d "$grubdir" || mkdir "$grubdir" || exit 1 -# Copy the GRUB images to the GRUB directory. -for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do - rm -f $file || exit 1 -done -for file in \ - ${pkgdatadir}/stage1 ${pkgdatadir}/stage2 ${pkgdatadir}/*stage1_5; do - cp -f $file ${grubdir} || exit 1 -done +copy_images # If --recheck is specified, remove the device map, if present. if test $recheck = yes; then