diff options
-rw-r--r-- | package/system/procd/files/nand.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/package/system/procd/files/nand.sh b/package/system/procd/files/nand.sh index f933629e8e..0d30810b83 100644 --- a/package/system/procd/files/nand.sh +++ b/package/system/procd/files/nand.sh @@ -201,6 +201,7 @@ nand_do_upgrade_success() { reboot -f } +# Flash the UBI image to MTD partition nand_upgrade_ubinized() { local ubi_file="$1" local mtdnum="$(find_mtd_index "$CI_UBIPART")" @@ -223,6 +224,7 @@ nand_upgrade_ubinized() { nand_do_upgrade_success } +# Write the UBIFS image to UBI volume nand_upgrade_ubifs() { local rootfs_length=`(cat $1 | wc -c) 2> /dev/null` @@ -269,6 +271,7 @@ nand_upgrade_tar() { nand_do_upgrade_success } +# Recognize type of passed file and start the upgrade process nand_do_upgrade_stage2() { local file_type=$(identify $1) @@ -319,6 +322,19 @@ nand_upgrade_stage1() { } append sysupgrade_pre_upgrade nand_upgrade_stage1 +# Check if passed file is a valid one for NAND sysupgrade. Currently it accepts +# 3 types of files: +# 1) UBI - should contain an ubinized image, header is checked for the proper +# MAGIC +# 2) UBIFS - should contain UBIFS partition that will replace "rootfs" volume, +# header is checked for the proper MAGIC +# 3) TRX - archive has to include "sysupgrade-BOARD" directory with a non-empty +# "CONTROL" file (at this point its content isn't verified) +# +# You usually want to call this function in platform_check_image. +# +# $(1): board name, used in case of passing TRX file +# $(2): file to be checked nand_do_platform_check() { local board_name="$1" local tar_file="$2" |