Files
tzpuFusionX/software/linux/project/split_partion.sh

63 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
DIR_ROOT="`pwd`"
DIR_IMAGES=image/output/images
TARGET_BIN=$DIR_IMAGES/autoupgrade
TOOL_FOLDER=${BUILD_SDK_FOLDER}/tools/
#source ${DIR_ROOT}/configs/current.configs
BUILD_SDK_FOLDER=$(cd "$(dirname "$0")";pwd)
TFTPDOWNLOADADDR=0x21000000
TFTPDOWNLOADADDR_PART_PNI=0x21800000
KERNELBOOTADDR=0x22000000
SPLIT_EACH_FILE_SIZE=0x2C00000
function split_ubifs_for_upgrade {
IMAGE_NAME=$1
#customer.ubifs
UBI_D_NAME=$2
#customer
echo split customer image
if [ -f "${DIR_IMAGES}/${IMAGE_NAME}" ]; then
cp ${DIR_IMAGES}/scripts ${DIR_IMAGES}/scripts_bin -rf
#echo "# <- this is for comment / total file size must be less than 4KB" > ${DIR_IMAGES}/scripts/[[${UBI_D_NAME}.es
#echo ubi part UBI >> ${DIR_IMAGES}/scripts/[[${UBI_D_NAME}.es
SIZE_IMAGE_UBIFS=`stat --format=%s ${DIR_IMAGES}/${IMAGE_NAME}`
if [ $SIZE_IMAGE_UBIFS -gt 36700160 ]; then
rm ${DIR_IMAGES}/scripts/[[customer.es
echo "# <- this is for comment / total file size must be less than 4KB" > ${DIR_IMAGES}/scripts/[[${UBI_D_NAME}.es
echo ubi part UBI >> ${DIR_IMAGES}/scripts/[[${UBI_D_NAME}.es
split -b 35m ${DIR_IMAGES}/${IMAGE_NAME} -d -a1 ${DIR_IMAGES}/${IMAGE_NAME}.
SPLIT_EACH_FILE_SIZE=0x2300000 #20m=0x1400000 10m=0xA00000 5m=0x500000
for i in `ls ${DIR_IMAGES}|grep customer.ubifs.`; do
if [[ "$i" = "${IMAGE_NAME}.0" ]]; then
SIZE_IMAGE_UBIFS_16="0x`echo "obase=16;${SIZE_IMAGE_UBIFS}"|bc`"
echo -e
echo -e "$i"
echo -e " split -b 35m :${SPLIT_EACH_FILE_SIZE}"
echo -e " total size :${SIZE_IMAGE_UBIFS_16}"
else
SIZE_IMAGE_UBIFS_16=
fi
echo " $i is ready!"
echo tftp ${TFTPDOWNLOADADDR} $i>>${DIR_IMAGES}/scripts/[[${UBI_D_NAME}.es
echo ubi write.part ${TFTPDOWNLOADADDR} ${UBI_D_NAME} ${SPLIT_EACH_FILE_SIZE} ${SIZE_IMAGE_UBIFS_16}>>${DIR_IMAGES}/scripts/[[${UBI_D_NAME}.es
done
echo "% <- this is end of file symbol" >> ${DIR_IMAGES}/scripts/[[${UBI_D_NAME}.es
else
echo "${UBI_D_NAME}.es is not over size,do nothing!!"
fi
fi
}
split_ubifs_for_upgrade customer.ubifs customer
#rm ${DIR_IMAGES}/scripts/[[data.ds