Buildroot下对package打补丁的方法

在有些情况下,由于版本和软件环境的问题,需要对buildroot中构建的软件包修改之后才能编译通过。这个时候如果直接修改buildroot中build文件夹下的源文件,虽然可以编译通过,但一旦clean之后,又无法编译通过了,这个时候就需要对package进行补丁操作了。

buildroot构建正常情况都是在buildroot/output/build目录下进行的,这个目录下会有许多软件包,如果编译过程中报错,则需要进入到对应的软件中,找到报错或者需要补丁的文件。这里我以host-systemd为例;

进入buildroot/output/build/host-systemd-254.9目录,先备份未修改的原始文件;

cd buildroot/output/build/host-systemd-254.9
mkdir -p ../tmp_systemd/
cp src/basic/missing_loop.h ../tmp_systemd/

修改原始文件:vi src/basic/missing_loop.h,比如,我加入如下的代码:

修改完后保存退出。这个时候,源文件和刚刚备份的文件就有了差异,我们可以使用diff命名把差异生成patch文件;

cd buildroot/output/build

diff -uNr tmp_systemd/missing_loop.h host-systemd-254.9/src/basic/missing_loop.h > tmp_systemd/0003_fix_missing_loop.patch

这个patch文件就是我们需要的补丁文件了。把这个patch放在buildroot下package对应的目录中,就可以了,下次编译的时候,buildroot会自动先打patch再进行编译;

cp 0003_fix_missing_loop.patch ../../../../buildroot/package/systemd/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mr_xiaogui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值