Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在yocto环境中添加新文件以替换现有文件_Yocto_Bitbake - Fatal编程技术网

在yocto环境中添加新文件以替换现有文件

在yocto环境中添加新文件以替换现有文件,yocto,bitbake,Yocto,Bitbake,我正在尝试添加新的c文件,以取代从git下载包后已经出现的文件。尝试了bbappend,但原始文件仍然存在。还修改了src_uri+=file://fileone.c 但这也不是覆盖文件。 任何建议都会大有帮助 问候 Mayank那么原始的C文件是发布tarball(或git,或发布版本的任何地方)的一部分,您想在配置和编译之前用自己的文件替换该文件吗 替换整个文件只是对源文件进行较小更改的一种特殊情况,因此只需执行在这些情况下的操作:创建一个补丁替换文件,并使用SRC_URI+=file://

我正在尝试添加新的c文件,以取代从git下载包后已经出现的文件。尝试了bbappend,但原始文件仍然存在。还修改了src_uri+=file://fileone.c 但这也不是覆盖文件。 任何建议都会大有帮助

问候
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