16-Openwrt patch生成

在开源模块的基础上修改代码,更多的时候是通过打补丁的方式进行修改。

1.内核patch生成
1.1 编译内核模块命令

vim 19.07/target/linux/Makefile

prereq clean download prepare compile install menuconfig nconfig oldconfig update refresh: FORCE
    @+$(NO_TRACE_MAKE) -C $(BOARD) $@

清空内核:

make target/linux/clean V=s

解压内核:

make target/linux/prepare V=s

编译,拷贝内核头文件到工具链/19.07/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.3.0_musl/include/linux$

make target/linux/install V=99

放在/19.07/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/linux-4.19.81/include/uapi下面的头文件都会被拷贝到19.07/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/linux-4.19.81/user_headers下面,最后拷贝到/19.07/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.3.0_musl/include/linux$

1.2 生成patch

新建两个目录,原始linux-4.19.81.org/和修改后的linux-4.19.81/

使用如下命令生成patch

diff -Naur linux-4.19.81.org/ linux-4.19.81/ > 3001-add-xxx-support.patch

拷贝到对应的target/linux下

19.07/target/linux/mediatek/patches-4.19/

之后编译的时候,会根据前缀的数值大小一个一个打补丁到源码下面。

2.应用package生成
2.1 编译package模块命令

vim 14.07/package/Makefile文件里有如下定义:

$(eval $(call stampfile,$(curdir),package,prereq,.config))
$(eval $(call stampfile,$(curdir),package,cleanup,$(TMP_DIR)/.build))
$(eval $(call stampfile,$(curdir),package,compile,$(TMP_DIR)/.build))
$(eval $(call stampfile,$(curdir),package,install,$(TMP_DIR)/.build)

清空:

make package/network/services/uhttpd/clean V=99

解压,打patch

make package/network/services/uhttpd/prepare V=99

编译:

make package/network/services/uhttpd/compile V=99

安装,拷贝

make package/network/services/uhttpd/install V=99
2.2 生成patch

新建两个目录,原始uhttpd-2019-08-17-6b03f960.org/和修改后的uhttpd-2019-08-17-6b03f960.81/

使用如下命令生成patch

diff -Naur uhttpd-2019-08-17-6b03f960.org/ uhttpd-2019-08-17-6b03f960/ > 1001-add-xxx-support.patch

在package下面新建patches目录

19.07$ ls package/network/services/uhttpd/
files  Makefile  patches

将生成出来的1001-add-xxx-support.patch拷贝到patches即可。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值