From f2733b7bf062d8f560bfdc8b4583d21680351f01 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Sun, 12 Jun 2022 17:08:24 +0800 Subject: [PATCH] update rootfs & images build shell script, use rsync instead tar to install rootfs --- bsp/images/igkboard.json | 3 --- bsp/images/build.sh | 7 +++++-- bsp/kernel/build.sh | 2 +- bsp/rootfs/build.sh | 19 ++++++++++--------- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/bsp/images/build.sh b/bsp/images/build.sh index 79e7f7b..224f97e 100755 --- a/bsp/images/build.sh +++ b/bsp/images/build.sh @@ -34,6 +34,9 @@ # vfat boot partition 100MB BOOT_SIZE=`jq -r ".BOOT_CONF.BOOT_PART" $JSON_CONF` +# rootfs directory +ROOTFS_PATH=${PRJ_PATH}/../rootfs/${ROOTFS_DIR} + MNT_POINT=./mnt LOOP_DEV=`losetup -f | cut -d/ -f3` @@ -115,10 +118,10 @@ function install_rootfs() { - pr_warn "install root filesystem " + pr_warn "install root filesystem ${ROOTFS_PATH}" mount -t ext4 /dev/mapper/${LOOP_DEV}p2 ${MNT_POINT} - do_install_json $JSON_CONF "BOOT_ROOTFS" + rsync -arz ${ROOTFS_PATH}/* ${MNT_POINT} sync umount ${MNT_POINT} } diff --git a/bsp/images/igkboard.json b/bsp/images/igkboard.json index 57466af..50a2ce5 100644 --- a/bsp/images/igkboard.json +++ b/bsp/images/igkboard.json @@ -16,8 +16,5 @@ "${PRJ_PATH}/boot/*${BOARD}*.dtb":"${MNT_POINT}", "${PRJ_PATH}/boot/overlays":"${MNT_POINT}", "${PRJ_PATH}/boot/config*.txt":"${MNT_POINT}" - }, - "BOOT_ROOTFS": { - "${PRJ_PATH}/../rootfs/${ROOTFS_DIR}.tar.bz2":"${MNT_POINT}" } } diff --git a/bsp/kernel/build.sh b/bsp/kernel/build.sh index b3aec4d..63a4b14 100755 --- a/bsp/kernel/build.sh +++ b/bsp/kernel/build.sh @@ -144,7 +144,7 @@ esac done -#defualt do build action +#default do build action do_fetch do_patch diff --git a/bsp/rootfs/build.sh b/bsp/rootfs/build.sh index 13f7c61..33f7488 100755 --- a/bsp/rootfs/build.sh +++ b/bsp/rootfs/build.sh @@ -175,6 +175,9 @@ function do_install() { + # Remove lib/modules first + rm -rf $ROOTFS_DIR/lib/modules/* + # apt install extra packet for debian rootfs if [ $SYSTEM == "debian" ] ; then do_debian_apt @@ -185,7 +188,6 @@ elif [ $SYSTEM == "buildroot" ] ; then do_install_json $JSON_CONF SYS_BUILDROOT.INSTALL_FILES fi - } function do_config() @@ -228,11 +230,6 @@ function do_pack() { - if [ -f ${ROOTFS_DIR}.tar.bz2 ] ; then - pr_warn "rootfs already generate, skip it" - return ; - fi - pr_warn "start generate $SYSTEM($DISTRO) rootfs packet" cd ${ROOTFS_DIR} @@ -256,7 +253,6 @@ do_fetch do_install do_config - do_pack } function do_root() @@ -277,8 +273,9 @@ { echo "" echo "Usage:" - echo " $0 [-b] [-c] [-h]" + echo " $0 [-b] [p] [-c] [-h]" echo " -b: download and build $PRJ_NAME" + echo " -p: packet the rootfs tree source" echo " -c: clean all the source code" echo " -h: show this help message" echo "" @@ -287,13 +284,17 @@ exit; } -while getopts "bch" OPTNAME +while getopts "bpch" OPTNAME do case "${OPTNAME}" in "b") break; ;; + "p") + do_pack + ;; + "c") do_root "yes" do_distclean -- Gitblit v1.9.1