forked from ghidraninja/game-and-watch-backup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
5_restore.sh
executable file
·36 lines (27 loc) · 1.06 KB
/
5_restore.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
source config.sh $1
if ! test -f backups/internal_flash_backup.bin; then
echo "No backup of internal flash found in backups/internal_flash_backup.bin"
exit 1
fi
if ! test -f backups/flash_backup.bin; then
echo "No backup of SPI flash found in backups/flash_backup.bin"
exit 1
fi
echo "Ok, restoring original firmware! (We will not lock the device, so you won't have to repeat this procedure!)"
echo "Restoring internal flash..."
if ! ${OPENOCD} -f openocd/interface_"${ADAPTER}".cfg \
-c "init;" \
-c "halt;" \
-c "program backups/internal_flash_backup.bin 0x08000000 verify;" \
-c "exit;" >>logs/5_openocd.log 2>&1; then
echo "Restoring internal flash failed. Check debug connection and try again."
exit 1
fi
echo "Restoring SPI flash..."
if ! ./scripts/flashloader.sh $ADAPTER backups/flash_backup.bin; then
echo "Restoring SPI flash failed. Check debug connection and try again."
exit 1
fi
echo "Success, your device should be running the original firmware again!"
echo "(You should power-cycle the device now)"