# 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: Die Apr 10 11:11:02 CEST 2007 [mika]
+# Latest change: Mon Apr 16 12:21:19 CEST 2007 [mika]
################################################################################
set -e # exit on any error
-. /etc/debootstrap/config || exit 1
+. /etc/debootstrap/config || exit 1
+. /etc/debootstrap/variables || exit 1
[ -r /proc/1 ] || mount -t proc none /proc
+# use aptitude only if it's available
+if [ -x /usr/bin/aptitude ] ; then
+ APTINSTALL='aptitude -y'
+ APTUPDATE='aptitude update'
+else
+ APTINSTALL='apt-get --force-yes -y'
+ APTUPDATE='apt-get update'
+fi
+
# variable checks {{{
if [ -z "$STAGES" ] ; then
STAGES='/etc/debootstrap/stages'
# helper functions {{{
stage() {
if grep -q done "$STAGES/$1" 2>/dev/null ; then
- ewarn "Notice: stage $1 has been executed already, skipping execution therefore." ; eend 0
+ echo " * Notice: stage $1 has been executed already, skipping execution therefore."
return 1
else
echo "$2" > "$STAGES/$1"
echo "Error: /etc/debootstrap/packages not found, exiting."
exit 1
else
- apt-get update
- apt-get --force-yes -y install $(cat /etc/debootstrap/packages) $GRMLPACKAGES
+ $APTUPDATE
+ $APT $(cat /etc/debootstrap/packages) $GRMLPACKAGES
fi
fi
}
# install kernel packages {{{
kernel() {
+ # do not override $KERNEL if set via config file
+ if [ -z "$KERNEL" ] ; then
+ if [ "$ARCH" = 'i386' ] ; then
+ KERNEL='2.6-686'
+ elif [ "$ARCH" = 'amd64' ] ; then
+ KERNEL='2.6-amd64'
+ fi
+ fi
+
if [ -n "$KERNEL" ] ; then
- apt-get update
+ $APTUPDATE
if [ "$RELEASE" = 'sarge' ] ; then
KERNELPACKAGES="kernel-image-$KERNEL kernel-headers-$KERNEL"
else
KERNELPACKAGES="linux-image-$KERNEL linux-headers-$KERNEL"
fi
- apt-get --force-yes -y install $KERNELPACKAGES
+ $APTINSTALL $KERNELPACKAGES
fi
}
# }}}
# finally install grub
update-grub -y
- sed -i "s/^# groot=.*/# groot=(${GROOT})/g" /boot/grub/menu.lst
- sed -i "s|^# kopt=root=.*|# kopt=root=${TARGET} ro|g" /boot/grub/menu.lst
- # not sure why savedefault does not work for me; any ideas?
- sed -i "s/^savedefault.*/# &/g" /boot/grub/menu.lst
- update-grub -y
+ if [ -f /boot/grub/menu.lst ] ; then
+ sed -i "s/^# groot=.*/# groot=(${GROOT})/g" /boot/grub/menu.lst
+ sed -i "s|^# kopt=root=.*|# kopt=root=${TARGET} ro|g" /boot/grub/menu.lst
+ # not sure why savedefault does not work for me; any ideas?
+ sed -i "s/^savedefault.*/# &/g" /boot/grub/menu.lst
+ update-grub -y
+ fi
fi
}
# }}}