先把源文件复制出一个副本,在副本里面更改。更改完成后用diff命令比较两文件之间的差异,得到补丁文件,用patch命令使补丁生效,则源文件就会更改成副本的样子,俗称打补丁,也可以把补丁去掉,变成原来的样子。这样的更改方式,很方便,并且改完之后不满意还可以回到最初的样子,可逆性很高。
首先是比较两文件之间的差异并创建补丁
diff –uN 源文件路径 目标文件路径 >文件名.patch
diff -uN /home/smj/linux-2.6.28.7/arch/arm/mach-s3c2440/mach-smdk2440.c /home/smj/patch/arch/arm/mach-s3c2440/mach-smdk2440.c >test2.patch
文件名.patch 就在当前目录下生成
然后是打补丁
patch -p(n) < /补丁包路径/patch_name
-p(n)中的n表示将patch中的路径第N条‘/’和其左边部分取消。
patch -p2 < /home/smj/test2.patch
提示 file to patch: 则输入源文件的路径
/home/smj/linux-2.6.28.7/arch/arm/mach-s3c2440/mach-smdk2440.c
最后是去掉补丁,恢复旧版本
patch -RE -p(n) < /补丁包路径/patch_name