前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenBmc开发8:devtool简介与使用

OpenBmc开发8:devtool简介与使用

作者头像
全栈程序员站长
发布2022-11-10 17:13:51
2.4K0
发布2022-11-10 17:13:51
举报

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

1 简介

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

2 命令介绍

常用的命令是:

add 添加recipes

modify 提取源码

upgrade 更新recipes

serch 搜索package

OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

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
OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

3.2 devtool modify

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

  1. devtool edit recipes
  2. devtool modify softname
  3. devtool build
  4. devtool finish
OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

3.3 devtool upgrade

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

  1. devtool upgrade
  2. devtool build
  3. devtool deploy-target
  4. devtool finish
OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

4 使用示例

4.1 提取源码

查找软件包

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

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

以提取u-boot为例

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

提取源码前:

OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

提取源码:

OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

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

OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

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

OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

源码文件夹结构:

OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

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
OpenBmc开发8:devtool简介与使用
OpenBmc开发8:devtool简介与使用

执行此命令会删除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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月5日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 简介
  • 2 命令介绍
  • 3 工作流程
    • 3.1 devtool add
      • 3.2 devtool modify
        • 3.3 devtool upgrade
        • 4 使用示例
          • 4.1 提取源码
            • 4.2 删除源码
            相关产品与服务
            命令行工具
            腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档