内核补丁文件使用

内核补丁文件简介

/* diff表示差异点路径, -urN后面跟着原文件路径和新文件路径 */
diff -urN u-boot-2012.04.01/arch/arm/lib/board.c u-boot-2012.04.01_100ask/arch/arm/lib/board.c
/* ---表示原代码路径及版本,+++表示新代码路径及版本 */
--- u-boot-2012.04.01/arch/arm/lib/board.c    2012-04-25 21:22:50.000000000 +0800
+++ u-boot-2012.04.01_100ask/arch/arm/lib/board.c    2012-06-16 09:56:16.529637486 +0800
/* -256,12表示原代码从256行开始,共12行这个范围要被改动 */
/* +256,14表示从256行开始,共14行为改动后的新代码 */
@@ -256,12 +256,14 @@
     NULL,    // 256,256
 };    //257,257
    //258,258
// -后面是原代码,+后面是改动后的代码,绿字表示原代码序号,红字表示修改后代码序号
-void board_init_f(ulong bootflag)    //259
+unsigned int board_init_f(ulong bootflag)    // 259
 {    //260,260
     bd_t *bd;    //261,261
     init_fnc_t **init_fnc_ptr;    //262,262
     gd_t *id;    //263,263
     ulong addr, addr_sp;    //264,264
+    extern ulong base_sp;    //265
+    //266
 #ifdef CONFIG_PRAM    //265,267
     ulong reg;    //266,268
 #endif    //267,269

如何使用补丁文件

patch -p(n) < /xxx/xxx.patch

 /xxx/xxx.patch 是内核补丁文件的路径;

-p(n)表示忽略补丁文件差异项路径的第n个“/”前面的路径,这是因为补丁中的文件路径往往和我们本地实际操作的路径不一样,该选项方便我们修改路径;

例如我们当前已经在”u-boot-2012.04.01“这个目录下:

diff -urN u-boot-2012.04.01/arch/arm/lib/board.c u-boot-2012.04.01_100ask/arch/arm/lib/board.c 
// 红字部分为待修改代码路径

添加选项 -p1:

diff -urN u-boot-2012.04.01/arch/arm/cpu/u-boot.lds u-boot-2012.04.01_100ask/arch/arm/lib/board.c
//第一级目录被忽略

 

猜你喜欢

转载自www.cnblogs.com/zhaozhenkai/p/11220475.html