]> piware.de Git - bin.git/blob - makechroot
postinst-setup: updates
[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 chroot $DIR apt-get install locales
14
15 # debian_chroot
16 echo $DIST > $DIR/etc/debian_chroot
17
18 # hosts
19 echo "127.0.0.1 localhost.localdomain localhost" > $DIR/etc/hosts
20
21 # users
22 perl -naF: -e 'print if $F[2] >= 1000 and $F[2] < 2000' /etc/passwd >> $DIR/etc/passwd
23
24 # locale
25 chroot $DIR locale-gen $LANG
26
27 # bind mounts
28 if ! grep -q $DIR /etc/fstab; then
29     cat <<EOF >> /etc/fstab
30
31 # $DIST chroot
32 /home/martin    $DIR/home/martin none    bind   0 0
33 /proc           $DIR/proc        none    bind   0 0
34 /sys            $DIR/sys         none    bind   0 0
35 /tmp            $DIR/tmp         none    bind   0 0
36 EOF
37     mount $DIR/home
38     mount $DIR/proc
39     mount $DIR/sys
40     mount $DIR/tmp
41 fi
42
43 # apt sources
44 if [ "$MIRROR" != "${MIRROR%file://}" ]; then
45     MIRROR=http://archive.ubuntu.com/ubuntu
46 fi
47
48 cat <<EOF > $DIR/etc/apt/sources.list
49 deb     $MIRROR $DIST main restricted universe multiverse
50 deb-src $MIRROR $DIST main restricted universe multiverse
51 deb     $MIRROR $DIST-updates main restricted universe multiverse
52 deb-src $MIRROR $DIST-updates main restricted universe multiverse
53 deb     $MIRROR $DIST-proposed main restricted universe multiverse
54 deb-src $MIRROR $DIST-proposed main restricted universe multiverse
55 deb     $MIRROR $DIST-security main restricted universe multiverse
56 deb-src $MIRROR $DIST-security main restricted universe multiverse
57 EOF
58
59 chroot $DIR apt-get update
60
61 # common packages for development
62 chroot $DIR apt-get install -y build-essential fakeroot
63