# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2005-2006 The Trustees of Princeton University
#
-# $Id: buildnode.sh,v 1.8 2006/04/11 15:42:04 mlhuang Exp $
+# $Id: buildnode.sh,v 1.13 2007/08/30 20:08:25 mef Exp $
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin
export PATH
-# Release and architecture to install
-releasever=2
-basearch=i386
+. build.common
-usage()
-{
- echo "Usage: build.sh [OPTION]..."
- echo " -r release Fedora release number (default: $releasever)"
- echo " -a arch Fedora architecture (default: $basearch)"
- echo " -h This message"
- exit 1
-}
-
-# Get options
-while getopts "r:a:h" opt ; do
- case $opt in
- r)
- releasever=$OPTARG
- ;;
- a)
- basearch=$OPTARG
- ;;
- h|*)
- usage
- ;;
- esac
-done
+pl_process_fedora_options $@
+shiftcount=$?
+shift $shiftcount
# Do not tolerate errors
set -e
# because groupinstall does not honor Requires(pre) dependencies
# properly, most %pre scripts require coreutils to be installed first,
# and some of our %post scripts require python.
-mkfedora -v -r $releasever -a $basearch -p dev -p coreutils -p python -g PlanetLab $VROOT
-# Disable unnecessary services
+packagelist=(
+udev
+coreutils
+python
+)
+# vserver-reference packages used for reference image
+for package in "${packagelist[@]}" ; do
+ packages="$packages -p $package"
+done
+
+# Populate VROOT with the files for the PlanetLab-Bootstrap content
+pl_setup_chroot $VROOT -k $packages -g PlanetLab
+
+# Disable additional unnecessary services
echo "* Disabling unnecessary services"
for service in netfs rawdevices cpuspeed smartd ; do
- /usr/sbin/chroot $VROOT /sbin/chkconfig $service off
+ if [ -x $VROOT/etc/init.d/$service ] ; then
+ /usr/sbin/chroot $VROOT /sbin/chkconfig $service off
+ fi
done
# Build tarball
echo "* Building bootstrap tarball"
tar -cpjf PlanetLab-Bootstrap.tar.bz2 -C $VROOT .
-rm -rf $VROOT
exit 0