initial version of support for installation into a directory
authorMichael Prokop <mika@grml.org>
Fri, 17 Nov 2006 22:01:03 +0000 (23:01 +0100)
committerMichael Prokop <mika@grml.org>
Fri, 17 Nov 2006 22:01:03 +0000 (23:01 +0100)
config
debian/changelog
grml-debootstrap

diff --git a/config b/config
index 895adb4..9355f27 100644 (file)
--- a/config
+++ b/config
@@ -3,16 +3,24 @@
 # 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.
 # 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 10 00:52:27 CET 2006 [mika]
+# Latest change: Fre Nov 17 22:58:32 CET 2006 [mika]
 ################################################################################
 
 ################################################################################
 # Important: you definitely have to adjust the following variables!
 ################################################################################
 ################################################################################
 
 ################################################################################
 # Important: you definitely have to adjust the following variables!
 ################################################################################
-## The most important question: target partition for new Debian system
-# Where should Debian be installed to?
-# usage example:
+## The most important question: target of the new Debian system
+## Where should Debian be installed to?
+#
+# Usually you want to use a partition. If you specify a string *without* /dev/
+# in the beginning, grml-debootstrap assumes you want to install Debian into a
+# directory. If so then MKFS, TUNE2FS, GRUB, GROOT and FSCK won't apply, no
+# matter of the configuration variables. Make sure the TARGET-directory is on a
+# partition with present dev and exec mount options.
+#
+# usage examples:
 # TARGET='/dev/hda1'
 # TARGET='/dev/hda1'
+# TARGET='/mnt/grml'
 TARGET=''
 
 ## Do you want to install grub? Then adjust the variables GRUB and GROOT.
 TARGET=''
 
 ## Do you want to install grub? Then adjust the variables GRUB and GROOT.
index 94f5f3a..f9e2018 100644 (file)
@@ -1,3 +1,9 @@
+grml-debootstrap (0.4) unstable; urgency=low
+
+  * Support installation into directory.
+
+ -- Michael Prokop <mika@grml.org>  Fri, 17 Nov 2006 23:00:38 +0100
+
 grml-debootstrap (0.3) unstable; urgency=low
 
   * Initial support for $ARCH.
 grml-debootstrap (0.3) unstable; urgency=low
 
   * Initial support for $ARCH.
index d50ff6f..87166bf 100644 (file)
@@ -4,7 +4,7 @@
 # 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.
 # 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 10 00:50:55 CET 2006 [mika]
+# Latest change: Fre Nov 17 23:00:30 CET 2006 [mika]
 ################################################################################
 # http://www.debian.org/releases/stable/i386/apcs04.html.en
 
 ################################################################################
 # http://www.debian.org/releases/stable/i386/apcs04.html.en
 
@@ -61,6 +61,24 @@ function bailout(){
 
 trap bailout 1 2 3 15
 
 
 trap bailout 1 2 3 15
 
+PARTITION=''
+DIRECTORY=''
+
+case $TARGET in
+  /dev/*)
+    PARTITION=1
+       ;;
+       *)
+       # assume we are installing into a directory, don't run mkfs and grub related stuff therefore
+    DIRECTORY=1
+    MNTPOINT="$TARGET"
+    MKFS=''
+    TUNE2FS=''
+    GRUB=''
+    GROOT=''
+       ;;
+esac
+
 # user should recheck his configuration
 einfo "$0 - Please recheck configuration before execution:"
 echo "
 # user should recheck his configuration
 einfo "$0 - Please recheck configuration before execution:"
 echo "
@@ -90,15 +108,20 @@ if [ -n "$TUNE2FS" ] ; then
    eend $?
 fi
 
    eend $?
 fi
 
-# now mount the new partition
-if grep -q $TARGET /proc/mounts ; then
-   eerror "$TARGET already mounted, exiting."
+
+# now mount the new partition or if it's a directory do nothing at all
+if [ -n "$DIRECTORY" ] ; then
+   einfo "Running grml-debootstrap on a directory, nothing to mount."
 else
 else
-  [ -n "$MNTPOINT" ] || MNTPOINT='/mnt/test'
-  einfo "Mounting $TARGET to $MNTPOINT"
-  [ -d "$MNTPOINT" ] || mkdir -p "$MNTPOINT"
-  mount -o rw,suid,dev $TARGET $MNTPOINT
-  eend $?
+   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
 
 # get main packages from a debian-mirror
 fi
 
 # get main packages from a debian-mirror
@@ -150,9 +173,11 @@ else
    eend $?
 fi
 
    eend $?
 fi
 
-einfo "Unmount $MNTPOINT"
-umount $MNTPOINT
-eend $?
+if [ -n "$PARTITION" ] ; then
+   einfo "Unmount $MNTPOINT"
+   umount $MNTPOINT
+   eend $?
+fi
 
 if [ "$FSCK" = 'yes' ] ; then
    [ -n "$FSCKTOOL" ] || FSCKTOOL="fsck.${MKFS#mkfs.}"
 
 if [ "$FSCK" = 'yes' ] ; then
    [ -n "$FSCKTOOL" ] || FSCKTOOL="fsck.${MKFS#mkfs.}"