Be more verbose about which arch we're using
[training-lab.git] / bootstrap-toolchain-vm.sh
index 07ff89b..05f7a01 100755 (executable)
@@ -7,6 +7,8 @@ RUNTIME=$1
 if [ "$RUNTIME"x = ""x ]; then
     RUNTIME=arm32
 fi
+shift
+OPTS=$1
 
 # Location of the runtime files. MANIFEST must exist there, and
 # describes what else needs to be downloaded: in the format:
@@ -14,7 +16,11 @@ fi
 # Apart from the MANIFEST itself, all files should be compressed with
 # gzip. In each case, the script will download $FILENAME.gz,
 # decompress it and then validate the checksum
-RUNTIME_DL=https://www.einval.com/arm/training-lab/$RUNTIME/
+if [ "$OPTS"x = "localtest"x ]; then
+    RUNTIME_DL=http://www.einval.org/share/arm-security/$RUNTIME/
+else
+    RUNTIME_DL=https://www.einval.com/arm/training-lab/$RUNTIME/
+fi
 
 # Abort on errors
 set -e
@@ -22,7 +28,7 @@ set -e
 
 # Make sure we have updates applied, and all our needed packages. Kill
 # inattended-upgrades if it's running, as it will clash here
-killall unattended-upgrade unattended-upgrades
+killall unattended-upgrade unattended-upgrades || true
 apt-get update
 apt-get dist-upgrade -y
 apt-get install -y qemu-system-arm gcc-aarch64-linux-gnu
@@ -47,7 +53,9 @@ for LINE in $(cat MANIFEST); do
     DL_NEEDED=1
     
     # Quick and dirty - if the file exists and is the right size,
-    # we'll believe it
+    # we'll believe it's OK. This will save us downloading a 2G test
+    # image every time, but make sure we delete it if people are
+    # changing tests!
     echo "  Checking $FILENAME.gz"
     if [ -f $FILENAME ]; then
         SIZE=$(stat -c%s $FILENAME)
@@ -56,6 +64,10 @@ for LINE in $(cat MANIFEST); do
         fi
     fi
 
+    if [ "$OPTS"x = "nodownload"x ]; then
+        "IGNORING DOWNLOAD FOR $FILENAME"
+        DL_NEEDED=0
+    fi
     if [ $DL_NEEDED = 1 ]; then
         # Grab a compressed version of the file, and extract it as we
         # go
@@ -70,5 +82,5 @@ for LINE in $(cat MANIFEST); do
     chmod $MODE $FILENAME
 done
 
-echo "Starting emulated runtime VM next"
+echo "Starting emulated runtime VM for $RUNTIME next"
 MACH=$RUNTIME ./start_runtime