文章目录前言一、补丁的文件格式两个文件旧文件hello.c修改后的新文件hello_world.c生成补丁文件解释格式二、补丁的使用1.diff参数2.patch使用方法总结

前言浏览韦东山老师的视频(12期拼接视频,u-boot分析的编译体验),看到了补丁内核这一部分,并不是老师讲得特别详细。 于是我自己看了百度,大致总结了一下

“修补程序”不知道可以将旧文件(原始linux内核)修改为新文件(修改的内核)的含义,就像修补衣服并将其转换为新衣服一样。

一、修补程序文件格式两个文件的旧文件hello.c int main () printf(yes(n ) ); printf(Hello ); //这是评论//这也是评论}retuen 0; 已修改的新文件hello_world.c int main () printf ) ‘ helloworld ); //这是评论//这也是评论}retuen 0; 生成修补程序文件命令:

由diff-urn hello.chello _ world.c diff.patch生成的文件的内容:

— hello.c 1970-01-0108336000336000.00000000800 hello _ world.c 2017-11-0314336019336059.249590910800 @ @ 打印机(hello world ); //这是评论//这也是评论}解释格式—-hello.c 1970-01-0108336000336000.000000000800 hello _ world.c 2017-11-000000

表示修改后的文件名后面跟有时间等信息

@ @-3,53,4 @ @-3,5表示从原文件的第3行开始一共5行有差异

3、4表示从修正后的文件的第3行开始,共有4行存在差异

@@ @@表示一个块的开始

– printf (是(n ); -打印(hello ); 打印机(hello world ); //这也评论//这也评论} -表示修改的文件将删除此行

查看:修改的文件将添加此行

空间显示:原始文件和修改的文件都包含此行。注意:通常保留三行未修改行,便于观察。

二、使用patch修补程序1.diff参数-r是递归选项,设置此选项后,diff将同时比较源代码目录的两个不同版本中的所有对应文件,并包含子目录文件

使用-N选项,可以正确处理修补程序文件的创建或删除状态。

-u选项以比缺省值更紧凑的统一格式创建修补程序文件。

2.patch的使用方法自行百度。 下面介绍视频中介绍的比较简单的方法。

1、将cd放入解压缩的内核文件夹中

2、使用patch P1…/u-boot-1.1.6 _ JZ 2440.patch

-psplit级别或-strip=split级别设置要剥离的路径名

p1意味着删除第1层目录

在名为3358 www.Sina.com/u-boot-1.1.6 _ JZ 2440.patch的修补程序上

— http://www.Sina.com//board/100 ask 24 x0/100 ask 24 x0. c

u-boot-1.1.6 _ JZ 2440 _ 2017/board/100 ask 24 x0/100 ask 24 x0. c

上面的粗体目录将使用p1忽略,因为它已经位于名为u-boot-1.1.6的文件夹中

总结这篇文章是自己学习中的小笔记本,第一次做了笔记本。 表达不清楚,敬请谅解。

例如