Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    Tina镜像打包分区状态的异常(根文件系统占用满了???)

    MR Series
    3
    4
    1614
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • BedRock
      BedRock LV 6 last edited by

      在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% /
      
      1 Reply Last reply Reply Quote Share 0
      • BedRock
        BedRock LV 6 last edited by

        这种情况是正常情况.😀 😀 😀
        因为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也映射到了跟文件系统中,铁汁们,后面更新的固件就不要被骗了哦👌 👌 结束

        1 Reply Last reply Reply Quote Share 1
        • Q
          Qzzx_dhh LV 2 last edited by

          59f5d367-9ce0-4e86-9c43-fca51a097c89-image.png

          老哥你这个修改的文件在哪里啊?我也遇到不能打包。提示文件太大了

          J 1 Reply Last reply Reply Quote Share 0
          • J
            jasonzhang LV 5 @Qzzx_dhh last edited by

            @qzzx_dhh 对于tina,这个目录一般在device/config/chips/[所属芯片]/configs/[所属board]/[文件系统]/sys_partitions.fex;
            我用的创龙的t113-evm, 修改目录是device/config/chips/t113_i/configs/tlt113-evm-nand/buildroot;按照自己的实际情况修改

            1 Reply Last reply Reply Quote Share 0
            • 1 / 1
            • First post
              Last post

            Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

            行为准则 | 用户协议 | 隐私权政策