linux内核生成补丁和打补丁的方法

本文详细介绍了Linux内核生成补丁和打补丁的方法,包括使用diff和patch命令。通过补丁,可以方便地更新内核,节省存储空间。文中以linux0.11为例,演示了补丁的生成、应用和卸载过程,以及patch命令的使用选项。

         linux内核源码较多,在修改完内核并发布新内核的时候,一般采用补丁的方式进行发布,而不是整个内核打包发布的。

        采用补丁的方式发布有很多好处,1.首先体积很小,通常内核修改很小,生成补丁可能不到1k的大小,方便别人获取更新;2.体积小的补丁也方便保存,可以在本地保存好几个版本的内核;3.使用起来非常方便快捷,只需要把补丁放到源码目录,然后输入patch的指令即可完成打补丁。下面以linux0.11的内核演示一下如何生成补丁和如何打补丁。

一、生成补丁

        我手头上有两个版本的linux0.11,一个不带中文注释"linux-0.11",一个带中文注释"linux011_new"。生成补丁一般用diff命令,

diff -uprN 原版linux目录   修改过的源码目录 >  linux.patch
实际执行的命令是:

sudo diff -uprN linux-0.11/ linux011_new/ > linux.patch

生成的补丁名称是“linux.patch”,其实这个名词可以随便起,不过比较规范都算patch结尾,代表这是个补丁。

二、使用补丁

         首先应该明确的是打补丁是需要在原版的linux目录下执行命令的,否则打补丁无效,或者产生类似“.rej”的文件。打补丁的命令是:

patch -p0 > linux.patch
-p后面的参数代表忽略哪一级路径。实际我打补丁的详细信息如下:

root@maya-g450:/home/maya/work_space/github/test# patch -p0 < linux.patch 

patching file linux-0.11/boot/bootsect.s
patching file linux-0.11/boot/head.s
patching file linux-0.11/boot/setup.s
patching file linux-0.11/cscope.out
patching file linux-0.11/fs/bitmap.c
patching file linux-0.11/fs/block_dev.c
patching file linux-0.11/fs/buffer.c
patching file linux-0.11/fs/char_dev.c
patching file linux-0.11/fs/exec.c
...................省略若干信息........................
patching file linux-0.11/Makefile
patching file linu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值