OpenBmc开发8:devtool简介与使用

2022-11-10 17:13:51 浏览数 (4)

大家好,又见面了,我是你们的朋友全栈君。

1 简介

devtool是yocto中的一个工具,此命令行工具作为可扩展SDK(eSDK)的一部分,是基础组件。可以使用devtool来帮助构建,测试和打包eSDK中的软件。可以使用该工具有选择地将构建的内容集成到OpenEmbedded构建系统构建的映像中。一般我们使用该工具主要用于修改源码,在修改后将提交加入到指定的layer中。

2 命令介绍

常用的命令是:

add 添加recipes

modify 提取源码

upgrade 更新recipes

serch 搜索package

3 工作流程

3.1 devtool add

根据现有源代码生成新配方。该命令利用了工作目录下的devtool。该命非常灵活,可让您将源代码提取到工作区或单独的本地Git存储库中,并使用不需要提取的现有代码。依赖于使用场景,使用的参数和选项会devtool add形成不同的组合。下图显示了将与devtool add 命令一起使用的常见开发流程:

  1. devtool edit recipes
  2. devtool build recipes
  3. devtool deploy-target recipes
  4. devtool finish recipes

3.2 devtool modify

devtool modify命令提取代码以用于修改。该命可让提取代码,指定现有配方以及跟踪并收集来自与该代码相关联的其他开发人员的任何补丁文件。下图显示了将与devtool modify 命令一起使用的常见开发流程:

  1. devtool edit recipes
  2. devtool modify softname
  3. devtool build
  4. devtool finish

3.3 devtool upgrade

devtool upgrade命令将更新现有配方,该命令指定源代码修订和版本控制方案,将代码提取到devtool工作空间中或从工作空间中提取代码,以及使用提取程序支持的任何源文件格式。下图显示了将与devtool modify 命令一起使用的常见开发流程:

  1. devtool upgrade
  2. devtool build
  3. devtool deploy-target
  4. devtool finish

4 使用示例

4.1 提取源码

查找软件包

代码语言:javascript复制
bitbake -s | grep <softname>

bitbake -s 命令可以查看全部软件包名。

以提取u-boot为例

代码语言:javascript复制
devtool modify u-boot

提取源码前:

提取源码:

在build文件夹下增加了workspace文件存放源码:

该命令将修改build/conf/bblayers.conf文件,新增加worspace路径:

源码文件夹结构:

appends/u-boot-aspeed_2016.07.bbappend文件是u-boot的recipes

sources/u-boot-aspeed文件夹下是u-boot的源码。

每次修改后执行bitbake命令都会从新编译u-boot。

4.2 删除源码

如果要去除修改:(这里在提取使用u-boot时系统会自动连接到u-boot-aspeed,但是删除时候需要使用u-boot-aspeed否则会报错)

代码语言:javascript复制
devtool reset u-boot-aspeed

执行此命令会删除build/workspace/appends/u-boot-aspeed_2016.07.bbappend文件,而不会删除build/conf/bblayers.conf中的workspace一行,因为此处只删除了u-boot修改,实际使用中可能还要用到修改后的kernel等软件。此外,source下的源码也需要自己手动删除。

注:可以直接手动删除build/workspace/appends/xxx.bbappend文件,同样达到reset命令效果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185647.html原文链接:https://javaforall.cn

0 人点赞