aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xupload29
1 files changed, 29 insertions, 0 deletions
diff --git a/upload b/upload
new file mode 100755
index 0000000..2975fc5
--- /dev/null
+++ b/upload
@@ -0,0 +1,29 @@
+#! /usr/bin/env bash
+
+# Upload the Build OS images to a TFTP server.
+#
+# If the tftp server host is not specified, then build@build-cache is
+# assumed. The images are uploaded to /var/lib/tftpboot/buildos/.
+#
+usage="usage: $0 [<user>@<host>]"
+
+owd="$(pwd)"
+trap "{ cd '$owd'; exit 1; }" ERR
+set -o errtrace # Trap in functions.
+
+function info () { echo "$*" 1>&2; }
+function error () { info "$*"; exit 1; }
+
+if [ -z "$1" ]; then
+ host="build@build-cache"
+else
+ host="$1"
+fi
+
+# Use --delay-updates to make things a bit more atomic (we don't want to
+# start rebooting before kernel/initrd are finished syncing). The cost
+# is a bit more disk space used to temporarily hold copies.
+#
+rsync -v --progress -lpt -c --copy-unsafe-links --delay-updates \
+ buildos-image buildos-initrd buildos-buildid \
+ $host:/var/lib/tftpboot/buildos/