1 # SPDX-License-Identifier: GPL-2.0-or-later
4 REQUIRE_IMAGE_METADATA
=1
6 platform_check_image
() {
10 cfe_jffs2_nand_upgrade
() {
12 local kernel_mtd
="$(find_mtd_index $CI_KERNPART)"
14 if [ -z "$kernel_mtd" ]; then
15 echo "$CI_KERNPART partition not found"
19 local board_dir
=$
(tar tf
$tar_file |
grep -m 1 '^sysupgrade-.*/$')
20 board_dir
=${board_dir%/}
22 local kernel_length
=$
(tar xf
$tar_file ${board_dir}/kernel
-O |
wc -c 2> /dev
/null
)
23 local rootfs_length
=$
(tar xf
$tar_file ${board_dir}/root
-O |
wc -c 2> /dev
/null
)
25 if [ "$kernel_length" = 0 ]; then
26 echo "kernel cannot be empty"
30 flash_erase
-j /dev
/mtd
${kernel_mtd} 0 0
31 tar xf
$tar_file ${board_dir}/kernel
-O | nandwrite
/dev
/mtd
${kernel_mtd} -
33 local rootfs_type
="$(identify_tar "$tar_file" ${board_dir}/root)"
35 nand_upgrade_prepare_ubi
"$rootfs_length" "$rootfs_type" "0" "0"
37 local ubidev
="$( nand_find_ubi "$CI_UBIPART" )"
39 local root_ubivol
="$(nand_find_volume $ubidev $CI_ROOTPART)"
40 tar xf
$tar_file ${board_dir}/root
-O | \
41 ubiupdatevol
/dev
/$root_ubivol -s $rootfs_length -
43 nand_do_upgrade_success
46 platform_do_upgrade
() {
47 case "$(board_name)" in
51 cfe_jffs2_nand_upgrade
"$1"