Tina镜像打包分区状态的异常(根文件系统占用满了???)
-
在Tina固件配置打包的过程中由于开启了Tina相对比较多的demo和功能包,所以使用SDK默认的分区大小已然不够用,通过查看pack日志发现
ERROR: dl_file_size = 88576 sector ERROR: part_size = 40824 sector
需要88576 KB 的分区size 设置中只有 40824 size 所以将分区进行改大。将rootfs 改为
120824KB[partition] name = rootfs size = 120824 downloadfile = "rootfs.fex" user_type = 0x8000
可以pack成功,此时Tina的跟文件系统只有43.3M 且占用率为100%。
root@TinaLinux:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 43.3M 43.3M 0 100% / devtmpfs 492.1M 0 492.1M 0% /dev tmpfs 496.2M 0 496.2M 0% /tmp /dev/ubi0_8 80.5M 24.0K 76.4M 0% /mnt/UDISK
而默认的Tina固件,跟文件系统占用情况如下,还有多出来的/dev 中的空间是什么呢???
/dev/root 15.8M 15.8M 0 100% /rom devtmpfs 492.1M 0 492.1M 0% /dev tmpfs 496.2M 32.0K 496.2M 0% /tmp /dev/by-name/UDISK 172.4M 40.0K 172.4M 0% /overlay overlayfs:/overlay 172.4M 40.0K 172.4M 0% /
-
这种情况是正常情况.
因为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
也映射到了跟文件系统中,铁汁们,后面更新的固件就不要被骗了哦 结束
Copyright © 2023 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号