layerscape: use wrapped nand_do_upgrade for traverse-ls1043 boards
[openwrt/staging/wigyori.git] / target / linux / layerscape / base-files / lib / upgrade / platform.sh
1
2 #!/bin/sh
3 #
4 # Copyright 2015-2019 Traverse Technologies
5 #
6 platform_do_upgrade_traverse_nandubi() {
7 bootsys=$(fw_printenv bootsys | awk -F= '{{print $2}}')
8 newbootsys=2
9 if [ "$bootsys" -eq "2" ]; then
10 newbootsys=1
11 fi
12
13 # If nand_do_upgrade succeeds, we don't have an opportunity to add any actions of
14 # our own, so do it here and set back on failure
15 echo "Setting bootsys to #${newbootsys}"
16 fw_setenv bootsys $newbootsys
17 CI_UBIPART="nandubi"
18 CI_KERNPART="kernel${newbootsys}"
19 CI_ROOTPART="rootfs${newbootsys}"
20 nand_do_upgrade "$ARGV" || (echo "Upgrade failed, setting bootsys ${bootsys}" && fw_setenv bootsys $bootsys)
21
22 }
23 platform_check_image() {
24 local board=$(board_name)
25
26 case "$board" in
27 traverse,ls1043v | \
28 traverse,ls1043s)
29 nand_do_platform_check "traverse-ls1043" $1
30 return $?
31 ;;
32 *)
33 echo "Sysupgrade is not currently supported on $board"
34 ;;
35 esac
36
37 return 1
38 }
39 platform_do_upgrade() {
40 local board=$(board_name)
41
42 case "$board" in
43 traverse,ls1043v | \
44 traverse,ls1043s)
45 platform_do_upgrade_traverse_nandubi "$ARGV"
46 ;;
47 *)
48 echo "Sysupgrade is not currently supported on $board"
49 ;;
50 esac
51 }
52 platform_pre_upgrade() {
53 # Force the creation of fw_printenv.lock
54 mkdir -p /var/lock
55 touch /var/lock/fw_printenv.lock
56
57 export RAMFS_COPY_BIN="/usr/sbin/fw_printenv /usr/sbin/fw_setenv /usr/sbin/ubinfo /bin/echo ${RAMFS_COPY_BIN}"
58 export RAMFS_COPY_DATA="/etc/fw_env.config /var/lock/fw_printenv.lock ${RAMFS_COPY_DATA}"
59 }