Skip to content

Commit 2436198

Browse files
committed
ayufan: dev: update the upgrade_bootloader.sh script
1 parent b3a3bd5 commit 2436198

File tree

2 files changed

+55
-50
lines changed

2 files changed

+55
-50
lines changed

dev-ayufan/root/usr/local/lib/u-boot-rockchip/loader-common

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,11 @@ boot_device() {
110110

111111
version2() {
112112
echo "$1:"
113-
if VER=$(strings "$2" | grep "^U-Boot [0-9]*.[0-9]*-[a-z0-9.-]* ("); then
114-
echo "- Version: $VER"
115-
echo "- Board: $(strings "$2" | grep -E "^board=")"
116-
echo "- FDT: $(strings "$2" | grep -E "^fdtfile=")"
113+
local match=$(strings "$2" | grep -m 3 -E "^board=|^fdtfile=|^U-Boot [0-9]*.[0-9]*-[a-z0-9.-]* \(")
114+
if [[ -n "$match" ]]; then
115+
echo "- Version: $(echo "$match" | grep -E "^U-Boot ")"
116+
echo "- Board: $(echo "$match" | grep -E "^board=")"
117+
echo "- FDT: $(echo "$match" | grep -E "^fdtfile=")"
117118
else
118119
echo "- Not installed on $2."
119120
fi

dev-ayufan/root/usr/local/sbin/upgrade_bootloader.sh

Lines changed: 50 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,56 @@ set -eo pipefail
44

55
source /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
5559
done

0 commit comments

Comments
 (0)