firmware/bsp/default/root_file_system/etc/sysupgrade.sh

27 lines
1014 B
Bash
Executable File

#!/bin/sh
BOARD=`uci get board.model.name`
FILE="openwrt-ar71xx-generic-$BOARD-squashfs-sysupgrade.bin"
echo -ne "\nHardware: $BOARD\n"
echo -ne "Downloading $FILE\n\n"
cd /tmp/
wget http://$(uci get configurator.@api[0].ipv6_address)%$(uci get configurator.@api[0].ipv6_interface)/dev/firmware/current/${FILE}
wget http://$(uci get configurator.@api[0].ipv6_address)%$(uci get configurator.@api[0].ipv6_interface)/dev/firmware/current/${FILE}.md5
echo -ne "\ndone. Comparing md5 sums: "
md5sum -c ${FILE}.md5
ret=$?
echo
if [ $ret -ne 0 ]; then
echo -ne "md5 sums do not match. Try restarting this script to redownload the firmware.\n\n"
rm -f ${FILE}*
exit 1
else
while true; do
read -p "md5 sums correct. Should I start upgrading the firmware (y/N)? " yn
case $yn in
[Yy] ) echo -ne "\nStarting firmware upgrade. Don't touch me until I reboot.\n\n\n"; sysupgrade ${FILE}; break;;
[Nn]|* ) echo -ne "\nAborting firmware upgrade.\n\n"; rm -f ${FILE}*; exit 0;;
esac
done
fi