编译内核make: *** [.tmp_vmlinux1] 错误 1

发布于 2022-09-29 12:07:59 字数 3275 浏览 6 评论 0

编译工具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]#

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

帅的被狗咬 2022-10-06 12:08:00

还是这样,安照别人的方法一步一步这样做的,就是编译不通过,不知道别人是怎么编译的file:///usr/share/doc/HTML/index-zh_CN.html

一腔孤↑勇 2022-10-06 12:08:00

若编译内核出现如下情况
  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即可

冬天旳寂寞 2022-10-06 12:08:00

楼上正解!

无人问我粥可暖 2022-10-06 12:08:00

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文