Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/bootable-tree-to-removable-img.sh
diff options
context:
space:
mode:
authorMartin Dengler <martin@martindengler.com>2009-06-29 21:31:30 (GMT)
committer Martin Dengler <martin@martindengler.com>2009-06-30 11:35:31 (GMT)
commit0ae1da97a8da1f25c8d4cba1135e1f4cc9b17db8 (patch)
tree10e97b686c618c651be009ecb288865145240c25 /bootable-tree-to-removable-img.sh
parent628648f8d89fe8322e2867a5a56a673900683206 (diff)
refactor build process into smaller, more sensible, more restartable scripts
Diffstat (limited to 'bootable-tree-to-removable-img.sh')
-rwxr-xr-xbootable-tree-to-removable-img.sh45
1 files changed, 45 insertions, 0 deletions
diff --git a/bootable-tree-to-removable-img.sh b/bootable-tree-to-removable-img.sh
new file mode 100755
index 0000000..08302fb
--- /dev/null
+++ b/bootable-tree-to-removable-img.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+set -x
+set -e
+set -o pipefail
+
+
+cleanup() {
+ [ -d "$TMP_MNT" ] && rm -rf $TMP_MNT
+}
+
+exitclean() {
+ echo "Cleaning up to exit..."
+ cleanup
+ exit 1
+}
+
+trap exitclean SIGINT SIGTERM
+
+
+ROOT=$1
+output_stem=${2:-soas}
+
+echo "Making removable image $ROOT --> $output_stem"
+
+TMP_MNT=$(mktemp -d ./removable.XXXXXX)
+
+device=`../make_fake_device.sh ${output_stem}.img`
+mount -t ext2 $device $TMP_MNT
+
+cp -a $ROOT/* $TMP_MNT
+
+cp ../olpc.fth.bootmenu $TMP_MNT/boot/olpc.fth
+
+umount $TMP_MNT
+losetup -d $device
+tar cf - ${output_stem}.img | lzma -1 > ${output_stem}.img.tar.lzma
+
+
+echo "Done making removable image $ROOT --> $output_stem"
+cleanup
+
+
+
+