当前时区 GMT+8, 现在时间是 2008-5-17 11:10 游客: 注册 登录 仅登录论坛 | 搜索 帮助


标题: 如何解决编译linux-2.4.18-rmk7时出错?
macrohardf
新手上路
Rank: 1


UID 128592
精华 0
积分 5
帖子 2
阅读权限 10
注册 2004-5-27
来自 China.gif
状态 离线
发表于 2005-2-1 00:22  资料  短消息  加为好友 
如何解决编译linux-2.4.18-rmk7时出错?

在RedHat 9下, 我用的toolchain是ftp://ftp.arm.linux.org.uk上的cross-3.2.tar.bz2, 已安装好并设置好PATH.
内核源代码用的是ftp://166.111.68.183上的linux-2.4.18-rmk7.tar.bz2, 完全按照<<源码开放的嵌入式系统软件分析与实践>>一书的说明, 完成对顶层makefile的修改, 内核的配置(cpu选的就是ep7312)和make dep(这一步应该没有错误)后, 在make时出现以下错误:

[feiimi@macrohardf linux]$ pwd
/home/feiimi/arm-linux/linux
[feiimi@macrohardf linux]$ make
. scripts/mkversion > .tmpversion
/usr/local/arm/bin/arm-linux-gcc -D__KERNEL__ -I/home/feiimi/arm-linux/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -mapcs -fno-strict-aliasing -fno-common -fno-common -pipe -mapcs-32 -march=armv4 -mtune=arm7tdmi -mshort-load-bytes -msoft-float  -DUTS_MACHINE='"arm"' -DKBUILD_BASENAME=version -c -o init/version.o init/version.c
make[1]: Entering directory `/home/feiimi/arm-linux/linux/arch/arm/tools'
cmp constants.h /home/feiimi/arm-linux/linux/include/asm-arm/constants.h >/dev/null 2>&1 || cp -p constants.h /home/feiimi/arm-linux/linux/include/asm-arm/constants.h
make[1]: Leaving directory `/home/feiimi/arm-linux/linux/arch/arm/tools'
make CFLAGS="-D__KERNEL__ -I/home/feiimi/arm-linux/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -mapcs -fno-strict-aliasing -fno-common -fno-common -pipe -mapcs-32 -march=armv4 -mtune=arm7tdmi -mshort-load-bytes -msoft-float " -C  kernel
make[1]: Entering directory `/home/feiimi/arm-linux/linux/kernel'
make all_targets
make[2]: Entering directory `/home/feiimi/arm-linux/linux/kernel'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/home/feiimi/arm-linux/linux/kernel'
make[1]: Leaving directory `/home/feiimi/arm-linux/linux/kernel'
make CFLAGS="-D__KERNEL__ -I/home/feiimi/arm-linux/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -mapcs -fno-strict-aliasing -fno-common -fno-common -pipe -mapcs-32 -march=armv4 -mtune=arm7tdmi -mshort-load-bytes -msoft-float " -C  drivers
make[1]: Entering directory `/home/feiimi/arm-linux/linux/drivers'
make -C block
make[2]: Entering directory `/home/feiimi/arm-linux/linux/drivers/block'
make all_targets
make[3]: Entering directory `/home/feiimi/arm-linux/linux/drivers/block'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/block'
make[2]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/block'
make -C cdrom
make[2]: Entering directory `/home/feiimi/arm-linux/linux/drivers/cdrom'
make all_targets
make[3]: Entering directory `/home/feiimi/arm-linux/linux/drivers/cdrom'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/cdrom'
make[2]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/cdrom'
make -C char
make[2]: Entering directory `/home/feiimi/arm-linux/linux/drivers/char'
make all_targets
make[3]: Entering directory `/home/feiimi/arm-linux/linux/drivers/char'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/char'
make[2]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/char'
make -C hotplug
make[2]: Entering directory `/home/feiimi/arm-linux/linux/drivers/hotplug'
make all_targets
make[3]: Entering directory `/home/feiimi/arm-linux/linux/drivers/hotplug'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/hotplug'
make[2]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/hotplug'
make -C media
make[2]: Entering directory `/home/feiimi/arm-linux/linux/drivers/media'
make -C radio
make[3]: Entering directory `/home/feiimi/arm-linux/linux/drivers/media/radio'
make all_targets
make[4]: Entering directory `/home/feiimi/arm-linux/linux/drivers/media/radio'
make[4]: Nothing to be done for `all_targets'.
make[4]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/media/radio'
make[3]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/media/radio'
make -C video
make[3]: Entering directory `/home/feiimi/arm-linux/linux/drivers/media/video'
make all_targets
make[4]: Entering directory `/home/feiimi/arm-linux/linux/drivers/media/video'
make[4]: Nothing to be done for `all_targets'.
make[4]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/media/video'
make[3]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/media/video'
make all_targets
make[3]: Entering directory `/home/feiimi/arm-linux/linux/drivers/media'
rm -f media.o
/usr/local/arm/bin/arm-linux-ld  -r -o media.o video/video.o radio/radio.o
/usr/local/arm/bin/arm-linux-ld: internal error earmelf_linux.c 160
make[3]: *** [media.o] Error 1
make[3]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/media'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/home/feiimi/arm-linux/linux/drivers/media'
make[1]: *** [_subdir_media] Error 2
make[1]: Leaving directory `/home/feiimi/arm-linux/linux/drivers'
make: *** [_dir_drivers] Error 2
[feiimi@macrohardf linux]$

我看过了本论坛里的所有贴子, 请问这种错误是否为chyyuu所说的"Russel King 的补丁对ep7312支持不好"的缘故, 但好像我的现象与已有的类似问题又不太一样, 谁能指点一下?
若果真如此, 目前我想用2.4.18-rmk7的内核难道就只能用别的cpu类型了吗?因为我看到目前skyeye对ep7312的配置和应用文档最全, 所以我想尽量用ep7312来开始学习, 谁还有更好的建议?
谢谢!

顶部
ksh
高级会员
Rank: 4


UID 92875
精华 1
积分 1447
帖子 736
阅读权限 50
注册 2004-2-4
来自 China
状态 离线
发表于 2005-2-4 14:28  资料  短消息  加为好友  添加 ksh 为MSN好友 通过MSN和 ksh 交谈
应该换编译器试试

顶部
zbluecn (代码人生)
新手上路
Rank: 1


UID 150240
精华 0
积分 15
帖子 26
阅读权限 10
注册 2004-9-2
来自 China.gif
状态 离线
发表于 2008-1-30 00:39  资料  主页 短消息  加为好友 
请问你有下载好的文件吗 我现在不能下载啊

顶部
 


Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国Linux公社 - WAP