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 命令一起使用的常见开发流程:
- devtool edit recipes
- devtool build recipes
- devtool deploy-target recipes
- devtool finish recipes
3.2 devtool modify
devtool modify命令提取代码以用于修改。该命可让提取代码,指定现有配方以及跟踪并收集来自与该代码相关联的其他开发人员的任何补丁文件。下图显示了将与devtool modify 命令一起使用的常见开发流程:
- devtool edit recipes
- devtool modify softname
- devtool build
- devtool finish
3.3 devtool upgrade
devtool upgrade命令将更新现有配方,该命令指定源代码修订和版本控制方案,将代码提取到devtool工作空间中或从工作空间中提取代码,以及使用提取程序支持的任何源文件格式。下图显示了将与devtool modify 命令一起使用的常见开发流程:
- devtool upgrade
- devtool build
- devtool deploy-target
- 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命令效果。
OpenBmc开发8:devtool简介与使用相关推荐
- 【OpenBMC 系列】1.OpenBMC 开发环境搭建
目标: 安装Linux 系统,推荐使用Ubuntu18+,作为开发环境. 安装Qemu 作为bmc运行的虚拟机. 受众:熟悉 Linux 和 BMC 的程序员 先决条件:当前的 Linux.Mac 或 ...
- Clojure开发OpenCV的简介
Clojure开发OpenCV的简介 Clojure开发OpenCV的简介 我们将在本教程中做什么 前言 安装Leiningen 安装localrepo Leiningen插件 将特定于Java的li ...
- 【物联网(IoT)开发】Arduino 简介
Arduino 的开源.开放.廉价.简单.跨平台等特点使其快速发展起来,成为学习微控制器的首选,成为物联网(IoT)开发的重要组成部分,通过Arduino我们可以从各种传感器感知世界,也可以控制各种执 ...
- STM32F4开发板硬件简介
参考:STM32F4开发板硬件平台简介 作者:SKY丶丿平才 发布时间: 2021-03-20 10:44:41 网址:https://blog.csdn.net/weixin_48264057/ar ...
- T2080 U-BOOT与OS内核移植 准备篇(一)——开发调试环境简介
T2080 U-BOOT与OS内核移植 准备篇(一)--开发调试环境简介 1.本项目选择的工具 2.几个常用工具简介 2.1 Trace32 2.2 Code Warrior 2.3 QorIQ Li ...
- openbmc开发28:fru配置和测试
在openbmc开发23:添加fru信息到ipmi中说明了如何将fru信息添加到ipmi中,本文将讲述如何生成fru以及fru信息获取展示以及修改等. 1 yaml配置文件转换成cpp 在软件包下有一 ...
- openbmc开发-->aspeed-->slave-i2c[ast2400]
openbmc开发-->aspeed-->slave-i2c[ast2400] 前言 ast2400 内核修改启用i2c从机模拟eeprom 测试驱动 ast2400 i2c-aspeed ...
- 树莓派4b入门之开发RFID系统—简介、搭建MFRC522-SPI环境
树莓派4b入门之开发RFID系统-简介.搭建MFRC522-SPI环境 一.系统简介 二.模块连接 1.引脚定义 2.接口对应关系 三.搭建接口环境 1.开启SPI 2.模块功能设计 3.安装SPI ...
- 品高应用开发平台:简介
品高应用开发平台:简介 品高应用开发平台旨在提升公司的项目开发效率.积累公司的开发技术.统一公司的开发模式而提出的一个对开发.设计.运行时进行全面支撑的完整体系.我们推出该平台的目标是:每天为每位开发 ...
最新文章
- 侧滑抽屉菜单 FlowingDrawer
- 【一周入门MySQL—5】
- Petalinux 2018.2 for Xilinx
- Spring MVC:使用SimpleUrlHandlerMapping的一个简单例子
- hbase java api count_HBase内置过滤器java api的总结
- mysql中对比月_详解Mysql中日期比较大小的方法
- 在Ubuntu Linux下安装Tomcat
- Oracle数据库重启后密码失效的问题(r12笔记第91天)
- torch.round()
- static 和 visibility hidden 的区别
- 《solidity学习笔记》chapter 2-solidity基础知识
- 基于sisotool极点配置PI参数及基于Plecs的三相电压源逆变器仿真
- Jmeter小程序压力测试案例
- SharePoint Log分析 —— HRESULT: 0x8007007E
- Ant Design Charts绘制中国地图并动态添加标记点
- visio文本框输入公式
- 华为双前置摄像头_华为nova7 Pro的前置是两个摄像头吗?自拍功能咋样
- 编写js找到一个字符串中指定子字符串的所有位置
- 【Unity-讲座笔记】江毅冰:从游戏到实时电影
- TypeScript报错Object is possibly ‘undefined‘
热门文章
- Go Signal信号
- apache进程数不断增多是什么原因造成的呢?
- Python:设置不显示Using TensorFlow backend及FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of typ
- 【Python之正则表达式与JSON】
- LeetCode(6)-Python-Z 字形变换(zigzag-conversion)
- 《算法交易与套利交易》
- python与医学统计_医学统计思维-数据库
- 管理学定律四:手表定律与破窗理论
- 贝叶斯网络的python实现:Monty Hall问题的求解
- 二分图的Hall定理