这种情况是正常情况.😀 😀 😀
因为Tina 打包工具 打包的root 目录 分区默认就是按照最大占用量进行打包的,为了确保固件的准确。
原本的固件虽然看上去跟文件系统有空间,事实上通过 mount 来查看文件系统的挂载情况
root@TinaLinux:/# mount
/dev/root on /rom type squashfs (ro,noatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=503920k,nr_inodes=125980,mode=755)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
/dev/by-name/UDISK on /overlay type ubifs (rw,relatime,assert=read-only,ubi=0,vol=8)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
none on /sys/kernel/config type configfs (rw,relatime)
adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
其中root 为固件打包分区,默认为全部占用的,而在刚开始看到的/目录,此时则挂载在/overlay目录,而/overlay目录则又是在/根目录中,是怎么回事呢?🤠 🤠 🤠
我们再来测试一下
使用dd if=/dev/zero of=test
读取该节点数据写入 test 文件,of = 指定了文件名在当前文件夹下。
等待写入一会。查看当前文件ls
root@TinaLinux:/# ls
base rom
bin root
dev sbin
etc spec
lib stress
lib64xthead sys
mnt test
overlay tmp
proc usr
rdinit var
riscv64-unknown-linux-gnu www
根文件系统中多了 test 文件,他真的 在跟文件系统中吗?
不是!!!!😁 😁 😁
是不是觉得被忽悠了?别怕 我们再进到 overlay/upper/ 查看文件 ls ohhhhhhhhhh🕵 🕵 🕵 你发现了 Tina 系统跟文件的真谛!!!
root@TinaLinux:/# cd overlay/upper/
root@TinaLinux:/overlay/upper# ls
etc test
总结:Tina打包默认会将rootfs即root目录全部打包完整,而系统剩余的容量会在overlay目录中,在最开始的固件,只是将overlay也映射到了跟文件系统中,铁汁们,后面更新的固件就不要被骗了哦👌 👌 结束