tina sdk的T113 PRO rootfs文件系统大小设置

使用https://gitee.com/weidongshan/100ASK_T113-Pro_TinaSDK.git的板级扩展补丁,编译T113_PRO开发板的NAND FLASH镜像,镜像有44Mb,但是root的36Mb占用100%,只有overlay的1.4Mb可用,我想修改rootfs的分区大小应该在哪里修改呢

你好,拍照看一下主板 和 spi flash 部分

板子这会没有带在身边,买的是这款链接的红色基础套餐,spi flash是128Mb的nand flash

https://item.taobao.com/item.htm?_u=c1khu6cobccf&id=677988583398&skuId=5044664287579&spm=a1z09.2.0.0.1b512e8dNYCwZi

这种情况是正常情况.
因为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 文件,他真的 在跟文件系统中吗?
不是!!!! :grin: :grin: :grin:
是不是觉得被忽悠了?别怕 我们再进到 overlay/upper/ 查看文件 ls ohhhhhhhhhh :sleuth_or_spy: :sleuth_or_spy: :sleuth_or_spy: 你发现了 Tina 系统跟文件的真谛!!

root@TinaLinux:/# cd overlay/upper/
root@TinaLinux:/overlay/upper# ls
etc   test

总结:Tina打包默认会将rootfs即root目录全部打包完整,而系统剩余的容量会在overlay目录中,在最开始的固件,只是将overlay也映射到了跟文件系统中,铁汁们,后面更新的固件就不要被骗了哦:ok_hand: :ok_hand: 结束

关于overlay和rootfs的关系我已经了解,我现在是想修改overlay分区的大小,这个分区从启动log来看是从rootfs_data上挂载出来的,关于rootfs_data分区的大小设置,我的理解应该是在device/config/chips/t113/configs/100ask/sys_partition.fex文件中,事实上我修改此文件中的62行的rootfs分区大小之后可以明显看到最终pack的img的size发生改变,说明此文件确实就是T113_Pro开发板的分区设置文件,但是我修改此文件的86行rootfs_data的size大小,对最终的overlay分区并不产生影响,所以我的疑问是overlay分区的size是在哪里修改呢?

准确来说 是自动 填充的,无法进行设置,除非 拟增加新的分区, 指定特定的大小 才可以