diff --git a/Makefile b/Makefile index 673c0988207dcafe01280a0ca7e87bf50c8b5cc0..0a7cd5af7e02d92df0f43757ae1946a71ff84105 100644 --- a/Makefile +++ b/Makefile @@ -165,13 +165,13 @@ endif $(ROOTFSDIR): prepare $(APPS) $(HIDE)$(MAKE) clean -C apps - $(HIDE)$(shell $(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsdir.sh $(OUT)/bin $(OUT)/musl $(ROOTFS_DIR)) + $(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsdir.sh $(OUT)/bin $(OUT)/musl $(ROOTFS_DIR) ifneq ($(VERSION),) - $(HIDE)$(shell $(LITEOSTOPDIR)/tools/scripts/make_rootfs/releaseinfo.sh "$(VERSION)" $(ROOTFS_DIR)) + $(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/releaseinfo.sh "$(VERSION)" $(ROOTFS_DIR) endif $(ROOTFS): $(ROOTFSDIR) - $(HIDE)$(shell $(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsimg.sh $(ROOTFS_DIR) $(FSTYPE)) + $(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsimg.sh $(ROOTFS_DIR) $(FSTYPE) $(HIDE)cd $(ROOTFS_DIR)/.. && zip -r $(ROOTFS_ZIP) $(ROOTFS) ifneq ($(OUT), $(LITEOS_TARGET_DIR)) $(HIDE)mv $(ROOTFS_DIR) $(LITEOS_TARGET_DIR)rootfs diff --git a/tools/fsimage/mkfs.jffs2 b/tools/fsimage/mkfs.jffs2 deleted file mode 100755 index 1d6e2e673d9e97afbb05079c1e498644afadce60..0000000000000000000000000000000000000000 Binary files a/tools/fsimage/mkfs.jffs2 and /dev/null differ diff --git a/tools/scripts/make_rootfs/rootfsimg.sh b/tools/scripts/make_rootfs/rootfsimg.sh index 733ed41c034ee9320d6bd6fc98393e87dcb5d1e4..f3ca588d742950a56fabf8034b6ffad82a1facb7 100755 --- a/tools/scripts/make_rootfs/rootfsimg.sh +++ b/tools/scripts/make_rootfs/rootfsimg.sh @@ -34,26 +34,42 @@ system=$(uname -s) ROOTFS_DIR=$1 FSTYPE=$2 ROOTFS_IMG=${ROOTFS_DIR}".img" -JFFS2_TOOL=$(dirname $(readlink -f "$0"))/../../fsimage/mkfs.jffs2 -WIN_JFFS2_TOOL=$(dirname $(readlink -f "$0"))/../../fsimage/win-x86/mkfs.jffs2.exe +JFFS2_TOOL=mkfs.jffs2 +WIN_JFFS2_TOOL=mkfs.jffs2.exe +VFAT_TOOL=mkfs.vfat +MCOPY_TOOL=mcopy -if [ "${ROOTFS_DIR}" = "*rootfs" ]; then - chmod -R 755 ${ROOTFS_DIR} +tool_check() { +local ret='0' +command -v "$1" >/dev/null 2>&1 || { local ret='1'; } +if [ "$ret" -ne 0 ]; then + echo "$1 tool is not exit, please install it" >&2 +fi +return 0 +} + +chmod -R 755 ${ROOTFS_DIR} +if [ -f "${ROOTFS_DIR}/bin/init" ]; then chmod 700 ${ROOTFS_DIR}/bin/init 2> /dev/null +fi +if [ -f "${ROOTFS_DIR}/bin/shell" ]; then chmod 700 ${ROOTFS_DIR}/bin/shell 2> /dev/null fi if [ "${FSTYPE}" = "jffs2" ]; then if [ "${system}" != "Linux" ] ; then + tool_check ${WIN_JFFS2_TOOL} ${WIN_JFFS2_TOOL} -q -o ${ROOTFS_IMG} -d ${ROOTFS_DIR} --pagesize=4096 else - chmod +x ${JFFS2_TOOL} + tool_check ${JFFS2_TOOL} ${JFFS2_TOOL} -q -o ${ROOTFS_IMG} -d ${ROOTFS_DIR} --pagesize=4096 fi elif [ "${FSTYPE}" = "vfat" ]; then if [ "${system}" != "Linux" ] ; then - echo "Unsupported fs type!" + echo "Unsupported fs type!" >&2 else + tool_check ${VFAT_TOOL} + tool_check ${MCOPY_TOOL} BLK_SIZE=512 CLT_SIZE=2048 FAT_TAB_NUM=2 @@ -73,9 +89,9 @@ elif [ "${FSTYPE}" = "vfat" ]; then IMG_CNT=$(( (${IMG_SIZE} + ${BLK_SIZE} - 1) / ${BLK_SIZE} )) echo mtools_skip_check=1 >> ~/.mtoolsrc dd if=/dev/zero of=${ROOTFS_IMG} count=${IMG_CNT} bs=${BLK_SIZE} - mkfs.vfat ${ROOTFS_IMG} -s ${CLT_CNT} -f ${FAT_TAB_NUM} -S ${BLK_SIZE} > /dev/null - mcopy -i ${ROOTFS_IMG} ${ROOTFS_DIR}/* -/ ::/ + ${VFAT_TOOL} ${ROOTFS_IMG} -s ${CLT_CNT} -f ${FAT_TAB_NUM} -S ${BLK_SIZE} > /dev/null + ${MCOPY_TOOL} -i ${ROOTFS_IMG} ${ROOTFS_DIR}/* -/ ::/ fi else - echo "Unsupported fs type!" + echo "Unsupported fs type!" >&2 fi