dd16b4c144d5ac47e43976468dea525b076bfd8d
[grml-debootstrap.git] / grml-debootstrap
1 #!/bin/sh
2 # Filename:      grml-bootstrap
3 # Purpose:       wrapper around debootstrap for installing plain Debian via grml
4 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2.
7 # Latest change: Fre Nov 03 11:15:56 CET 2006 [mika]
8 ################################################################################
9 # http://www.debian.org/releases/stable/i386/apcs04.html.en
10
11 set -e # exit on any error
12
13 . /etc/grml/lsb-functions
14 . /etc/grml/script-functions
15
16 check4progs debootstrap || exit 1
17
18 set -u # make sure we don't have empty variables
19
20 if [ -r /etc/debootstrap/config ] ; then
21    . /etc/debootstrap/config
22 else
23    echo "/etc/debootstrap/config could not be read, exiting."
24    exit 1
25 fi
26
27 if [ -z "$TARGET" ] ; then
28    eerror "Please adjust /etc/debootstrap/config before running ${0}" ; eend 1
29    exit 1
30 fi
31
32 # make an ext3 filesystem on /dev/sda1
33 einfo "Running $MKFS on $TARGET"
34 $MKFS $TARGET
35 eend $?
36
37 # now mount the new partition
38 einfo "Mounting $TARGET to $MNTPOINT"
39 mount -o rw,suid,dev $TARGET $MNTPOINT
40 eend $?
41
42 # get main packages from a debian-mirror
43 einfo "Running $DEBOOTSTRAP for release $RELEASE using mirror $MIRROR"
44 $DEBOOTSTRAP $RELEASE $MNTPOINT $MIRROR
45 eend $?
46
47 einfo "Preparing chroot system"
48   cp $CONFFILES/chroot-script $MNTPOINT/bin/chroot-script
49   chmod 755 $MNTPOINT/bin/chroot-script
50   mkdir $MNTPOINT/etc/debootstrap/
51
52   # make sure we have our files for later use via chroot-script
53   cp /etc/debootstrap/config $MNTPOINT/etc/debootstrap/
54   cp /etc/debootstrap/packages $MNTPOINT/etc/debootstrap/packages
55
56   # copy any existing existing files to chroot
57   [ -d /etc/debootstrap/boot  ] && cp -a /etc/debootstrap/boot/*  $MNTPOINT/boot/
58   [ -d /etc/debootstrap/etc   ] && cp -a /etc/debootstrap/etc/*   $MNTPOINT/etc/
59   [ -d /etc/debootstrap/share ] && cp -a /etc/debootstrap/share/* $MNTPOINT/share/
60   [ -d /etc/debootstrap/usr   ] && cp -a /etc/debootstrap/usr/*   $MNTPOINT/usr/
61   [ -d /etc/debootstrap/var   ] && cp -a /etc/debootstrap/var/*   $MNTPOINT/var/
62 eend $?
63
64 einfo "Executing chroot-script now"
65 chroot $MNTPOINT /bin/chroot-script
66 eend $?
67
68 einfo "Unmount $MNTPOINT"
69 umount $MNTPOINT
70 eend $?
71
72 einfo "Finished execution of $0 - enjoy your Debian system." ; eend 0
73
74 ## END OF FILE #################################################################