OpenBmc开发8:devtool简介与使用

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 提取源码

查找软件包

bitbake -s | grep <softname>

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

以提取u-boot为例

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否则会报错)

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命令效果。

 

猜你喜欢

转载自blog.csdn.net/qq_34160841/article/details/107287365