# variables {{{
PN="$(basename $0)"
-VERSION='0.27'
+VERSION='0.28'
MNTPOINT="/mnt/debootstrap.$$"
# inside the chroot system locales might not be available, so use minimum:
-m, --mirror <URL> Mirror which should be used for apt-get/aptitude.
-i, --iso <mnt> Mountpoint where a Debian ISO is mounted to, for use
instead of fetching packages from a mirror.
- -r, --release <name> Release of new Debian system (default: stable).
+ -r, --release <name> Release of new Debian system (default: lenny).
-t, --target <target> Target partition (/dev/...) or directory.
-p, --mntpoint <mnt> Mountpoint used for mounting the target system.
- --debopt <params> Extra parameters passed to the debootstrap.
+ --debopt <params> Extra parameters passed to the debootstrap command.
--interactive Use interactive mode (frontend).
--nodebootstrap Skip debootstrap, only do configuration to the target.
--groot <device> Root device for usage in grub, corresponds with
prompt_for_swraid
- # do not prompt for partition dialog if swraid has been configured already
- [ -n "$TARGET" ] || prompt_for_target
+ prompt_for_target
prompt_for_bootmanager
[ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount /proc 1>/dev/null 2>&1
[ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount /proc 1>/dev/null 2>&1
[ -d "$MNTPOINT/$ISODIR" ] && umount "$MNTPOINT/$ISODIR" 1>/dev/null 2>&1
- einfo "Unmounting $MNTPOINT" ; umount "$MNTPOINT" ; eend $?
+
+ if [ -n "$DIRECTORY" ] ; then
+ einfo "Not unmounting $MNTPOINT as you requested me to install into a directory of your own choice." ; eend 0
+ else
+ einfo "Unmounting $MNTPOINT" ; umount "$MNTPOINT" ; eend $?
+ fi
if [ -n "$STAGES" ] ; then
echo -n "Removing stages directory ${STAGES}: "
# create filesystem {{{
mkfs() {
- if [ -n "$MKFS" ] ; then
- einfo "Running $MKFS on $TARGET"
- $MKFS $TARGET
- TARGET_UUID="$(vol_id -u $TARGET 2>/dev/null || echo '')"
- eend $?
+ if [ -n "$DIRECTORY" ] ; then
+ einfo "Running grml-debootstrap on a directory, skipping mkfs stage."
+ else
+ if grep -q "$TARGET" /proc/mounts ; then
+ eerror "$TARGET already mounted, exiting to avoid possible damage. (Manually unmount $TARGET)" ; eend 1
+ exit 1
+ fi
+
+ if [ -n "$MKFS" ] ; then
+ einfo "Running $MKFS on $TARGET"
+ $MKFS $TARGET
+ TARGET_UUID="$(vol_id -u $TARGET 2>/dev/null || echo '')"
+ eend $?
+ fi
+
fi
}
# }}}
einfo "Running grml-debootstrap on a directory, nothing to mount."
else
if grep -q $TARGET /proc/mounts ; then
- eerror "$TARGET already mounted, exiting."
+ ewarn "$TARGET already mounted, continuing anyway." ; eend 0
else
[ -d "$MNTPOINT" ] || mkdir -p "$MNTPOINT"
einfo "Mounting $TARGET to $MNTPOINT"
eend $?
fi
fi
+
if grep -q "$MNTPOINT" /proc/mounts ; then
if [ -n "$PARTITION" ] ; then
einfo "Unmount $MNTPOINT"