aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
diff options
context:
space:
mode:
authorTomasz Maciej Nowak <tomek_n@o2.pl>2018-01-24 16:39:48 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2018-03-02 21:33:08 +0100
commitd29a2814b71554231630859dc08cf1f0739f5b45 (patch)
tree7e1bf2dc6e804bf6bc9df207a4270b9107eab84c /target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
parentb1317a10f74455bfbb126d0d0962f5c191865b5c (diff)
downloadupstream-d29a2814b71554231630859dc08cf1f0739f5b45.tar.gz
upstream-d29a2814b71554231630859dc08cf1f0739f5b45.tar.bz2
upstream-d29a2814b71554231630859dc08cf1f0739f5b45.zip
mvebu: rename clearfog sysupgrade script and functions
Cosmetic name change of ClearFog sysupgrade script and its functions to more generic sdcard. This way it won't be confusing for other future device additions. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Diffstat (limited to 'target/linux/mvebu/base-files/lib/upgrade/sdcard.sh')
-rw-r--r--target/linux/mvebu/base-files/lib/upgrade/sdcard.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
new file mode 100644
index 0000000000..de6e1a920c
--- /dev/null
+++ b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
@@ -0,0 +1,32 @@
+get_magic_at() {
+ local file="$1"
+ local pos="$2"
+ get_image "$file" | dd bs=1 count=2 skip="$pos" 2>/dev/null | hexdump -v -n 2 -e '1/1 "%02x"'
+}
+
+platform_check_image_sdcard() {
+ local file="$1"
+ local magic
+
+ magic=$(get_magic_at "$file" 510)
+ [ "$magic" != "55aa" ] && {
+ echo "Failed to verify MBR boot signature."
+ return 1
+ }
+
+ return 0;
+}
+
+platform_do_upgrade_sdcard() {
+ sync
+ get_image "$1" | dd of=/dev/mmcblk0 bs=2M conv=fsync
+ sleep 1
+}
+
+platform_copy_config_sdcard() {
+ mkdir -p /boot
+ [ -f /boot/kernel.img ] || mount -o rw,noatime /dev/mmcblk0p1 /boot
+ cp -af "$CONF_TAR" /boot/
+ sync
+ umount /boot
+}