X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=f1433f5c95b48f33498697cbf21ff87c69961080;hb=91029451fc61906dcc37343fcfbdcded25da3435;hp=80b3400381ddb01dd47897e24f40cec9c182f192;hpb=c9f6863aedfca503474371136e412dca8d06150f;p=sliceimage.git diff --git a/build.sh b/build.sh index 80b3400..f1433f5 100755 --- a/build.sh +++ b/build.sh @@ -5,7 +5,7 @@ # Mark Huang # Copyright (C) 2004-2006 The Trustees of Princeton University # -# $Id: build.sh,v 1.5 2006/03/29 17:08:45 mlhuang Exp $ +# $Id: build.sh,v 1.17 2007/08/13 18:02:33 faiyaza Exp $ # PATH=/sbin:/bin:/usr/sbin:/usr/bin @@ -17,14 +17,14 @@ if [ -d ../build ] ; then PATH=$PATH:../build srcdir=.. else - echo "Error: Could not find sources in either . or .." + echo "Error: Could not find $(cd .. && pwd -P)/build/" exit 1 fi export PATH # Release and architecture to install -releasever=2 +releasever=4 basearch=i386 # Packages to install @@ -48,12 +48,14 @@ traceroute time vixie-cron wget +which yum curl gzip perl python tar +findutils ) usage() @@ -80,15 +82,41 @@ while getopts "r:a:h" opt ; do esac done +# Do not tolerate errors +set -e + # Make /vservers -vroot=$PWD/vservers/vserver-reference +vroot=$PWD/vservers/.vref/default install -d -m 755 $vroot -# Install vserver-reference system +# Install default reference image for package in "${packagelist[@]}" ; do packages="$packages -p $package" done -mkfedora -v -r $releasever -a $basearch $packages $vroot +mkfedora -v -r $releasever -a $basearch -k $packages $vroot + +# Clean /dev +rm -rf $vroot/dev +mkdir -p $vroot/dev +mknod -m 666 $vroot/dev/null c 1 3 +mknod -m 666 $vroot/dev/zero c 1 5 +mknod -m 666 $vroot/dev/full c 1 7 +mknod -m 644 $vroot/dev/random c 1 8 +mknod -m 644 $vroot/dev/urandom c 1 9 +mknod -m 666 $vroot/dev/tty c 5 0 +mknod -m 666 $vroot/dev/ptmx c 5 2 +# For bash command substitution +ln -nsf ../proc/self/fd $vroot/dev/fd +# For df and linuxconf +touch $vroot/dev/hdv1 +# For TUN/TAP +mkdir -p $vroot/dev/net +mknod -m 600 $vroot/dev/net/tun c 10 200 +# For pseudo ttys +mkdir -p $vroot/dev/pts + +# Disable all services in reference image +chroot $vroot sh -c "/sbin/chkconfig --list | awk '{ print \$1 }' | xargs -i /sbin/chkconfig {} off" # This tells the Boot Manager that it is okay to update # /etc/resolv.conf and /etc/hosts whenever the network configuration