some bugfixes, run first tests...
authorMichael Prokop <mika@grml.org>
Fri, 3 Nov 2006 10:17:35 +0000 (11:17 +0100)
committerMichael Prokop <mika@grml.org>
Fri, 3 Nov 2006 10:17:35 +0000 (11:17 +0100)
chroot-script
config
grml-debootstrap

index 0e8ea41..581e684 100644 (file)
@@ -4,26 +4,38 @@
 # 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 03 01:19:41 CET 2006 [mika]
+# Latest change: Fre Nov 03 11:17:14 CET 2006 [mika]
 ################################################################################
 
 set -e
 
 . /etc/debootstrap/config || exit 1
 
 ################################################################################
 
 set -e
 
 . /etc/debootstrap/config || exit 1
 
-mount -t proc   none /proc
+[ -r /proc/1 ] || mount -t proc   none /proc
 
 if [ -n "$RECONFIGURE" ] ; then
    for package in $RECONFIGURE ; do
 
 if [ -n "$RECONFIGURE" ] ; then
    for package in $RECONFIGURE ; do
-       dpkg-reconfigure $package
+       dpkg --list $package && dpkg-reconfigure $package || echo "Warning: $package does not exist, can not reconfigure it."
    done
 fi
 
    done
 fi
 
+# install additional packages
+if [ "$PACKAGES" = 'yes' ] ; then
+   if ! [ -r /etc/debootstrap/packages ] ; then
+     echo "Error: /etc/debootstrap/packages not found, exiting."
+     exit 1
+   else
+     apt-get update
+     apt-get install $(cat /etc/debootstrap/packages)
+   fi
+fi
+
 # set password of user root
 # set password of user root
+# shadowconfig
 passwd
 
 if ! [ -f /etc/hosts ] ; then
 passwd
 
 if ! [ -f /etc/hosts ] ; then
-   echo "127.0.0.1       localhost  $HOSTNAME" > $MNTPOINT/etc/hosts
+   echo "127.0.0.1       localhost  $HOSTNAME" > /etc/hosts
 fi
 
 if ! [ -f /etc/network/interfaces ] ; then
 fi
 
 if ! [ -f /etc/network/interfaces ] ; then
@@ -51,10 +63,12 @@ EOF
 fi
 
 # create default devices
 fi
 
 # create default devices
+echo "Creating generic devices in /dev - this might take a while..."
 cd /dev && MAKEDEV generic
 
 # generate initrd
 if [ -n "$INITRD" ] ; then
 cd /dev && MAKEDEV generic
 
 # generate initrd
 if [ -n "$INITRD" ] ; then
+   echo "Generating initrd."
    update-initramfs -c -t -k $KERNEL
    if [ -f "/boot/initrd.img-$KERNELVER" ] ; then
       GRUBINITRD="initrd          /boot/initrd.img-$KERNELVER"
    update-initramfs -c -t -k $KERNEL
    if [ -f "/boot/initrd.img-$KERNELVER" ] ; then
       GRUBINITRD="initrd          /boot/initrd.img-$KERNELVER"
@@ -67,6 +81,7 @@ KERNELIMG=$(ls -1 /boot/vmlinuz-* | head -1)
 KERNELVER=${KERNELIMG#/boot/vmlinuz-}
 
 if [ "$BOOTMGR" = 'grub' ] ; then
 KERNELVER=${KERNELIMG#/boot/vmlinuz-}
 
 if [ "$BOOTMGR" = 'grub' ] ; then
+   echo "Installing grub"
    if ! [ -f /boot/grub/menu.lst ] ; then
       # setup grub
       mkdir /boot/grub
    if ! [ -f /boot/grub/menu.lst ] ; then
       # setup grub
       mkdir /boot/grub
@@ -101,6 +116,7 @@ EOF
 fi
 
 if [ "$BOOTMGR" = 'lilo' ] ; then
 fi
 
 if [ "$BOOTMGR" = 'lilo' ] ; then
+   echo "Installing lilo"
 # /usr/share/doc/lilo/examples/conf.sample
 cat > /etc/lilo.conf << EOF
 # This allows booting from any partition on disks with more than 1024 cylinders.
 # /usr/share/doc/lilo/examples/conf.sample
 cat > /etc/lilo.conf << EOF
 # This allows booting from any partition on disks with more than 1024 cylinders.
@@ -133,6 +149,7 @@ fi
 umount -a
 
 # finally exit the chroot
 umount -a
 
 # finally exit the chroot
+echo "Finished chroot installation, exiting."
 exit 0
 
 ## END OF FILE #################################################################
 exit 0
 
 ## END OF FILE #################################################################
diff --git a/config b/config
index 36ff559..31d7789 100644 (file)
--- a/config
+++ b/config
@@ -23,6 +23,9 @@ KERNEL='linux-image-686'
 # name of debootstrap executable
 DEBOOTSTRAP='debootstrap'
 
 # name of debootstrap executable
 DEBOOTSTRAP='debootstrap'
 
+# install packages defined in /etc/debootstrap/packages?
+PACKAGES='yes'
+
 # place of config files for debootstrap
 CONFFILES='/etc/debootstrap/'
 
 # place of config files for debootstrap
 CONFFILES='/etc/debootstrap/'
 
index a22a021..dd16b4c 100644 (file)
@@ -4,17 +4,19 @@
 # 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 03 00:54:39 CET 2006 [mika]
+# Latest change: Fre Nov 03 11:15:56 CET 2006 [mika]
 ################################################################################
 # http://www.debian.org/releases/stable/i386/apcs04.html.en
 
 ################################################################################
 # http://www.debian.org/releases/stable/i386/apcs04.html.en
 
-set -eu # exit on any error
+set -e # exit on any error
 
 . /etc/grml/lsb-functions
 . /etc/grml/script-functions
 
 check4progs debootstrap || exit 1
 
 
 . /etc/grml/lsb-functions
 . /etc/grml/script-functions
 
 check4progs debootstrap || exit 1
 
+set -u # make sure we don't have empty variables
+
 if [ -r /etc/debootstrap/config ] ; then
    . /etc/debootstrap/config
 else
 if [ -r /etc/debootstrap/config ] ; then
    . /etc/debootstrap/config
 else
@@ -45,10 +47,11 @@ eend $?
 einfo "Preparing chroot system"
   cp $CONFFILES/chroot-script $MNTPOINT/bin/chroot-script
   chmod 755 $MNTPOINT/bin/chroot-script
 einfo "Preparing chroot system"
   cp $CONFFILES/chroot-script $MNTPOINT/bin/chroot-script
   chmod 755 $MNTPOINT/bin/chroot-script
-  mkdir $MNTPOINT/etc/deboostrap/
+  mkdir $MNTPOINT/etc/debootstrap/
 
 
-  # make sure we have our config file for later use via chroot-script
+  # make sure we have our files for later use via chroot-script
   cp /etc/debootstrap/config $MNTPOINT/etc/debootstrap/
   cp /etc/debootstrap/config $MNTPOINT/etc/debootstrap/
+  cp /etc/debootstrap/packages $MNTPOINT/etc/debootstrap/packages
 
   # copy any existing existing files to chroot
   [ -d /etc/debootstrap/boot  ] && cp -a /etc/debootstrap/boot/*  $MNTPOINT/boot/
 
   # copy any existing existing files to chroot
   [ -d /etc/debootstrap/boot  ] && cp -a /etc/debootstrap/boot/*  $MNTPOINT/boot/