# 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: Mon Apr 23 11:12:58 CEST 2007 [mika]
+# Latest change: Mit Dez 19 10:10:50 CET 2007 [mika]
################################################################################
set -e # exit on any error
# define chroot mirror {{{
chrootmirror() {
- if [ -n "$CHROOTMIRROR" ] ; then
- echo "deb $CHROOTMIRROR $RELEASE main contrib non-free" > /etc/apt/sources.list
+ if [ -n "$ISO" ] ; then
+ echo "deb $ISO $RELEASE main contrib" > /etc/apt/sources.list
+ [ -n "$CHROOTMIRROR" ] && echo "deb $CHROOTMIRROR $RELEASE main contrib non-free" >> /etc/apt/sources.list
+ else
+ if [ -n "$CHROOTMIRROR" ] ; then
+ echo "deb $CHROOTMIRROR $RELEASE main contrib non-free" > /etc/apt/sources.list
+ fi
fi
}
# }}}
gpg --keyserver subkeys.pgp.net --recv-keys F61E2E7CECDEA787
gpg --export F61E2E7CECDEA787 | apt-key add - || /bin/true # not yet sure
# why it's necessary, sometimes we get an error even though it works [mika]
+
+ # make sure we install packages from grml's pool only if not available
+ # from Debian!
+ if ! grep -q grml /etc/apt/preferences 2>/dev/null ; then
+ cat >> /etc/apt/preferences << EOF
+// debian pool (default):
+Package: *
+Pin: release o=Debian
+Pin-Priority: 996
+
+// main grml-repository:
+Package: *
+Pin: origin deb.grml.org
+Pin-Priority: 991
+EOF
+ fi
fi
}
# }}}
else
echo "Setting password for user root:"
set +e # do not exit if passwd returns error due to missmatching passwords
- passwd
- echo ""
+ until passwd; do echo "Please try again to set the password:" ; done
+ echo
set -e # restore default behaviour again
fi
}
# set up /etc/network/interfaces {{{
interfaces() {
- if ! [ -f /etc/network/interfaces ] ; then
+ touch /etc/network/interfaces
+ # make sure we add the entries only once
+ if ! grep -q eth0 /etc/network/interfaces ; then
echo "Setting up /etc/network/interfaces"
cat >> /etc/network/interfaces << EOF
+
+# loopback device:
iface lo inet loopback
-iface eth0 inet dhcp
auto lo
-auto eth0
+
+# eth0:
+# iface eth0 inet dhcp
+# auto eth0
+
EOF
fi
}
# make sure we don't have any running processes left {{{
services() {
for service in ssh mdadm mdadm-raid ; do
- [ -x "/etc/init.d/$service" ] && "/etc/init.d/$service" stop
+ if [ -x /etc/init.d/"$service" ] ; then
+ /etc/init.d/"$service" stop || /bin/true
+ fi
done
}
# }}}