aboutsummaryrefslogtreecommitdiff
path: root/cc3200/bootmgr/bootgen.sh
diff options
context:
space:
mode:
Diffstat (limited to 'cc3200/bootmgr/bootgen.sh')
-rw-r--r--cc3200/bootmgr/bootgen.sh44
1 files changed, 44 insertions, 0 deletions
diff --git a/cc3200/bootmgr/bootgen.sh b/cc3200/bootmgr/bootgen.sh
new file mode 100644
index 000000000..f90dc7315
--- /dev/null
+++ b/cc3200/bootmgr/bootgen.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# Re-locator Path
+RELOCATOR=bootmgr/relocator
+
+# Boot Manager Path
+# First parameter passed is the board type
+BOOTMGR=bootmgr/build/$1
+
+# Check for re-locator binary
+if [ ! -f $RELOCATOR/relocator.bin ]; then
+
+ echo "Error : Relocator Not found!"
+ exit
+else
+ echo "Relocator found..."
+fi
+
+# Check for boot manager binary
+if [ ! -f $BOOTMGR/bootmgr.bin ]; then
+
+ echo "Error : Boot Manager Not found!"
+ exit
+else
+ echo "Boot Manager found..."
+fi
+
+# echo
+echo "Generating bootloader..."
+
+# Generate an all 0 bin file
+dd if=/dev/zero of=__tmp.bin ibs=1 count=256 conv=notrunc >/dev/null 2>&1
+
+# Generate 0 a padded version of relocator
+dd if=$RELOCATOR/relocator.bin of=__tmp.bin ibs=1 conv=notrunc >/dev/null 2>&1
+
+# Concatenate re-locator and boot-manager
+cat __tmp.bin $BOOTMGR/bootmgr.bin > $BOOTMGR/bootloader.bin
+
+# Remove the tmp files
+rm -f __tmp.bin
+
+# Remove bootmgr.bin
+rm -f $BOOTMGR/bootmgr.bin