前言
这两年的都是基于openwrt系统进行开发,用到了上边很多的开源软件,但是有时候又不太符合自己的需要,所以就需要做一些定制化开发,这时候就采取给源码打补丁的方式。
打补丁步骤
以netifd(netifd/patches/006-check-before-add-device.patch)模块为例, 要给 netifd/device.c文件打补丁,进入编译目录(build_dir/target-x86_64_musl),将旧的device_old.c 与新的 device.c文件放在netifd目录下, 执行命令:
diff -Naru oldfile newfile > patchfile.patch
然后将生成的补丁文件放在gros/package/network/config/netifd/patches目录下,并重命名,需要在其他的补丁文件之后执行。如下:
ls
001-add-ovs-bridge.patch 002-add-device-hotplug.patch 003-append-ovs-bridge-aging-time.patch 004-add-device-state-hotplug.patch 005-add-specify-interface-dump.patch 006-check-before-add-device.patch
补丁的执行顺序
openwrt中编译顺序:先在build /target 目录下创建模块目录,然后解压,之后遍历patches下所有文件打补丁到源码中,最后执行进入目录编译。如下:
这样源码已经被修改。