mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-04 04:27:34 +00:00
65 lines
2 KiB
Bash
Executable file
65 lines
2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
# populate with an invalid default so the equals compares work downstream
|
|
ARG1=${1:-bogus}
|
|
|
|
if [ $ARG1 == "-s" ]; then
|
|
echo "Updating to latest stabilized release"
|
|
REVISION="releases/latest"
|
|
elif [ $ARG1 == "-b" ]; then
|
|
echo "Updating to bleeding edge release"
|
|
REVISION="latest-ci"
|
|
else
|
|
echo "Usage: ${0} [-s] [-b] [[-l LOCALE]], where LOCALE is one of en, ja, zh, or en-tts"
|
|
echo "One of -s or -b must be specified for either stabilized or bleeding edge branches"
|
|
echo " "
|
|
echo "This script does a factory reset: all keys and data will be lost. No backsies."
|
|
exit 1
|
|
fi
|
|
|
|
ARG2=${2:-bogus}
|
|
if [ $ARG2 == "-l" ]; then
|
|
if [ -z "$3" ]; then
|
|
echo "Missing locale specifier"
|
|
exit 0
|
|
fi
|
|
LOCALE="-"$3
|
|
else
|
|
LOCALE=""
|
|
fi
|
|
|
|
./usb_update.py --disable-boot
|
|
echo "waiting for device to reboot"
|
|
sleep 5
|
|
|
|
wget https://ci.betrusted.io/$REVISION/xous$LOCALE.img -O /tmp/xous.img
|
|
./usb_update.py -k /tmp/xous.img
|
|
rm /tmp/xous.img
|
|
|
|
echo "waiting for device to reboot"
|
|
sleep 5
|
|
|
|
wget https://ci.betrusted.io/$REVISION/ec_fw.bin -O /tmp/ec_fw.bin
|
|
./usb_update.py -e /tmp/ec_fw.bin
|
|
rm /tmp/ec_fw.bin
|
|
|
|
sleep 5
|
|
|
|
wget https://ci.betrusted.io/$REVISION/wf200_fw.bin -O /tmp/wf200_fw.bin
|
|
./usb_update.py -w /tmp/wf200_fw.bin
|
|
rm /tmp/wf200_fw.bin
|
|
|
|
echo "waiting for device to reboot"
|
|
sleep 5
|
|
|
|
# this should sequence last because it overwrites all of the CSR values on the currently loaded SoC
|
|
wget https://ci.betrusted.io/$REVISION/soc_csr.bin -O /tmp/soc_csr.bin
|
|
wget https://ci.betrusted.io/$REVISION/loader.bin -O /tmp/loader.bin
|
|
./usb_update.py --enable-boot-wipe --soc /tmp/soc_csr.bin -l /tmp/loader.bin
|
|
rm /tmp/loader.bin
|
|
rm /tmp/soc_csr.bin
|
|
|
|
echo "Please insert a paperclip in the hard reset hole in the lower right hand corner to ensure the new FPGA gateware is loaded."
|
|
echo "After inserting the paperclip you will need to apply power via USB to boot."
|
|
echo "IMPORTANT: you must run 'ecup auto' to update the EC with the staged firmware objects."
|