目的:用diff和patch 命令为自己的代码做个补丁包
对两个命令进行简要学习后,做了个patch包,可是对源码大补丁后,编译报错
-------------------------------------------------------------------------------------------------------------------------------
[root@localhost linux]# cd linux-2.6.18
[root@localhost linux-2.6.18]# make zImage
CHK include/linux/version.h
SYMLINK include/asm-arm/arch -> include/asm-arm/arch-pxa
Generating include/asm-arm/mach-types.h
CHK include/linux/utsrelease.h
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
CC arch/arm/kernel/asm-offsets.s
In file included from include/linux/timex.h:193,
from include/linux/sched.h:48,
from arch/arm/kernel/asm-offsets.c:13:
include/asm/timex.h:15:28: asm/arch/timex.h: No such file or directory
In file included from include/linux/sched.h:49,
from arch/arm/kernel/asm-offsets.c:13:
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: division by zero in #if
In file included from include/linux/sched.h:49,
from arch/arm/kernel/asm-offsets.c:13:
include/linux/jiffies.h: In function `timespec_to_jiffies':
include/linux/jiffies.h:315: error: `CLOCK_TICK_RATE' undeclared (first use in t
his function)
include/linux/jiffies.h:315: error: (Each undeclared identifier is reported only
once
include/linux/jiffies.h:315: error: for each function it appears in.)
include/linux/jiffies.h: In function `jiffies_to_timespec':
include/linux/jiffies.h:334: error: `CLOCK_TICK_RATE' undeclared (first use in t
his function)
include/linux/jiffies.h: In function `timeval_to_jiffies':
include/linux/jiffies.h:356: error: `CLOCK_TICK_RATE' undeclared (first use in t
his function)
include/linux/jiffies.h: In function `jiffies_to_timeval':
include/linux/jiffies.h:372: error: `CLOCK_TICK_RATE' undeclared (first use in t
his function)
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:385:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:416:6: division by zero in #if
include/linux/jiffies.h:416:6: division by zero in #if
In file included from include/asm/page.h:182,
from include/linux/sched.h:58,
from arch/arm/kernel/asm-offsets.c:13:
include/asm/memory.h:27:29: asm/arch/memory.h: No such file or directory
In file included from include/asm/page.h:182,
from include/linux/sched.h:58,
from arch/arm/kernel/asm-offsets.c:13:
include/asm/memory.h: In function `virt_to_phys':
include/asm/memory.h:170: error: `PHYS_OFFSET' undeclared (first use in this fun
ction)
include/asm/memory.h: In function `phys_to_virt':
include/asm/memory.h:175: error: `PHYS_OFFSET' undeclared (first use in this fun
ction)
include/asm/memory.h: In function `virt_to_bus':
include/asm/memory.h:193: warning: implicit declaration of function `__virt_to_b
us'
include/asm/memory.h: In function `bus_to_virt':
include/asm/memory.h:198: warning: implicit declaration of function `__bus_to_vi
rt'
In file included from include/linux/mm.h:38,
from arch/arm/kernel/asm-offsets.c:14:
include/asm/pgtable.h:23:30: asm/arch/vmalloc.h: No such file or directory
In file included from include/linux/mm.h:38,
from arch/arm/kernel/asm-offsets.c:14:
include/asm/pgtable.h: In function `pmd_page_kernel':
include/asm/pgtable.h:301: error: `PHYS_OFFSET' undeclared (first use in this fu
nction)
In file included from arch/arm/kernel/asm-offsets.c:14:
include/linux/mm.h: In function `lowmem_page_address':
include/linux/mm.h:531: error: `PHYS_OFFSET' undeclared (first use in this funct
ion)
make[1]: *** [arch/arm/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2
[root@localhost linux-2.6.18]#
-------------------------------------------------------------------------------------------------------------------------------
针对make[1]: *** [arch/arm/kernel/asm-offsets.s] Error 1错误,网上有说是编译器gcc版本问题,建议升级到gcc4.1以上.....
但我未打补丁前的代码是可以成功编译的啊......应该是别的原因哦...
仔细看错误提示:
include/asm/timex.h:15:28: asm/arch/timex.h: No such file or directory
In file included from include/linux/sched.h:49,
from arch/arm/kernel/asm-offsets.c:13:
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:210:31: division by zero in #if
include/linux/jiffies.h:210:31: warning: "CLOCK_TICK_RATE" is not defined
我找到asm/arch/目录,有timex.h啊,由于找不到文件,后面才 warning: "CLOCK_TICK_RATE" is not defined
貌似include里的asm链接有问题,编译时找不到相应路径
看看打过补丁的新内核代码,果然include文件夹里,asm是个文件夹,而不是,指向asm-arm(我的系统选的是pxa的cpu)的链接
asm应该是根据自己的配置,可以自动生成的,所以我决定不对这个文件夹"diff"
diff命令里有参数x
-x<文件名或目录>或--exclude<文件名或目录> 不比较选项中所指定的文件或目录
但是我试了半天,还是没有效果,好像就没起作用-_-!!
只好把我的源码里includ/asm删掉,再制作patch,完成后再对linux-2.6.18源码打补丁,编译成功^_^