make uImage 编译内核时出错

这个问题又折腾了一个下午:

在做RTC驱动时,修改了arch/arm/plat-s3c24xx/common-smdk.c后,编译内核,发现以下错误:

make uImage 编译内核时出错

[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