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