全志科技
直播中

陈博

14年用户 591经验值
擅长:12268
私信 关注
[问答]

Tina根文件系统的定制方法总结

  • 客户需要临时添加或是修改生成的rootfs,但又不想重新去编译整个SDK。
    当前tina SDK支持make menuconfig和make kernel_menuconfig配置,配置好相应功能后进行编译。在:out/[平台]/compile_dir/target/rootfs路径下生成一个rootfs,再通过out/host/bin/下的命令生成对应文件格式的镜像,默认为:squashfs–>rootfs.img,最后通过打包命令生成固件。
    存在问题:
    • 如果当前需要添加或是修改生成的rootfs,则需要重新配置,编译,打包。
    • 所以针对添加和修改两种不同需求提出根文件系统模板和工具定制功能。
    则需要重新配置,编译,打包。所以针对添加和修改两种不同需求提出根文件系统模板和工具定制功能。

回帖(1)

张倩

2021-12-29 11:44:21
解决办法
在build/envsetup.sh中添加add_rootfs_demo和crootfs、recomp_rootfs三条命令。
根文件系统定制_模板



Tina/package/add_rootfs_demo
                      |___bin
                      |___***in
                      |___usr
                         |___bin
                         |___***in
                      |___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.烧写
举报

更多回帖

发帖
×
20
完善资料,
赚取积分