# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
# License: This file is licensed under the GPL v2.
-# Latest change: Fre Nov 03 21:35:09 CET 2006 [mika]
+# Latest change: Fre Nov 10 00:50:55 CET 2006 [mika]
################################################################################
# http://www.debian.org/releases/stable/i386/apcs04.html.en
. /etc/grml/lsb-functions
. /etc/grml/script-functions
-VERSION='0.1'
+VERSION='0.2'
case $* in
-h*|--h*)
exit 1
fi
+function bailout(){
+ # make sure $TARGET is not mounted when exiting grml-debootstrap
+ if [ -n "$TARGET" ] ; then
+ if grep -q $TARGET /proc/mounts ; then
+ echo "Unmounting $TARGET"
+ umount "$TARGET"
+ fi
+ fi
+ [ -n "$1" ] && EXIT="$1" || EXIT="1"
+ exit "$EXIT"
+}
+
+trap bailout 1 2 3 15
+
# user should recheck his configuration
einfo "$0 - Please recheck configuration before execution:"
echo "
Target partition: $TARGET
Mount-point: $MNTPOINT
- Install grub to: $MBR / $GROOT [if empty it will not be installed]
+ Install grub to: $GROOT / $GRUB [if empty grub will not be installed]
Important! Continuing will delete all data from ${TARGET}!
"
fi
# get main packages from a debian-mirror
-einfo "Running $DEBOOTSTRAP for release $RELEASE using mirror $MIRROR"
-$DEBOOTSTRAP $RELEASE $MNTPOINT $MIRROR
+if [ -n "$ARCH" ] ; then
+ ARCHCMD="--arch $ARCH"
+ ARCHINFO=" (${ARCH})"
+fi
+einfo "Running $DEBOOTSTRAP for release ${RELEASE}${ARCHINFO} using mirror $MIRROR"
+$DEBOOTSTRAP $ARCHCMD $RELEASE $MNTPOINT $MIRROR
eend $?
einfo "Preparing chroot system"
# rm -rf $MNTPOINT/etc/debootstrap/
# eend $?
+if [ -z "$GRUB" -o -z "$GROOT" ] ; then
+ echo "Notice: \$GRUB or \$GROOT not defined, will not install grub therefor."
+else
+ einfo "Installing grub on ${GRUB}:"
+ grub-install --root-directory="$MNTPOINT" "(${GRUB})"
+ eend $?
+fi
+
einfo "Unmount $MNTPOINT"
umount $MNTPOINT
eend $?