X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=254942584dfeaabca007fd09b681ef74f5f52c53;hb=refs%2Fheads%2Fmyplc-0_4-branch;hp=6d5ddc0244a2443653433a9a3fb291744fde09c7;hpb=ee2fead28290709aca85d40dddb93290afc047ef;p=bootcd.git diff --git a/build.sh b/build.sh index 6d5ddc0..2549425 100755 --- a/build.sh +++ b/build.sh @@ -10,7 +10,7 @@ # Mark Huang # Copyright (C) 2004-2006 The Trustees of Princeton University # -# $Id$ +# $Id: build.sh,v 1.40 2006/07/25 23:51:39 mlhuang Exp $ # PATH=/sbin:/bin:/usr/sbin:/usr/bin @@ -64,7 +64,10 @@ BOOTCD_VERSION=$(cat build/version.txt) if [ -f /etc/planetlab/plc_config ] ; then # Source PLC configuration . /etc/planetlab/plc_config -elif [ -d configurations/$CONFIGURATION ] ; then +fi + +# If PLC configuration is not valid, try a static configuration +if [ -z "$PLC_BOOT_CA_SSL_CRT" -a -d configurations/$CONFIGURATION ] ; then # (Deprecated) Source static configuration . configurations/$CONFIGURATION/configuration PLC_NAME="PlanetLab" @@ -76,7 +79,7 @@ elif [ -d configurations/$CONFIGURATION ] ; then fi PLC_BOOT_HOST=$PRIMARY_SERVER PLC_BOOT_SSL_PORT=$PRIMARY_SERVER_PORT - PLC_BOOT_SSL_CRT=configurations/$CONFIGURATION/$PRIMARY_SERVER_CERT + PLC_BOOT_CA_SSL_CRT=configurations/$CONFIGURATION/$PRIMARY_SERVER_CERT PLC_ROOT_GPG_KEY_PUB=configurations/$CONFIGURATION/$PRIMARY_SERVER_GPG fi @@ -85,7 +88,7 @@ FULL_VERSION_STRING="$PLC_NAME BootCD $BOOTCD_VERSION" # Root of the ISO and USB images overlay=$(mktemp -d /tmp/overlay.XXXXXX) install -d -m 755 $overlay -trap "rm -rf $overlay" ERR +trap "rm -rf $overlay" ERR INT # Create version files echo "* Creating version files" @@ -105,7 +108,7 @@ echo "* Installing boot server configuration files" # but never got around to it. Just install the same parameters for # both for now. for dir in $overlay/usr/boot $overlay/usr/boot/backup ; do - install -D -m 644 $PLC_BOOT_SSL_CRT $dir/cacert.pem + install -D -m 644 $PLC_BOOT_CA_SSL_CRT $dir/cacert.pem install -D -m 644 $PLC_ROOT_GPG_KEY_PUB $dir/pubring.gpg echo "$PLC_BOOT_HOST" >$dir/boot_server echo "$PLC_BOOT_SSL_PORT" >$dir/boot_server_port @@ -113,7 +116,7 @@ for dir in $overlay/usr/boot $overlay/usr/boot/backup ; do done # (Deprecated) Install old-style boot server configuration files -install -D -m 644 $PLC_BOOT_SSL_CRT $overlay/usr/bootme/cacert/$PLC_BOOT_HOST/cacert.pem +install -D -m 644 $PLC_BOOT_CA_SSL_CRT $overlay/usr/bootme/cacert/$PLC_BOOT_HOST/cacert.pem echo "$FULL_VERSION_STRING" >$overlay/usr/bootme/ID echo "$PLC_BOOT_HOST" >$overlay/usr/bootme/BOOTSERVER echo "$PLC_BOOT_HOST" >$overlay/usr/bootme/BOOTSERVER_IP @@ -177,11 +180,11 @@ echo "* Compressing overlay image" (cd $overlay && find . | cpio --quiet -c -o) | gzip -9 >$isofs/overlay.img rm -rf $overlay -trap - ERR +trap - ERR INT # Calculate ramdisk size (total uncompressed size of both archives) ramdisk_size=$(gzip -l $isofs/bootcd.img $isofs/overlay.img | tail -1 | awk '{ print $2; }') # bytes -ramdisk_size=$(($ramdisk_size / 1024)) # kilobytes +ramdisk_size=$((($ramdisk_size + 1023) / 1024)) # kilobytes # Write isolinux configuration echo "$FULL_VERSION_STRING" >$isofs/pl_version @@ -215,7 +218,7 @@ mkfs.vfat -C "$usb" $(($(du -sk $isofs | awk '{ print $1; }') + 1024)) # Mount it tmp=$(mktemp -d /tmp/bootcd.XXXXXX) mount -o loop "$usb" $tmp -trap "umount $tmp; rm -rf $tmp" ERR +trap "umount $tmp; rm -rf $tmp" ERR INT # Populate it echo "* Populating USB image" @@ -225,7 +228,7 @@ echo "* Populating USB image" mv $tmp/isolinux.cfg $tmp/syslinux.cfg umount $tmp rmdir $tmp -trap - ERR +trap - ERR INT echo "* Making USB image bootable" $srcdir/syslinux/unix/syslinux "$usb"