Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/modules/signing/preimage.40.sign-firmware.sh
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2010-01-04 18:11:04 (GMT)
committer Daniel Drake <dsd@laptop.org>2010-01-04 18:11:04 (GMT)
commit6cc90b63ffe245e49adbad6725fed0746db5d96d (patch)
treef7b10ccf0792de7aebc6394fe46cf7299815b3b1 /modules/signing/preimage.40.sign-firmware.sh
parentc9fb11d7ca37b853641b9427d3d4981f9d139fdc (diff)
Finish signing module
Supports both external signing workflows and build-time signing.
Diffstat (limited to 'modules/signing/preimage.40.sign-firmware.sh')
-rw-r--r--modules/signing/preimage.40.sign-firmware.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/modules/signing/preimage.40.sign-firmware.sh b/modules/signing/preimage.40.sign-firmware.sh
new file mode 100644
index 0000000..10eeb67
--- /dev/null
+++ b/modules/signing/preimage.40.sign-firmware.sh
@@ -0,0 +1,26 @@
+# Copyright (C) 2010 One Laptop Per Child
+# Licensed under the terms of the GNU GPL v2 or later; see COPYING for details.
+
+. $OOB__shlib
+wkey=$(read_config signing wkey)
+[[ -n "$wkey" ]] || exit 0
+
+bios_crypto=$(read_config signing bios_crypto_path)
+[ -n "$bios_crypto" -a -d "$bios_crypto" ] || exit 0
+
+[ -e $fsmount/boot/bootfw.zip ] || exit 0
+
+echo "Signing firmware..."
+
+fwtmp=$intermediatesdir/fw-for-signing
+mkdir -p $fwtmp
+unzip -d $fwtmp $fsmount/boot/bootfw.zip
+mv $fwtmp/data.img $intermediatesdir/fw.rom
+
+outzip=$intermediatesdir/bootfw.zip
+rm -f $outzip
+pushd /tmp
+$bios_crypto/build/sign-fw.sh $wkey $intermediatesdir/fw.rom $outzip
+popd
+mv $outzip $fsmount/boot/
+