Added kupdate.sh
[bootcd.git] / build.sh
index 0535962..344ccb0 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -99,19 +99,8 @@ function init_and_check () {
        . /etc/planetlab/plc_config
     fi
 
-    # From within a myplc chroot /usr/tmp is too small 
-    # to build all possible images, whereas /data is part of the host
-    # filesystem and usually has sufficient space.  What we
-    # should do is check whether the expected amount of space
-    # is available.
-    BUILDTMP=/usr/tmp
-    if [ -d /data/tmp ] ; then
-       isreadonly=$(mktemp /data/tmp/isreadonly.XXXXXX || /bin/true)
-       if [ -n "$isreadonly" ] ; then
-            rm -f "$isreadonly"
-            BUILDTMP=/data/tmp
-       fi
-    fi
+    # use /var/tmp that should be large enough on both chroot- or vserver-based myplc
+    BUILDTMP=/var/tmp
 
     FULL_VERSION_STRING="${PLC_NAME} BootCD ${BOOTCD_VERSION}"
 
@@ -164,7 +153,7 @@ function parse_command_line () {
            O) OUTPUT_BASE="$OPTARG" ;;
            o) OUTPUT_NAME="$OPTARG" ;;
            C) CUSTOM_DIR="$OPTARG" ;;
-           k) KARGS_STR="$OPTARG" ;;
+           k) KARGS_STR="$KARGS_STR $OPTARG" ;;
            n) DRY_RUN=true ;;
            h|*) usage ;;
        esac
@@ -314,6 +303,9 @@ EOF
     if [ -f "$NODE_CONFIGURATION_FILE" ] ; then
        echo "* Installing node configuration file $NODE_CONFIGURATION_FILE -> /usr/boot/plnode.txt of the bootcd image"
        install -D -m 644 $NODE_CONFIGURATION_FILE $OVERLAY/usr/boot/plnode.txt
+       NODE_ID=$(source $NODE_CONFIGURATION_FILE; echo $NODE_ID)
+       echo "* Building network configuration for $NODE_ID"
+       plnet -- --root $OVERLAY --files-only --program BootCD $NODE_ID
     fi
 
     if [ -n "$IS_SERIAL" ] ; then
@@ -363,9 +355,7 @@ EOF
 
     # Create ISO image
     echo "* Creating ISO image"
-    mkisofs -o "$iso" \
-        $MKISOFS_OPTS \
-        $ISOFS
+    mkisofs -o "$iso" $MKISOFS_OPTS $ISOFS
 }
 
 #################### USB with partitions