make uImage 编译内核时出错
这个问题又折腾了一个下午:
在做RTC驱动时,修改了arch/arm/plat-s3c24xx/common-smdk.c后,编译内核,发现以下错误:
[email protected]:/work/system/linux-2.6.22.6$ make uImage
CHK include/linux/version.h
make[1]: 'include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
CALL scripts/checksyscalls.sh
<stdin>:91:1: warning: "__IGNORE_sync_file_range" redefined
In file included from <stdin>:2:
include/asm/unistd.h:444:1: warning: this is the location of the previous definition
<stdin>:1097:2: warning: #warning syscall fadvise64 not implemented
<stdin>:1265:2: warning: #warning syscall migrate_pages not implemented
<stdin>:1321:2: warning: #warning syscall pselect6 not implemented
<stdin>:1325:2: warning: #warning syscall ppoll not implemented
<stdin>:1365:2: warning: #warning syscall epoll_pwait not implemented
CHK include/linux/compile.h
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o(.init.text+0x2cb0): In function `store_modes':
include/linux/list.h:299: undefined reference to `ioremaps'
drivers/built-in.o(.init.text+0x2cc0):include/linux/list.h:326: undefined reference to `ioremaps'
Makefile:721: recipe for target '.tmp_vmlinux1' failed
make: *** [.tmp_vmlinux1] Error 1
解决办法:
建议:
make distclean后再重新配置、编译试一下
在网上搜索了许多办法,还是不行,最后重新下载linux内核、解压
先打补丁:
patch -p1 < ../linux-2.6.22.6_jz2440.patch
重新配置
make s3c2410_defconfig