内核编译求助
编译内核make: *** [.tmp_vmlinux1] 错误 1
编译工具cross-3.3.2.tar.bz2解压到/usr/loacal/arm/3.3.2/bin ,linux内核linux-2.6.16.5.tar.gz 解压后修改主makefile
修改如下:
#ARCH ?= $(SUBARCH)
#CROSS_COMPILE ?=
ARCH = arm
CROSS_COMPILE =/usr/local/arm/3.3.2/bin/arm-linux-
[root@122 linux-2.6.16.5]# make menuconfig //此处选择默认
.
.
[root@122 linux-2.6.16.5]# make zImage
.
.
CC lib/vsprintf.o
AR lib/lib.a
GEN .version
CHK include/linux/compile.h
dnsdomainname: 没有与名字关联的地址
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
/usr/local/arm/3.3.2/bin/arm-linux-ld:arch/arm/kernel/vmlinux.lds:1932: parse error
make: *** [.tmp_vmlinux1] 错误 1
找到arch/arm/kernel/vmlinux.lds文件注释掉1932行,如下:
/*
*ASSERT((__proc_info_end - __proc_info_begin), "missing CPU *support"
*ASSERT((__arch_info_end - __arch_info_begin), "no machine *record defined"
*/
然后重新编译结果如下:
[root@122 linux-2.6.16.5]# make zImage
CHK include/linux/version.h
make[1]: “include/asm-arm/mach-types.h”是最新的。
CHK include/linux/compile.h
dnsdomainname: 没有与名字关联的地址
CHK usr/initramfs_list
GEN .version
CHK include/linux/compile.h
dnsdomainname: 没有与名字关联的地址
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o(.text+0x33e24): In function `drm_lock_take':
drivers/char/drm/drm_lock.c:208: undefined reference to `cmpxchg'
drivers/built-in.o(.text+0x33ea: In function `drm_lock_transfer':
drivers/char/drm/drm_lock.c:248: undefined reference to `cmpxchg'
drivers/built-in.o(.text+0x33eec): In function `drm_lock_free':
drivers/char/drm/drm_lock.c:273: undefined reference to `cmpxchg'
drivers/built-in.o(.text+0x33f9c): In function `drm_notifier':
drivers/char/drm/drm_lock.c:310: undefined reference to `cmpxchg'
make: *** [.tmp_vmlinux1] 错误 1
[root@122 linux-2.6.16.5]#
郁闷! 编译不通过这是怎么回事,
|