#!/bin/bash # # Builds VServer reference image. Requires the web and boot servers to # be up, which complicates bootstrap. Alternatively, we could require # the build server to host a local yum repository. # # Mark Huang # Copyright (C) 2004-2005 The Trustees of Princeton University # # $Id: vserver-reference.init,v 1.8 2005/03/31 22:34:42 mlhuang Exp $ # YUM_CONF="http://www.planet-lab.org/PlanetLabConf/v3-yum.conf" # Make /vservers VROOT=$PWD/vservers/vserver-reference install -d -m 755 $VROOT MAKEDEV () { 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 /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 } # Initialize /dev in reference image MAKEDEV # Mount /dev/pts in reference image mkdir -p $VROOT/dev/pts mount -t devpts none $VROOT/dev/pts # Mount /proc in reference image mkdir -p $VROOT/proc mount -t proc none $VROOT/proc # Clean up before exiting if anything goes wrong trap "umount $VROOT/proc ; umount $VROOT/dev/pts" ERR # Create a dummy /etc/fstab in reference image mkdir -p $VROOT/etc cat > $VROOT/etc/fstab < $VROOT/etc/rpm/macros <