+ -
当前位置:首页 → 问答吧 → 编译内核make: *** [.tmp_vmlinux1] 错误 1

编译内核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]#


郁闷! 编译不通过这是怎么回事,

作者: ymg2002abc   发布时间: 2007-05-25

装个3.4.1的试试。
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即可

作者: crespo102418   发布时间: 2007-05-28

楼上正解!

作者: sunzhonghai666   发布时间: 2009-11-03

编译器版本太低,换个高一点的版本

作者: xdyang1986   发布时间: 2011-01-04

热门下载

更多