buildroot --- 打 patch
生成 .patch 文件
diff -Naur a/ b/ > xxx.patch
使用 .patch 文件打补丁
patch -p1 < xxx.patch # -p1 表示忽略补丁文件内路径的第一个文件夹,-p0 则表示直接使用补丁文件内完整路径查找文件
撤销打过的补丁
patch -p1 -R < xxx.patch
buildroot 支持的3种常规打补丁方式及其顺序
推荐的常规打补丁方式 - package需要编译时下载
使用第三种方式,把补丁放在 buildroot 之外的路径,路径通过 buildroot 的 make menuconfig 赋值到变量 BR2_GLOBAL_PATCH_DIR
以下是对 strace 打补丁,采用方式2和方式3
推荐的常规打补丁方式 - package 在本地,buildroot 外部 package
在 .mk 文件中添加
define SWT6652X_PRE_BUILD_CMDS $(APPLY_PATCHES) $(@D) $(@D)/ \000*.patch endef SWT6652X_PRE_BUILD_HOOKS += SWT6652X_PRE_BUILD_CMDS
通过执行脚本打补丁 - 非常规
buildroot 提供了一个打补丁的脚本,在 $BUILDROOT_DIR/support/scripts/apply-patches.sh,使用举例:
BUILDROOT_REMO_TOPDIR=/home/chenjinhe/Desktop/newVolume/RK3308/remo # $BUILDROOT_DIR/support/scripts/apply-patches.sh $BUILDROOT_DIR $BUILDROOT_REMO_TOPDIR/utils/buildroot_patchs \*.patch;
buildroot根目录 patch存放目录 patch文件
这种方法可以实现 package 下载前对其打补丁,比如由于某些原因不能直接更换某个package的版本,可以打补丁更换为其他版本,再下载编译
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2021-06-26 openssl --- 生成证书