使用devtool生成规范补丁
先用deyaio的mkproject.sh创建项目,比如项目目录在deyaio/dey5.0/workspace/ccmp25rtsp
拉取源码 devtool modify mjpg-streamer 如果之前有错误的补丁,可以先在bb里把它删除,以便重新生成,或是用增加补丁的方式 上面命令会在deyaio/dey5.0/workspace/ccmp25rtsp/workspace/sources/下拉取配方mjpg-streamer中所用到git项目的源码, 使用vscode编辑,并用git管理变更, 如果已经在开发,防止本地的变更被覆盖,用devtool modify --no-extract mjpg-streamer 构建并验证修改: devtool build mjpg-streamer # 创建空工作区(推荐使用绝对路径) devtool create-workspace --layerseries dey5.0 ../workspace-dev # 在开发层目录执行 cd ~/deyaio/dey5.0/workspace-dev devtool modify ccmp25 # 修改源码(推荐在sources/ccmp25目录操作) vi sources/ccmp25/src/file.c # 生成规范补丁 devtool generate-patch ccmp25 # 在meta-devtool目录初始化Git cd workspace-dev/meta-devtool git init git add devtool git commit -m "Initial devtool configuration" # 配置自动清理旧补丁(保留最近5个) devtool clean-patches --keep 5 ccmp25
配方中已有补丁,只是和源码不匹配,则
cd ~/deyaio/dey5.0/workspace devtool modify mjpg-streamer # 查看补丁应用状态 bitbake -c patch mjpg-streamer # 查看补丁冲突(推荐) patch --dry-run -p1 < meta-custom/recipes-multimedia/mjpg-streamer/files/0001-Fix-SDL2-support.patch