linux内核打补丁和制作补丁

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查看补丁文件内容如下,至此,补丁文件制作完成。

 

posted @ 2021-02-03 18:01  bizhenLiu  阅读(1394)  评论(0编辑  收藏  举报