写在前面:
openwrt中内核代码是存放在dl文件夹下的压缩包中的,编译代码时会将源码解压缩出来并打上已存在的内核补丁,然后才进行编译,所以直接在编译目录中修改代码或者直接修改压缩包中的代码都是不合适的。 mt7688的源代码中已经包含了很多内核的补丁包,有兴趣的可以去目录targetlinuxamipspatches-3.18中查看。 本文主要介绍如何通过打补丁的方式修改内核源码。
还原代码到初始状态:
清除编译过的内核代码:
make target/linux/clean V=s
解压缩内核并打上已存在的补丁:
make target/linux/prepare V=s
创建补丁:
进入内核编译目录:
cd build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7688/linux-3.18.109/
新建补丁:
quilt new platform/999-support.patch
补丁名称最前面的数字表示加载的顺序,数字越小的越先加载;
添加补丁文件修改:
假设这次需要修改文件drivers/usb/serial/option.c,使用如下命令打开该文件:
quilt edit drive