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

时间:2015-05-27 01:25:22

标签: yocto bitbake

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

此致 Mayank

2 个答案:

答案 0 :(得分:2)

所以原始的C文件是发行版tarball(或者git,或者发布版本来自哪里)的一部分,你想在配置和编译之前用你自己的文件替换它?

替换整个文件只是您可能想要执行源文件的任何较小更改的特例,因此只需执行您在这些情况下要执行的操作:创建补丁替换文件并使用{{添加补丁1}}。

我使用这个工作流程(在项目源目录中,例如poky / build / tmp / work / corei7-64-poky-linux / my-project):

SRC_URI += file://replace-file-with-my-file.patch

现在您应该有一个补丁文件,您可以将其复制到正确的配方目录中。

答案 1 :(得分:2)

如果您正在使用jethro(2.0)版本或更高版本,那么devtool modify可能非常有用。假设您已经采购了环境设置脚本:

  1. devtool modify <recipename>
  2. 它会告诉您它将源cd提取到该目录的位置。
  3. 对您想要的文件进行更改 - 这可能会完全覆盖它。
  4. git commit -a提交您的更改
  5. devtool update-recipe <recipename> -a /path/to/your/custom/layer(假设您要在自定义图层中创建bbappend,否则只需省略-a和路径即可将更改应用于原始配方。)
  6. 如果你已经完成了,你可以devtool reset <recipename>将所有内容从元数据中完全恢复建设。