1)在数学上来说:diff/patch,diff是对2个集合求差,patch是求和
diff A B >C ,一般A是原始文件,B是修改后的文件,C称为A的补丁文件。
patch A C 就能得到B, 这一步叫做对A打上了B的名字为C的补丁。
patch -R B C 就可以重新还原到A了。
2) 内核补丁
生成
diff -uNr linux-2.6.xxx linux-2.6.xxx.1 > diff.patch
参数 -u 表示使用 unified 格式,-r 表示比较目录,-N 表示将不存在的文件当作空文件处理,这样新添加的文件也会出现在patch文件中。
升级
cp diff.patch linux-2.6.xxx/.
cd linux-2.6.xxx
patch -p1 < diff.patch
可以参考$(linux_src)/Documentation/applying_patches.txt