summaryrefslogtreecommitdiffstats
path: root/bml_over_mtd.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bml_over_mtd.sh')
-rw-r--r--bml_over_mtd.sh44
1 files changed, 44 insertions, 0 deletions
diff --git a/bml_over_mtd.sh b/bml_over_mtd.sh
new file mode 100644
index 0000000..be73e15
--- /dev/null
+++ b/bml_over_mtd.sh
@@ -0,0 +1,44 @@
+#!/sbin/busybox sh
+#
+# bml_over_mtd.sh
+# Take care of bad blocks while flashing kernel image to boot partition
+#
+
+PARTITION=$1
+PARTITION_START_BLOCK=$2
+RESERVOIRPARTITION=$3
+RESERVOIR_START_BLOCK=$4
+IMAGE=$5
+
+# remove old log
+rm -rf /sdcard/bml_over_mtd.log
+
+# everything is logged into /sdcard/bml_over_mtd.log
+exec >> /sdcard/bml_over_mtd.log 2>&1
+
+set -x
+export PATH=/:/sbin:/system/xbin:/system/bin:$PATH
+
+busybox cat <<EOF
+########################################################################################
+#
+# Flashing boot image with bml_over_mtd on `busybox date`
+#
+########################################################################################
+EOF
+
+# scan boot partition for bad blocks
+/tmp/bml_over_mtd scan $PARTITION
+status=$?
+
+# if exit status is 15 use bml_over_mtd, otherwise use flash_image
+if test $status -eq 15
+then
+ echo "Running bml_over_mtd..."
+ /tmp/bml_over_mtd flash $PARTITION $PARTITION_START_BLOCK $RESERVOIRPARTITION $RESERVOIR_START_BLOCK $IMAGE
+else
+ echo "Running flash_image..."
+ /sbin/flash_image $PARTITION $IMAGE
+fi
+
+exit