当前位置:   article > 正文

Linux patch的生成与使用_linux 制作patch

linux 制作patch

生成patch的方法:

  1. 使用diff命令生成patch
  2. diff -uprN org chg > patch2
  3. 命令解释:
  4. 上面的命令表示,将chg文件夹基于org文件夹操作修改的内容生成一个patch2
  5. 简单点的就是:org文件夹是你的原始文件夹,chg文件夹是你在org文件夹的文件夹上面做了修改。那么现在你想把这些修改提取出来。就可以通过上面的命令把修改的内容放patch2里面。
  6. 参数解释:
  7. -uprN 多个文件的patch合并在一起
  8. org 原始的代码
  9. chg 修改后的代码
  10. patch2 生成的patch文件

使用patch的方法:

  1. 将上面的patch2进行使用
  2. patch -p1 < patch2
  3. 命令说明:
  4. -p1 去掉patch2里面的第一级目录
  5. patch2 我们需要使用的补丁文件
  6. 关于-p1这个选项,多说两句
  7. 一般patch里面的内容如下:
  8. --- a/drivers/mxc/ipu3/ipu_common.c
  9. +++ b/drivers/mxc/ipu3/ipu_common.c
  10. 上面的内容表示patch是针对文件夹a和文件夹b生成的。
  11. -p1就表示去掉b这一层文件夹,那么也就是说,你在当前目录下执行ls的时候,必须要看到drivers这个文件夹
  12. -p2就表示去掉b/drivers这一层文件夹,你在当前目录下执行ls的时候,必须要看到mxc这个文件夹
  13. 在使用补丁的时候,最好-p1.因为你-p2时,patch文件就只能应用到drivers这个文件夹里面了。举例如下:
  14. 如果你patch文件同时包含如下信息:
  15. --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
  16. +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
  17. --- a/drivers/mxc/ipu3/ipu_common.c
  18. +++ b/drivers/mxc/ipu3/ipu_common.c
  19. 你使用-p1,那么你patch就可以应用到b目录下的所有文件
  20. 如果你使用-p2,如果你在drivers目录下,那么你补丁就只能应用到mxc/ipu3/ipu_common.c文件
  21. 如果你在arch目录下,那么你补丁就只能应用到arm/boot/dts/imx6qdl-sabresd.dtsi文件

如果我们打了patch,后面想把patch给撤销掉,可以使用如下命令:

patch -p1 -R < patch2

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/522413
推荐阅读
相关标签
  

闽ICP备14008679号