diff --git a/tools/scripts/make_rootfs/rootfsimg.sh b/tools/scripts/make_rootfs/rootfsimg.sh index 7d27d640644d486acf991af7f9fdabad126f1ad8..816bbb99cc81a886af0721d371759ad0afb9a87d 100755 --- a/tools/scripts/make_rootfs/rootfsimg.sh +++ b/tools/scripts/make_rootfs/rootfsimg.sh @@ -88,7 +88,9 @@ elif [ "${FSTYPE}" = "vfat" ]; then FAT32_ITEM_SIZE=4 RESV_CNT=38 IMG_MIN_SIZE=1048576 - DIR_SIZE=$(( $(echo $(du -s ${ROOTFS_DIR} | awk '{print $1}')) * 1024 )) + DU_DIR_SIZE=$(( $(echo $(du -s ${ROOTFS_DIR} | awk '{print $1}')) * 1024 )) + DIR_NUM=$(( $(echo $(ls -lR ${ROOTFS_DIR} | grep "^d" | wc -l | awk '{print $1}')) + 1 )) + DIR_SIZE=$(( ${DU_DIR_SIZE} + ${DIR_NUM} * 4096 )) IMG_SIZE=$(( ${DIR_SIZE} / (1 - ${FAT_TAB_NUM} * ${FAT32_ITEM_SIZE} / ${CLT_SIZE}) + ${RESV_CNT} * ${BLK_SIZE})) if [ ${IMG_SIZE} -le ${IMG_MIN_SIZE} ]; then IMG_SIZE=${IMG_MIN_SIZE}