1 、打补丁
先下载内核源码和补丁,例如
- 内核源码:linux-3.10.tar.gz
- 下载补丁:patch-3.10.1.gz
在Linux下创建一个patch-3.10.1目录,把patch-3.10.1.gz放到patch-3.10.1目录下,进入到patch-3.10.1目录,并使用以下命令解压:
gunzip patch-3.10.1.gz
补丁就是一个文件,通过vim打开补丁文件可看到补丁的样子,像使用git中的diff:
进入到内核源码路径,执行以下命令开始打补丁:
cd linux-3.10 for i in `ls ../patch-3.10.1/`;do patch -p1 < ../patch-3.10.1/"$i";done
注意for循环后面in里面的符合为· ,在Esc下面,1的左边。
至此,补丁就打完了。
2、制作补丁
例如一个文件a.c中的内容如下:
void test() { int a=0; int b=2; int c=a+b; printf("this is test patch file a \r\n"); }
更新后的文件b.c的内容如下:
void test() { int a=5; int b=2; int c=a-b; printf("this is test patch new file b \r\n"); }
执行以下命令,可将补丁信息输出到文件patch.test中
diff -Nur a.c b.c > ./patch.test
通过vim查看补丁文件内容如下,至此,补丁文件制作完成。