hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
mk-rootfs.sh
....@@ -1,54 +1,28 @@
11 #!/bin/bash -e
2
-#TARGET_ROOTFS_DIR=/home/data/rootfs/rk356x/ubuntu20-lxde/lxde_ubuntu20_rootfs
3
-#TARGET_ROOTFS_DIR=/home/data/rootfs/rk356x/debian10/rk3568_likong
4
-#TARGET_ROOTFS_DIR=/home/data/rootfs/rk3399/rk3588_ubuntu22_lite
5
-TARGET_ROOTFS_DIR=/home/data/rootfs/rk3588/ubuntu20.04
6
-#TARGET_ROOTFS_DIR=/home/data/rootfs/rk3588/debian11_5.10
7
-MOUNTPOINT=./temp
8
-ROOTFSIMAGE=rootfs.ext4
9
-OUT=$PWD/tools/linux/Linux_Pack_Firmware/rockdev/Image/
2
+
3
+#TARGET_ROOTFS_DIR=./binary
4
+TARGET_ROOTFS_DIR=/home/data/rootfs/rk3588/ubuntu18.04_xen/rootfs
5
+ROOTFSIMAGE=rockdev/rootfs.ext4
6
+
107
118 echo Making rootfs!
129
13
-if [ -e ${ROOTFSIMAGE} ]; then
14
- rm ${ROOTFSIMAGE}
15
-fi
16
-if [ -e ${MOUNTPOINT} ]; then
17
- rm -r ${MOUNTPOINT}
10
+if [ -e ${ROOTFSIMAGE} ]; then
11
+ sudo rm ${ROOTFSIMAGE}
1812 fi
1913
20
-# Create directories
21
-mkdir ${MOUNTPOINT}
22
-dd if=/dev/zero of=${ROOTFSIMAGE} bs=1M count=0 seek=4300
14
+#for script in ./post-build.sh ../device/rockchip/common/post-build.sh; do
15
+# [ -x $script ] || continue
16
+# sudo $script "$(realpath "$TARGET_ROOTFS_DIR")"
17
+#done
2318
24
-finish() {
25
- sudo umount ${MOUNTPOINT} || true
26
- echo -e "\e[31m MAKE ROOTFS FAILED.\e[0m"
27
- exit -1
28
-}
19
+# Apparent size + maxium alignment(file_count * block_size) + maxium journal size
20
+IMAGE_SIZE_MB=$(( $(sudo du --apparent-size -sm ${TARGET_ROOTFS_DIR} | cut -f1) + \
21
+ $(sudo find ${TARGET_ROOTFS_DIR} | wc -l) * 4 / 1024 + 64 ))
2922
30
-echo Format rootfs to ext4
31
-mkfs.ext4 ${ROOTFSIMAGE}
23
+# Extra 10%
24
+IMAGE_SIZE_MB=$(( $IMAGE_SIZE_MB * 103 / 100 ))
3225
33
-echo Mount rootfs to ${MOUNTPOINT}
34
-sudo mount ${ROOTFSIMAGE} ${MOUNTPOINT}
35
-trap finish ERR
36
-
37
-echo Copy rootfs to ${MOUNTPOINT}
38
-sudo cp -rvfp ${TARGET_ROOTFS_DIR}/* ${MOUNTPOINT}
39
-sync
40
-
41
-
42
-echo Umount rootfs
43
-sudo umount ${MOUNTPOINT}
26
+sudo mkfs.ext4 -d ${TARGET_ROOTFS_DIR} ${ROOTFSIMAGE} ${IMAGE_SIZE_MB}M
4427
4528 echo Rootfs Image: ${ROOTFSIMAGE}
46
-
47
-e2fsck -p -f ${ROOTFSIMAGE}
48
-resize2fs -M ${ROOTFSIMAGE}
49
-
50
-#[ ! -d ${OUT} ] && mkdir ${OUT}
51
-cp $ROOTFSIMAGE ${OUT}
52
-
53
-unlink $ROOTFSIMAGE
54
-cd ..