|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
看一下如何制作LINUX的patch文件及打patch- r3 X( @2 G# T5 ]2 P" z
8 e3 x- N" l: o$ W& R* o
& G6 y* {. |& |. T- i2 M9 ?& x对某个版本的Linux内核做了修改以后,如果希望发布出去给别人用,那么就需要制作针对此版本的patch文件。! x; J" Y2 o: ^% v" c3 F7 o: L" r
patch文件也叫补丁,就是一个文本文档,这个文档包含了在两个不同版本的源代码树之间的变化。5 O- T4 F# w! ~5 }& b. d, v8 N
补丁是通过diff应用程序来创建的。
: U' \" G5 x: M5 z2 V5 K为了正确地打上一个补丁,你需要知道这个补丁是从哪个基础版本产生出来的以及这个补丁将要把% m1 R4 H8 z2 }! U3 }7 K2 a% D9 N
目前的源代码树变化到什么新的版本。这些信息或者会出现在补丁文件的原数据中,或者可能从文件名中推断出来。
0 H! h- L* x( ?+ h# Y# N# Y
3 I# ^& }, M7 V5 O; r9 ~: W1 `" N- S) b/ v7 N' K# K
1,如何制作补丁patch文件
8 _1 {0 `/ z. Q: R6 g ! C+ x+ P, g7 n' c7 y5 Q @
比如基于kernel内核 做了修改,修改了LCD代码,修改前的内容放在文件夹kernel下,修改后的内容放在文件夹kernel_new下,那么制作patch文件的命令为
( \7 }$ l( l8 d* }7 K+ _ zhenwx-desktop:~/sourcecode/$diff -Naur kernel/ kernel_new/ > zwx-lcd.patch
& ^9 c' d7 M4 o& T# ^5 \
E, ?4 Q" h% n; f 当前目录为 /home/zhenwx/sourcecode/,该目录有原来修改前的内核kernel目录和修改后的目录kernel_new
! e& v: J. B+ n% B 执行命令为 diff -Naur kernel/ kernel_new/ > zwx-lcd.patch; |/ s, \, ?" X2 T. t+ ~
diff命令就会对比kernel和kernel_new目录的文件,产生patch文件zwx-lcd.patch# v# T% `5 R. V6 V
这时就 可以把zwx-lcd.patch发布到网上。8 Q6 y/ O/ [" c: z y
这个patch文件是描述文件的路径信息和将第几行内容删除,在第几行添加内容,删除用减号,添加用加号1 l6 l" w2 D2 a; P
P# S: p0 m3 ^( j. m: @ 2,怎样打补丁patch和卸载补丁patch0 ]. M0 k6 M! {9 {# k
! y6 J5 v+ I% o: d3 Y. r( d( P/ V
( i" n; S+ A; I+ G$ v0 b6 h" `
9 c# s. k! S2 P7 |! r2 t! a& h
* V$ f3 U e7 @7 [+ o6 E+ W4 {$ v3 E- `4 \
|
|