编译内核make: *** [.tmp_vmlinux1] 错误 1
时间:2007-05-25
来源:互联网
编译工具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]#
郁闷! 编译不通过这是怎么回事,
修改如下:
#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

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]#
郁闷! 编译不通过这是怎么回事,
作者: ymg2002abc 发布时间: 2007-05-25
装个3.4.1的试试。
http://xiyang.org/pub/cross-3.4.1.tar.bz2
http://xiyang.org/pub/cross-3.4.1.tar.bz2
作者: kid.xiyang 发布时间: 2007-05-25
还是这样,安照别人的方法一步一步这样做的,就是编译不通过,不知道别人是怎么编译的file:///usr/share/doc/HTML/index-zh_CN.html
作者: ymg2002abc 发布时间: 2007-05-25
若编译内核出现如下情况
LD .tmp_vmlinux1
arm-linux-ld:arch/arm/kernel/vmlinux.lds:1439: parse error
make: *** [.tmp_vmlinux1] Error 1
解决方法:修改arch/arm/kernel/vmlinux.lds
[root@localhost linux-2.6.14]$ vi arch/arm/kernel/vmlinux.lds
将文件尾2条的ASSERT注释掉
/* ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support") */
/* ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined") */
然后重新make即可
LD .tmp_vmlinux1
arm-linux-ld:arch/arm/kernel/vmlinux.lds:1439: parse error
make: *** [.tmp_vmlinux1] Error 1
解决方法:修改arch/arm/kernel/vmlinux.lds
[root@localhost linux-2.6.14]$ vi arch/arm/kernel/vmlinux.lds
将文件尾2条的ASSERT注释掉
/* ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support") */
/* ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined") */
然后重新make即可
作者: crespo102418 发布时间: 2007-05-28
楼上正解!
作者: sunzhonghai666 发布时间: 2009-11-03
编译器版本太低,换个高一点的版本
作者: xdyang1986 发布时间: 2011-01-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28