1.copy内核代码到一个干净的linux系统目录下,比如系统压缩文件为:thd_linux_3.12.17.tar.gz
2.解压系统thd_linux_3.12.17.tar.gz,tar -zxvf thd_linux_3.12.17.tar.gz;解压系统后将系统文件夹重新命名为thd_linux_3.12.17_org
3.解压系统thd_linux_3.12.17.tar.gz,tar -zxvf thd_linux_3.12.17.tar.gz;解压系统后将系统文件夹重新命名为thd_linux_3.12.17_new
4.打补丁之前应该明白之前有人打过补丁才对,如果之前没人打过补丁则跳过这一步。
先找到之前打的补丁文件即patch文件,将这个补丁文件中的代码修改项修改到thd_linux_3.12.17_new,修改命令如下:
cd thd_linux_3.12.17_new
patch -p1 < $(KERNELPATCHFILE);
$(KERNELPATCHFILE)这个是旧的patch补丁文件的包含文件名的完整路径。patch命令和后面的diff命令都是linux系统自带命令。
5.将新增的内核代码(即需要修改的代码)添加到thd_linux_3.12.17_new文件夹下。可以采用比较工具移动就行。此时thd_linux_3.12.17_new中保存的就是和thd_linux_3.12.17_org存在区别的代码了。
6.制作补丁文件,命令如下:
diff -Naur thd_linux_3.12.17_org/ thd_linux_3.12.17_new > des.patch;
7.将旧的patch文件修改名字为temp.patch,并将新的patch文件名修改为和旧的一致。
注意:编译的时候可能会有些报错,这时候可以比较一下旧的patch文件和新的patch文件,可能是
diff -Naur thd_linux_3.12.17_org/ thd_linux_3.12.17_new des.patch;这个命令的路径问题;