#!/bin/bash -e

# Usage:
#  wget -q -O - https://files.embeddedts.com/ts-arm-sbc/ts-7100-linux/u-boot/update-uboot | sh
#  wget -q -O - https://files.embeddedts.com/ts-arm-sbc/ts-7180-linux/u-boot/update-uboot | sh

MODEL=$(fw_printenv -n model) || ( echo "Board model cannot be determined." && exit 7 )

test -z "${MODEL}" && exit 1
test "${MODEL}" = "7180" && EMMC_DEV=mmcblk1boot0 || EMMC_DEV=mmcblk0boot0

U_BOOT_URL=https://files.embeddedts.com/ts-arm-sbc/ts-${MODEL}-linux/u-boot

FILES="$(mktemp -d)"
cd "$FILES"
wget ${U_BOOT_URL}/SPL-latest || exit 1
wget ${U_BOOT_URL}/SPL-latest.md5 || exit 2
wget ${U_BOOT_URL}/u-boot-ts${MODEL}-latest.img || exit 3
wget ${U_BOOT_URL}/u-boot-ts${MODEL}-latest.img.md5 || exit 4

# Verify all files md5s match
md5sum -c SPL-latest.md5 || exit 5
md5sum -c u-boot-ts${MODEL}-latest.img.md5 || exit 6

echo 0 > /sys/block/${EMMC_DEV}/force_ro
dd if=SPL-latest of=/dev/${EMMC_DEV} bs=512 seek=2
dd if=u-boot-ts${MODEL}-latest.img of=/dev/${EMMC_DEV} bs=512 seek=138 
sync
echo 1 > /sys/block/${EMMC_DEV}/force_ro

echo "Latest u-boot installed!"
