2 # Copyright 2015-2019 Traverse Technologies
6 RAMFS_COPY_BIN
="/usr/sbin/fw_printenv /usr/sbin/fw_setenv /usr/sbin/ubinfo /bin/echo"
7 RAMFS_COPY_DATA
="/etc/fw_env.config /var/lock/fw_printenv.lock"
9 REQUIRE_IMAGE_METADATA
=1
11 platform_do_upgrade_sdboot
() {
12 local diskdev partdev parttype
=ext4
14 local board_dir
=$
(tar tf
$tar_file |
grep -m 1 '^sysupgrade-.*/$')
15 board_dir
=${board_dir%/}
17 export_bootdevice
&& export_partdevice diskdev
0 ||
{
18 echo "Unable to determine upgrade device"
22 if export_partdevice partdev
1; then
23 mount
-t $parttype -o rw
,noatime
"/dev/$partdev" /mnt
2>&1
24 echo "Writing kernel..."
25 tar xf
$tar_file ${board_dir}/kernel
-O > /mnt
/fitImage
29 echo "Erasing rootfs..."
30 dd if=/dev
/zero of
=/dev
/mmcblk0p2 bs
=1M
> /dev
/null
2>&1
31 echo "Writing rootfs..."
32 tar xf
$tar_file ${board_dir}/root
-O |
dd of
=/dev
/mmcblk0p2 bs
=512k
> /dev
/null
2>&1
35 platform_do_upgrade_traverse_nandubi
() {
36 bootsys
=$
(fw_printenv bootsys |
awk -F= '{{print $2}}')
38 if [ "$bootsys" -eq "2" ]; then
42 # If nand_do_upgrade succeeds, we don't have an opportunity to add any actions of
43 # our own, so do it here and set back on failure
44 echo "Setting bootsys to #${newbootsys}"
45 fw_setenv bootsys
$newbootsys
47 CI_KERNPART
="kernel${newbootsys}"
48 CI_ROOTPART
="rootfs${newbootsys}"
49 nand_do_upgrade
"$1" ||
(echo "Upgrade failed, setting bootsys ${bootsys}" && fw_setenv bootsys
$bootsys)
52 platform_copy_config_sdboot
() {
53 local diskdev partdev parttype
=ext4
55 export_bootdevice
&& export_partdevice diskdev
0 ||
{
56 echo "Unable to determine upgrade device"
60 if export_partdevice partdev
1; then
61 mount
-t $parttype -o rw
,noatime
"/dev/$partdev" /mnt
2>&1
62 echo "Saving config backup..."
63 cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
67 platform_copy_config
() {
68 local board
=$
(board_name
)
71 fsl
,ls1012a-frwy-sdboot | \
72 fsl
,ls1021a-iot-sdboot | \
73 fsl
,ls1021a-twr-sdboot | \
74 fsl
,ls1028a-rdb-sdboot | \
75 fsl
,ls1043a-rdb-sdboot | \
76 fsl
,ls1046a-frwy-sdboot | \
77 fsl
,ls1046a-rdb-sdboot | \
78 fsl
,ls1088a-rdb-sdboot | \
79 fsl
,lx2160a-rdb-sdboot
)
80 platform_copy_config_sdboot
84 platform_check_image
() {
85 local board
=$
(board_name
)
90 nand_do_platform_check
"traverse-ls1043" $1
94 fsl
,ls1012a-frwy-sdboot | \
96 fsl
,ls1021a-iot-sdboot | \
98 fsl
,ls1021a-twr-sdboot | \
100 fsl
,ls1028a-rdb-sdboot | \
102 fsl
,ls1043a-rdb-sdboot | \
104 fsl
,ls1046a-frwy-sdboot | \
106 fsl
,ls1046a-rdb-sdboot | \
108 fsl
,ls1088a-rdb-sdboot | \
111 fsl
,lx2160a-rdb-sdboot
)
115 echo "Sysupgrade is not currently supported on $board"
121 platform_do_upgrade
() {
122 local board
=$
(board_name
)
124 # Force the creation of fw_printenv.lock
126 touch /var
/lock
/fw_printenv.lock
131 platform_do_upgrade_traverse_nandubi
"$1"
144 default_do_upgrade
"$1"
146 fsl
,ls1012a-frwy-sdboot | \
147 fsl
,ls1021a-iot-sdboot | \
148 fsl
,ls1021a-twr-sdboot | \
149 fsl
,ls1028a-rdb-sdboot | \
150 fsl
,ls1043a-rdb-sdboot | \
151 fsl
,ls1046a-frwy-sdboot | \
152 fsl
,ls1046a-rdb-sdboot | \
153 fsl
,ls1088a-rdb-sdboot | \
154 fsl
,lx2160a-rdb-sdboot
)
155 platform_do_upgrade_sdboot
"$1"
159 echo "Sysupgrade is not currently supported on $board"