OpenWrt – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | #!/bin/sh |
2 | # |
||
3 | # Copyright 2015-2018 Traverse Technologies |
||
4 | # |
||
5 | platform_do_upgrade_traverse_nandubi() { |
||
6 | bootsys=$(fw_printenv bootsys | awk -F= '{{print $2}}') |
||
7 | newbootsys=2 |
||
8 | if [ "$bootsys" -eq "2" ]; then |
||
9 | newbootsys=1 |
||
10 | fi |
||
11 | mkdir -p /tmp/image |
||
12 | cd /tmp/image |
||
13 | get_image "$1" > image.tar |
||
14 | ls -la image.tar |
||
15 | files=$(tar -tf image.tar) |
||
16 | echo "Files in image:" |
||
17 | echo $files |
||
18 | for f in $files |
||
19 | do |
||
20 | part_name=$(echo $f | awk -F '/' '{{print $2}}') |
||
21 | if [ -z "$part_name" ] || [ "$part_name" = "CONTROL" ]; then |
||
22 | continue |
||
23 | fi |
||
24 | |||
25 | [ "$part_name" = "root" ] && part_name="rootfs" |
||
26 | |||
27 | volume=$part_name |
||
28 | if [ "$part_name" = "kernel" ] || [ "$part_name" = "rootfs" ]; then |
||
29 | volume="${part_name}${newbootsys}" |
||
30 | fi |
||
31 | volume_id=$(ubinfo -d 0 --name $volume | awk '/Volume ID/ {print $3}') |
||
32 | file_size=$(tar -tvf image.tar $f | awk '{{print $3}}') |
||
33 | echo "$f size $file_size" |
||
34 | tar -xOf image.tar $f | ubiupdatevol -s $file_size /dev/ubi0_$volume_id - |
||
35 | |||
36 | echo "$volume upgraded" |
||
37 | done |
||
38 | fw_setenv bootsys $newbootsys |
||
39 | echo "Upgrade complete" |
||
40 | } |
||
41 | platform_copy_config() { |
||
42 | bootsys=$(fw_printenv bootsys | awk -F= '{{print $2}}') |
||
43 | rootvol=rootfs$bootsys |
||
44 | volume_id=$(ubinfo -d 0 --name $rootvol | awk '/Volume ID/ {print $3}') |
||
45 | mkdir -p /mnt/oldsys |
||
46 | mount -t ubifs -o rw,noatime /dev/ubi0_$volume_id /mnt/oldsys |
||
47 | cp -af "$CONF_TAR" /mnt/oldsys |
||
48 | umount /mnt/oldsys |
||
49 | } |
||
50 | platform_check_image() { |
||
51 | local board=$(board_name) |
||
52 | |||
53 | case "$board" in |
||
54 | traverse,ls1043v | \ |
||
55 | traverse,ls1043s | \ |
||
56 | traverse,five64) |
||
57 | local tar_file="$1" |
||
58 | local kernel_length=$( (tar xf $tar_file sysupgrade-traverse-five64/kernel -O | wc -c) 2> /dev/null) |
||
59 | local rootfs_length=$( (tar xf $tar_file sysupgrade-traverse-five64/root -O | wc -c) 2> /dev/null) |
||
60 | [ "$kernel_length" -eq 0 -o "$rootfs_length" -eq 0 ] && { |
||
61 | echo "The upgrade image is corrupt." |
||
62 | return 1 |
||
63 | } |
||
64 | return 0 |
||
65 | ;; |
||
66 | *) |
||
67 | echo "Sysupgrade is not currently supported on $board" |
||
68 | ;; |
||
69 | esac |
||
70 | |||
71 | return 1 |
||
72 | } |
||
73 | platform_do_upgrade() { |
||
74 | local board=$(board_name) |
||
75 | |||
76 | case "$board" in |
||
77 | traverse,ls1043v | \ |
||
78 | traverse,ls1043s | \ |
||
79 | traverse,five64) |
||
80 | platform_do_upgrade_traverse_nandubi "$ARGV" |
||
81 | ;; |
||
82 | *) |
||
83 | echo "Sysupgrade is not currently supported on $board" |
||
84 | ;; |
||
85 | esac |
||
86 | } |
||
87 | platform_pre_upgrade() { |
||
88 | # Force the creation of fw_printenv.lock |
||
89 | mkdir -p /var/lock |
||
90 | touch /var/lock/fw_printenv.lock |
||
91 | |||
92 | export RAMFS_COPY_BIN="/usr/sbin/fw_printenv /usr/sbin/fw_setenv /usr/sbin/ubinfo /bin/echo ${RAMFS_COPY_BIN}" |
||
93 | export RAMFS_COPY_DATA="/etc/fw_env.config /var/lock/fw_printenv.lock ${RAMFS_COPY_DATA}" |
||
94 | } |