]> piware.de Git - bin.git/blob - makechroot
makechroot: check argument presence
[bin.git] / makechroot
1 #!/bin/sh -e
2 DIST="$1"
3 DIR="$2"
4 MIRROR="$3"
5
6 [ "$DIST" ] && [ "$DIR" ] && [ "$MIRROR" ] || {
7     echo "Usage: $0 <dist> <directory> <mirror>" >&2
8     exit 1
9 }
10
11 mkdir -p "$DIR"
12 debootstrap "$DIST" "$DIR" "$MIRROR"
13
14 # debian_chroot
15 echo $DIST > $DIR/etc/debian_chroot
16
17 # users
18 perl -naF: -e 'print if $F[2] >= 1000 and $F[2] < 2000' /etc/passwd >> $DIR/etc/passwd
19
20 # locale
21 chroot $DIR locale-gen $LANG
22
23 # bind mounts
24 if ! grep -q $DIR /etc/fstab; then
25     cat <<EOF >> /etc/fstab
26
27 # $DIST chroot
28 /home           $DIR/home none    bind    0 0
29 /proc           $DIR/proc none    bind    0 0
30 /sys            $DIR/sys  none    bind    0 0
31 /tmp            $DIR/tmp  none    bind    0 0
32 EOF
33     mount $DIR/home
34     mount $DIR/proc
35     mount $DIR/sys
36     mount $DIR/tmp
37 fi
38
39 # apt sources
40 cat <<EOF > $DIR/etc/apt/sources.list
41 deb     $MIRROR $DIST main restricted universe multiverse
42 deb-src $MIRROR $DIST main restricted universe multiverse
43 deb     $MIRROR $DIST-updates main restricted universe multiverse
44 deb-src $MIRROR $DIST-updates main restricted universe multiverse
45 deb     $MIRROR $DIST-proposed main restricted universe multiverse
46 deb-src $MIRROR $DIST-proposed main restricted universe multiverse
47 deb     $MIRROR $DIST-security main restricted universe multiverse
48 deb-src $MIRROR $DIST-security main restricted universe multiverse
49 EOF
50
51 chroot $DIR apt-get update
52
53 # common packages for development
54 chroot $DIR apt-get install -y build-essential devscripts fakeroot
55