在yocto环境中添加新文件以替换现有文件
我正在尝试添加新的c文件,以取代从git下载包后已经出现的文件。尝试了bbappend,但原始文件仍然存在。还修改了src_uri+=file://fileone.c 但这也不是覆盖文件。 任何建议都会大有帮助 问候在yocto环境中添加新文件以替换现有文件,yocto,bitbake,Yocto,Bitbake,我正在尝试添加新的c文件,以取代从git下载包后已经出现的文件。尝试了bbappend,但原始文件仍然存在。还修改了src_uri+=file://fileone.c 但这也不是覆盖文件。 任何建议都会大有帮助 问候 Mayank那么原始的C文件是发布tarball(或git,或发布版本的任何地方)的一部分,您想在配置和编译之前用自己的文件替换该文件吗 替换整个文件只是对源文件进行较小更改的一种特殊情况,因此只需执行在这些情况下的操作:创建一个补丁替换文件,并使用SRC_URI+=file://
Mayank那么原始的C文件是发布tarball(或git,或发布版本的任何地方)的一部分,您想在配置和编译之前用自己的文件替换该文件吗 替换整个文件只是对源文件进行较小更改的一种特殊情况,因此只需执行在这些情况下的操作:创建一个补丁替换文件,并使用
SRC_URI+=file://replace-file-with-my-file.patch
我使用这个工作流程(在项目源目录中,例如poky/build/tmp/work/corei7-64-poky-linux/my project):
#初始化git(仅当这不是git回购协议时)
初始化
git添加*
git提交-m“原始代码”
#如果您使用的是jethro(2.0)或更高版本,这就是devtool modify
非常有用的地方。假设您已经获取了环境设置脚本的源代码:
devtool修改
它将告诉您它在哪里将源-cd
提取到该目录中
对文件进行所需的更改-这可能会完全覆盖它
git commit-a
提交更改
devtool更新配方-a/path/to/your/custom/layer
(假设您想在自定义层中创建bbappend,否则只需省略-a
和路径即可将更改应用于原始配方)
如果完全完成,则可以devtool reset
将所有内容完全从元数据放回构建中
这个很好用。但是这个方法可以用于添加安装附件吗?或者我们必须手工写在生成的BBS上?
# initialize git (only if this is not a git repo already)
git init
git add *
git commit -m "original code"
# <--- here you should replace the file
git commit -a -m "Replace file with a better file"
git format-patch -1