summaryrefslogtreecommitdiff
path: root/old/extensions/image-package-example/disk-install.sh.in
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2017-07-07 10:01:07 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2017-07-07 10:01:07 +0000
commitf6046f9b54c1f14d12a67fa66ca0c881b49e8ceb (patch)
tree7c4d5b1aa87b991fecb0b2c585514069947c3f0a /old/extensions/image-package-example/disk-install.sh.in
parentdeba555368fd21316025c5ee0eaaf517b938775e (diff)
downloaddefinitions-f6046f9b54c1f14d12a67fa66ca0c881b49e8ceb.tar.gz
Move old Baserock format definitions into old/ directory
Diffstat (limited to 'old/extensions/image-package-example/disk-install.sh.in')
-rw-r--r--old/extensions/image-package-example/disk-install.sh.in51
1 files changed, 51 insertions, 0 deletions
diff --git a/old/extensions/image-package-example/disk-install.sh.in b/old/extensions/image-package-example/disk-install.sh.in
new file mode 100644
index 00000000..bc8e0e67
--- /dev/null
+++ b/old/extensions/image-package-example/disk-install.sh.in
@@ -0,0 +1,51 @@
+#!/bin/sh
+# Script for writing the system to an existing disk.
+# This formats the disk, extracts the rootfs to it, installs the
+# bootloader, and ensures there's appropriate configuration for the
+# bootloader, kernel and userland to agree what the rootfs is.
+
+set -eu
+
+usage(){
+ cat <<EOF
+usage: $0 DISK [TARGET_DISK]
+
+DISK: Where the disk appears on your development machine
+TARGET_DISK: What the disk will appear as on the target machine
+EOF
+}
+
+. @@SCRIPT_DIR@@/common.sh
+
+if [ "$#" -lt 1 -o "$#" -gt 2 ]; then
+ usage
+ exit 1
+fi
+
+DISK="$1"
+TARGET_DISK="${1-/dev/sda}"
+
+status Formatting "$DISK" as ext4
+format_disk "$DISK"
+(
+ info Mounting "$DISK"
+ MP="$(temp_mount -t ext4 "$DISK")"
+ info Mounted "$DISK" to "$MP"
+ set +e
+ (
+ set -e
+ info Copying rootfs onto disk
+ extract_rootfs "$MP"
+ info Configuring disk paths
+ install_fs_config "$MP" "$TARGET_DISK"
+ info Installing bootloader
+ install_bootloader "$DISK" "$MP"
+ )
+ ret="$?"
+ if [ "$ret" != 0 ]; then
+ warn Filling rootfs failed with "$ret"
+ fi
+ info Unmounting "$DISK" from "$MP" and removing "$MP"
+ untemp_mount "$MP"
+ exit "$ret"
+)