+ -
当前位置:首页 → 问答吧 → HELP!!! 编译内核的时候出错了!

HELP!!! 编译内核的时候出错了!

时间:2007-08-31

来源:互联网

make bzImage 的时候出问题了, 第一次遇到这种情况, 完全不知道该如何下手, 请各位高手帮帮我, 谢谢!

gcc@virtual /usr/src/linux $ make bzImage
arm-xscale-linux-gnu-gcc -D__KERNEL__ -I/usr/src/linux-2.6.22.1/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs -mno-sched-prolog -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -msoft-float -DKBUILD_BASENAME=main -c -o init/main.o init/main.c
In file included from /usr/src/linux-2.6.22.1/include/linux/bitops.h:9,
from /usr/src/linux-2.6.22.1/include/linux/thread_info.h:20,
from /usr/src/linux-2.6.22.1/include/linux/preempt.h:9,
from /usr/src/linux-2.6.22.1/include/linux/spinlock.h:49,
from /usr/src/linux-2.6.22.1/include/linux/module.h:9,
from init/main.c:13:
/usr/src/linux-2.6.22.1/include/asm/bitops.h: In function '____atomic_set_bit':
/usr/src/linux-2.6.22.1/include/asm/bitops.h:40: warning: implicit declaration of function 'local_irq_save'
/usr/src/linux-2.6.22.1/include/asm/bitops.h:42: warning: implicit declaration of function 'local_irq_restore'
In file included from /usr/src/linux-2.6.22.1/include/linux/notifier.h:14,
from /usr/src/linux-2.6.22.1/include/linux/memory_hotplug.h:7,
from /usr/src/linux-2.6.22.1/include/linux/mmzone.h:466,
from /usr/src/linux-2.6.22.1/include/linux/gfp.h:4,
from /usr/src/linux-2.6.22.1/include/linux/slab.h:14,
from /usr/src/linux-2.6.22.1/include/linux/percpu.h:5,
from /usr/src/linux-2.6.22.1/include/asm-generic/local.h:4,
from /usr/src/linux-2.6.22.1/include/asm/local.h:1,
from /usr/src/linux-2.6.22.1/include/linux/module.h:19,
from init/main.c:13:
/usr/src/linux-2.6.22.1/include/linux/rwsem.h:24:65: error: asm/rwsem.h: No such file or directory
In file included from /usr/src/linux-2.6.22.1/include/linux/memory_hotplug.h:7,
from /usr/src/linux-2.6.22.1/include/linux/mmzone.h:466,
from /usr/src/linux-2.6.22.1/include/linux/gfp.h:4,
from /usr/src/linux-2.6.22.1/include/linux/slab.h:14,
from /usr/src/linux-2.6.22.1/include/linux/percpu.h:5,
from /usr/src/linux-2.6.22.1/include/asm-generic/local.h:4,
from /usr/src/linux-2.6.22.1/include/asm/local.h:1,
from /usr/src/linux-2.6.22.1/include/linux/module.h:19,
from init/main.c:13:
/usr/src/linux-2.6.22.1/include/linux/notifier.h: At top level:
/usr/src/linux-2.6.22.1/include/linux/notifier.h:62: error: field 'rwsem' has incomplete type
In file included from /usr/src/linux-2.6.22.1/include/linux/fs.h:361,
from /usr/src/linux-2.6.22.1/include/linux/proc_fs.h:5,
from init/main.c:14:
/usr/src/linux-2.6.22.1/include/linux/quota.h:291: error: field 'dqptr_sem' has incomplete type
In file included from /usr/src/linux-2.6.22.1/include/linux/proc_fs.h:5,
from init/main.c:14:
/usr/src/linux-2.6.22.1/include/linux/fs.h:555: error: field 'i_alloc_sem' has incomplete type
In file included from /usr/src/linux-2.6.22.1/include/linux/proc_fs.h:5,
from init/main.c:14:
/usr/src/linux-2.6.22.1/include/linux/fs.h:923: error: field 's_umount' has incomplete type
In file included from /usr/src/linux-2.6.22.1/include/linux/sched.h:51,
from /usr/src/linux-2.6.22.1/include/linux/utsname.h:35,
from init/main.c:20:
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:33:3: error: #error You lose.
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
/usr/src/linux-2.6.22.1/include/linux/jiffies.h:225:31: error: division by zero in #if
In file included from /usr/src/linux-2.6.22.1/include/linux/utsname.h:35,
from init/main.c:20:
/usr/src/linux-2.6.22.1/include/linux/sched.h:339: error: field 'mmap_sem' has incomplete type
In file included from init/main.c:31:
/usr/src/linux-2.6.22.1/include/linux/kernel_stat.h:30: error: 'PXA_LAST_GPIO' undeclared here (not in a function)
In file included from /usr/src/linux-2.6.22.1/include/linux/rtc.h:102,
from /usr/src/linux-2.6.22.1/include/linux/efi.h:19,
from init/main.c:42:
/usr/src/linux-2.6.22.1/include/linux/interrupt.h: In function 'cli':
/usr/src/linux-2.6.22.1/include/linux/interrupt.h:221: warning: implicit declaration of function 'local_irq_disable'
/usr/src/linux-2.6.22.1/include/linux/interrupt.h: In function 'sti':
/usr/src/linux-2.6.22.1/include/linux/interrupt.h:225: warning: implicit declaration of function 'local_irq_enable'
/usr/src/linux-2.6.22.1/include/linux/interrupt.h: In function 'save_flags':
/usr/src/linux-2.6.22.1/include/linux/interrupt.h:229: warning: implicit declaration of function 'local_save_flags'
In file included from /usr/src/linux-2.6.22.1/include/linux/rmap.h:9,
from init/main.c:48:
/usr/src/linux-2.6.22.1/include/linux/mm.h: In function 'virt_to_head_page':
/usr/src/linux-2.6.22.1/include/linux/mm.h:291: warning: implicit declaration of function '__pfn_to_page'
/usr/src/linux-2.6.22.1/include/linux/mm.h:291: warning: initialization makes pointer from integer without a cast
In file included from /usr/src/linux-2.6.22.1/include/linux/rmap.h:9,
from init/main.c:48:
/usr/src/linux-2.6.22.1/include/linux/mm.h: In function 'lowmem_page_address':
/usr/src/linux-2.6.22.1/include/linux/mm.h:560: warning: implicit declaration of function '__page_to_pfn'
In file included from /usr/src/linux-2.6.22.1/include/asm/cacheflush.h:16,
from /usr/src/linux-2.6.22.1/include/linux/highmem.h:8,
from /usr/src/linux-2.6.22.1/include/linux/pagemap.h:10,
from /usr/src/linux-2.6.22.1/include/linux/buffer_head.h:13,
from init/main.c:52:
/usr/src/linux-2.6.22.1/include/asm/glue.h:119:2: error: #error Unknown data abort handler type
In file included from /usr/src/linux-2.6.22.1/include/linux/highmem.h:8,
from /usr/src/linux-2.6.22.1/include/linux/pagemap.h:10,
from /usr/src/linux-2.6.22.1/include/linux/buffer_head.h:13,
from init/main.c:52:
/usr/src/linux-2.6.22.1/include/asm/cacheflush.h:114:2: error: #error Unknown cache maintainence model
In file included from init/main.c:55:
/usr/src/linux-2.6.22.1/include/linux/pid_namespace.h: At top level:
/usr/src/linux-2.6.22.1/include/linux/pid_namespace.h:20: error: 'CONFIG_BASE_SMALL' undeclared here (not in a function)
init/main.c: In function 'maxcpus':
init/main.c:170: warning: pointer targets in passing argument 2 of 'get_option' differ in signedness
init/main.c: At top level:
init/main.c:184: error: 'CONFIG_INIT_ENV_ARG_LIMIT' undeclared here (not in a function)
init/main.c: In function 'start_kernel':
init/main.c:549: warning: implicit declaration of function 'irqs_disabled'
make: *** [init/main.o] Error 1
gcc@virtual /usr/src/linux $

作者: 幽如冥河   发布时间: 2007-08-31

貌似头文件不全

另,兄弟这不像是 LFS 的范围,交差编译吗?

作者: d00m3d   发布时间: 2007-08-31

是交叉编译, 我不知道拿到哪里去问, 想想LFS版应该高手比较多, 就拿过来了

作者: 幽如冥河   发布时间: 2007-08-31

我不熟识 arm,就编译内核而言,看你的错误信息好像是内核头文件不全

arm 的开发在嵌入式Linux讨论区比较多人讨论

http://www.linuxsir.org/bbs/forumdisplay.php?f=85

作者: d00m3d   发布时间: 2007-09-01

有点难度111

作者: yongta   发布时间: 2007-10-21