Navigation

    全志在线开发者论坛

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

    【FAQ】全志R系列如何进行Tina根文件系统定制?

    其它全志芯片讨论区
    r329 r328 faq 技术支持
    1
    1
    329
    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.
    • q1215200171
      budbool LV 8 last edited by

      问题背景

      硬件:R系列公板
      软件:Tina3.0及以上
      说明:该FAQ旨在总结Tina根文件系统的定制方法

      问题简述

      客户需要临时添加或是修改生成的rootfs,但又不想重新去编译整个SDK。

      问题分析

      当前Tina SDK支持make menuconfig和make kernel_menuconfig配置,配置好相应功能后进行编译。在:out/[平台]/compile_dir/target/rootfs路径下生成一个rootfs,再通过out/host/bin/下的命令生成对应文件格式的镜像,默认为:squashfs–>rootfs.img,最后通过打包命令生成固件。

      存在问题:

      • 如果当前需要添加或是修改生成的rootfs,则需要重新配置,编译,打包。
      • 所以针对添加和修改两种不同需求提出根文件系统模板和工具定制功能。

      则需要重新配置,编译,打包。所以针对添加和修改两种不同需求提出根文件系统模板和工具定制功能。

      解决办法

      在build/envsetup.sh中添加add_rootfs_demo和crootfs、recomp_rootfs三条命令。

      根文件系统定制_模板

      Tina/package/add_rootfs_demo
                            |___bin
                            |___sbin
                            |___usr
                               |___bin
                               |___sbin
                            |___sys
                            |___README
                            |___......
                            |___new package
      

      在package目录下新建一个最基础的根文件系统模板(add_rootfs_demo),包括一些常用的空目录和一个README文件,使用时可以在相应目录添加自己的包,然后将该模板复制到第一次编译生成的rootfs中(out/[平台]/compile_dir/target/rootfs),如果此刻有冲突产生,则以该模板新添加的为标准,再重新制作成对应文件系统格式的镜像(此处README文件不会被打包到镜像中),最后重新打包生成新的固件。

      根文件系统定制_工具

      在第一次编译生成的rootfs中(out/[平台]/compile_dir/target/rootfs)直接添加或修改,然后重新调用out/host/bin下的命令生成对应文件格式的镜像,最后重新打包生成新的固件。

      使用介绍

      定制根文件系统模板

      1.将自定义的命令导入环境变量;
      -->source build/envsetup.sh
      2.选择平台;
      -->lunch platform(azalea_m2ultra-tina/tulip_d1-tina/sitar_perf1-tina...)
      3.转到根文件系统模板目录下;
      -->cd package/add-rootfs-demo
      4.添加自己的包,应用程序,文件等;
      -->"add your own package or application"(注:添加的包或应用程序需要编译成可执行文件。)
      5.执行命令重新生成文件系统镜像;
      -->add-rootfs-demo
      6.重新打包;
      -->pack
      7.烧写
      

      定制根文件系统工具

      1.将自定义的命令导入环境变量;
      -->source build/envsetup.sh
      2.选择平台;
      -->lunch platform(azalea_m2ultra-tina/tulip_d1-tina/sitar_perf1-tina...)
      3.第一次配置好menuconfig和kernel_menuconfig后编译;
      -->make kernel_menuconfig
      -->make menuconfig
      -->make
      4.转到第一次生成的rootfs目录下;
      -->crootfs
      5.添加或修改rootfs;
      -->"......"
      6.执行命令重新生成对应文件格式的镜像;
      -->recomp_rootfs
      7.重新打包;
      -->pack
      8.烧写
      
      1 Reply Last reply Reply Quote Share 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  R rockenergytech 
      • 1 / 1
      • First post
        Last post

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

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