From: Mark Huang Date: Fri, 2 Sep 2005 19:09:58 +0000 (+0000) Subject: - script to build node tarball X-Git-Tag: BOOTMANAGER_PL_BOX_STABLE~7 X-Git-Url: http://git.onelab.eu/?p=bootmanager.git;a=commitdiff_plain;h=c872023bca88133190e1b9b1679c12460a0fe08d - script to build node tarball --- diff --git a/support-files/buildnode.sh b/support-files/buildnode.sh new file mode 100755 index 0000000..ba08840 --- /dev/null +++ b/support-files/buildnode.sh @@ -0,0 +1,125 @@ +#!/bin/bash +# +# Build PlanetLab-Bootstrap.tar.bz2, the reference image for PlanetLab +# nodes. 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. Already, it is required to run the same +# major version of yum as the nodes. +# +# Mark Huang +# Copyright (C) 2005 The Trustees of Princeton University +# +# $Id$ +# + +# Get the URL for the production /etc/yum.conf file. XXX When MAs +# begin deploying their own boot servers and/or code, this will have +# to change. +YUM_CONF=http://boot.planet-lab.org/$(curl --silent --insecure --form node_id=0 --form file=/etc/yum.conf https://boot.planet-lab.org/db/plnodeconf/getsinglefile.php) + +# Make / +VROOT=$PWD/PlanetLab-Bootstrap +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 +} + +# 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 ; exit 255" ERR + +# Create a dummy /etc/fstab in reference image +mkdir -p $VROOT/etc +cat > $VROOT/etc/fstab < $VROOT/etc/rpm/macros <