yocto编辑软件包-devtool的使用方法

之前用了很多次devtool,总是忘记用法,故此记录一下。

假设你有一个软件包名叫foo,并且已经下载编译过,需要修改它的源码并生成patch

  1. 生成修改工作区
    devtool modify foo
    modify命令会将foo的源码压缩包解压到build/workspace/sources/下面,并将mate中对应软件包的patch打上(git方式)
  2. 修改源码
    用你习惯的方式修改build/workspace/sources/foo下的源码
  3. 编译验证
    devtool build foo
    build命令只会编译build/workspace/sources/foo这个软件包,不会编译其他的,编译结果在build/tmp/work/{platform}/foo/{version}/build/
  4. 提交代码
    验证通过就可以提交修改了,提交修改一般使用git就行了
    cd build/workspace/sources/foo
    git add .
    git commit
    git log可以查看历史记录,里面会有modify打入的patch记录,想要合并到某个之前的patch上也是可以的,只需要将你的记录合并到patch对应的commit上面即可。
  5. 提交yocto
    上一步还没有真正提交到yocto中,提交到yocto有两种方法
    • 使用devtool
      bitbake-layers show-layers查看自己要提交的layer
      devtool finish --force-patch-refresh foo layer_name提交到layer
    • 手动提交
      使用git生成patch放入mate下面对应软件包中
  6. 清理工作区
    rm -rf build/workspace/sources/foo
  7. 出错复位
    devtool reset foo
相关推荐
划碎、时光13 天前
Yocto 项目下通过网络更新内核、设备树及模块
bsp·yocto
「QT(C++)开发工程师」2 个月前
【Yocto 是一个开源项目】
linux·qt·yocto
bbqz0072 个月前
逆向WeChat(六)
c++·微信·小程序·逆向·mojo·嗅探·抓包https·devtool·sniff
TNT_TT5 个月前
十二、Yocto集成ROS2 app程序(package)
嵌入式·ros·yocto·raspberrypi
TNT_TT7 个月前
十一、Yocto集成tcpdump等网络工具
网络·嵌入式·yocto·tcpdump·raspberrypi
TNT_TT8 个月前
四、Yocto创建静态IP和VLAN(基于raspiberrypi 4B)
yocto·vlan
千册8 个月前
yocto编译测试
yocto
投石8 个月前
yocto系列之理解与创建第一个定制recipe
linux·yocto·ubuntu22.04·构建镜像
TNT_TT1 年前
yocto stm32mp1集成ros
stm32·ros·yocto