+# modify filesystem settings {{{
+tunefs() {
+ if [ -n "$TUNE2FS" ] ; then
+ einfo "Disabling automatic filesystem check on $TARGET via tune2fs"
+ $TUNE2FS $TARGET
+ eend $?
+ fi
+}
+# }}}
+
+# mount the new partition or if it's a directory do nothing at all {{{
+mount_target() {
+ if [ -n "$DIRECTORY" ] ; then
+ einfo "Running grml-debootstrap on a directory, nothing to mount."
+ else
+ if grep -q $TARGET /proc/mounts ; then
+ eerror "$TARGET already mounted, exiting."
+ else
+ [ -n "$MNTPOINT" ] || MNTPOINT='/mnt/test'
+ [ -d "$MNTPOINT" ] || mkdir -p "$MNTPOINT"
+ einfo "Mounting $TARGET to $MNTPOINT"
+ mount -o rw,suid,dev $TARGET $MNTPOINT
+ eend $?
+ fi
+ fi
+ if [ -n "$ISO" ] ; then
+ mkdir "$TARGET/$ISO"
+ mount --bind "$ISO" "$TARGET/$ISO"
+ fi
+}
+# }}}
+
+# install main chroot {{{
+debootstrap_system() {
+ if ! grep -q $MNTPOINT /proc/mounts ; then
+ mount_target
+ fi
+ if grep -q $MNTPOINT /proc/mounts ; then
+ einfo "Running $DEBOOTSTRAP for release ${RELEASE}${ARCHINFO} using ${MIRROR}${ISO}"
+ [ -n "$MIRROR" ] && $DEBOOTSTRAP $ARCHCMD $RELEASE $MNTPOINT $MIRROR || \
+ $DEBOOTSTRAP $ARCHCMD $RELEASE $MNTPOINT $ISO
+ eend $?
+ else
+ eerror "Error: $MNTPOINT not mounted, can not continue."
+ eend 1
+ fi
+}
+# }}}
+
+# prepare chroot via chroot-script {{{
+preparechroot() {
+ einfo "Preparing chroot system"