在学习内核打补丁的时候,需要用到patch 比如linux_2_6_38 path_38_39 进入linux_2_6_38 patch -p1 <../path_38_39
为了加深了解,我做了测试
hello.c hello_2.c 1)diff -rcN hello.c hell_2.c > patch_0_2 (r 表示如果有子目录则递归 c表示详细信息 N 表示如果将不存在的文件当作空文件处理,这样可以添加原来没有的文件)
2)patch -p0 < patch_0_2
V1/hello.c V2/hello_2.c V2/list.txt
1)在V1 和V2所在根目录下,diff -rcN V1 V2>patch_V0_V2
两种补丁方式:1)cd V1,patch -p1 < ../patch_V0_V2
恢复V1 为 patch -R -p1 < ../patch_V0_V2
2) 在V1的跟目录下,此时必须V2不存在
patch -p0 < patch_V0_V2
恢复V1 为 patch -R -p0 < patch_V0_V2
px x为去掉patch_*_*中的路径个数 因为diff时 patch里面记录了 V1/* V2/*,所以如果在V1里面patch 则需要告知patch
记录里面的第一目录 V1 V2不需要了.
阅读(325) | 评论(0) | 转发(0) |