@@ -4,52 +4,56 @@ set -eo pipefail
44
55source /usr/local/lib/u-boot-rockchip/loader-common
66
7- cnt=1
8- methods=()
9-
10- version2 " Latest version" " $SD_LOADER "
11- echo " 0) Do not do any changes."
12- echo
13- methods[0]=" # no-op"
14-
15- while read MNT_DEV; do
16- version2 " $MNT_DEV " " $MNT_DEV "
17-
18- echo " $cnt ) Install u-boot on $MNT_DEV "
19- methods[$cnt ]=" dd if=\" $SD_LOADER \" of=\" $MNT_DEV \" iflag=fullblock oflag=direct"
20- cnt=$(( cnt+ 1 ))
21- echo " $cnt ) Remove bootloader on $MNT_DEV "
22- methods[$cnt ]=" dd if=/dev/zero of=\" $MNT_DEV \" iflag=fullblock oflag=direct"
23- cnt=$(( cnt+ 1 ))
24- echo
25- done < <( blkid /dev/disk/by-id/{ata,usb,mmc}-* -o device -t PARTLABEL=" loader1" )
26-
27- if find_mtd; then
28- version2 " SPI Flash" " $MTD_DEV "
29-
30- echo " $cnt ) Install u-boot on $MTD_DEV "
31- methods[$cnt ]=" flash_erase \" $MTD_DEV \" \" $MTD_OFFSET \" 0 && nandwrite -s \" $MTD_OFFSET \" \" $MTD_DEV \" \" $SPI_LOADER \" "
32- cnt=$(( cnt+ 1 ))
33- echo " $cnt ) Remove bootloader on $MTD_DEV "
34- methods[$cnt ]=" flash_erase \" $MTD_DEV \" \" $MTD_OFFSET \" 0"
35- cnt=$(( cnt+ 1 ))
36- echo
37- fi
38-
39- while true ; do
40- echo " Select one of the options or Ctrl-C to abort:"
41- read OPTION
42- echo
43-
44- if [[ " $OPTION " == " 0" ]]; then
45- exit
46- elif [[ -z " ${methods[$OPTION]} " ]]; then
47- echo " The '$OPTION ' is invalid option"
48- continue
7+ prompt () {
8+ cnt=1
9+ methods=()
10+
11+ echo " ############################"
12+ version2 " Latest version" " $SD_LOADER "
13+
14+ while read MNT_DEV; do
15+ version2 " $MNT_DEV " " $MNT_DEV "
16+
17+ echo " $cnt ) Install u-boot on $MNT_DEV "
18+ methods[$cnt ]=" dd if=\" $SD_LOADER \" of=\" $MNT_DEV \" iflag=fullblock oflag=direct"
19+ cnt=$(( cnt+ 1 ))
20+ echo " $cnt ) Remove bootloader on $MNT_DEV "
21+ methods[$cnt ]=" dd if=/dev/zero of=\" $MNT_DEV \" iflag=fullblock oflag=direct"
22+ cnt=$(( cnt+ 1 ))
23+ echo
24+ done < <( blkid /dev/disk/by-id/{ata,usb,mmc}-* -o device -t PARTLABEL=" loader1" )
25+
26+ if find_mtd; then
27+ version2 " SPI Flash" " $MTD_DEV "
28+
29+ echo " $cnt ) Install u-boot on $MTD_DEV "
30+ methods[$cnt ]=" flash_erase \" $MTD_DEV \" \" $MTD_OFFSET \" 0 && nandwrite -s \" $MTD_OFFSET \" \" $MTD_DEV \" \" $SPI_LOADER \" "
31+ cnt=$(( cnt+ 1 ))
32+ echo " $cnt ) Remove bootloader on $MTD_DEV "
33+ methods[$cnt ]=" flash_erase \" $MTD_DEV \" \" $MTD_OFFSET \" 0"
34+ cnt=$(( cnt+ 1 ))
35+ echo
4936 fi
37+ echo " ############################"
38+
39+ while true ; do
40+ echo " Select one of the options or Ctrl-C to abort:"
41+ read OPTION
42+ echo
43+
44+ if [[ -z " ${methods[$OPTION]} " ]]; then
45+ echo " The '$OPTION ' is invalid option"
46+ continue
47+ fi
48+
49+ echo " Executing '${methods[$OPTION]} '..."
50+ confirm
51+ eval " ${methods[$OPTION]} "
52+ echo
53+ return
54+ done
55+ }
5056
51- echo " Executing '${methods[$OPTION]} '..."
52- confirm
53- eval " ${methods[$OPTION]} "
54- echo
57+ while true ; do
58+ prompt
5559done
0 commit comments