记一次由于rootfs过大引起的内核编译错误

记一次由于rootfs过大引起的内核编译错误

前些日子一直在用NFS作为rootfs启动。今日想用initramfs作为rootfs制作独立运行的系统。
可是内核编译到链接阶段一直报这个错误
LD      .tmp_vmlinux1
arch/arm/kernel/head.o: In function `__enable_mmu_end':
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:32: relocation truncated to fit: R_ARM_CALL against symbol `printascii' defined in .text section in arch/arm/kernel/built-in.o
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:34: relocation truncated to fit: R_ARM_CALL against symbol `printhex8' defined in .text section in arch/arm/kernel/built-in.o
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:36: relocation truncated to fit: R_ARM_CALL against symbol `printascii' defined in .text section in arch/arm/kernel/built-in.o
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:43: relocation truncated to fit: R_ARM_CALL against symbol `printhex8' defined in .text section in arch/arm/kernel/built-in.o
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:45: relocation truncated to fit: R_ARM_CALL against symbol `printch' defined in .text section in arch/arm/kernel/built-in.o
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:48: relocation truncated to fit: R_ARM_CALL against symbol `printascii' defined in .text section in arch/arm/kernel/built-in.o
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:50: relocation truncated to fit: R_ARM_CALL against symbol `printch' defined in .text section in arch/arm/kernel/built-in.o
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:55: relocation truncated to fit: R_ARM_CALL against symbol `printascii' defined in .text section in arch/arm/kernel/built-in.o
arch/arm/kernel/head.o: In function `__error_p':
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:254: relocation truncated to fit: R_ARM_CALL against symbol `printascii' defined in .text section in arch/arm/kernel/built-in.o
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:256: relocation truncated to fit: R_ARM_CALL against symbol `printhex8' defined in .text section in arch/arm/kernel/built-in.o
/home/skykingf/devlop/linux-2.6.38.2/arch/arm/kernel/head-common.S:258: additional relocation overflows omitted from the output
make: *** [.tmp_vmlinux1] Error 1


实在看不出内核哪里出了问题,那个头大啊。
google了国内外中英文的site,有说是编译器版本低了,有说是编译器的bug,有说是内核配的不正确,反反复复编译多次,都找不到正确的原因。
用了之前已经编译好的2.6.33.3内核也报这个错误,看来是rootfs的问题了。
忽然想到是不是rootfs的尺寸问题,前几日在移植mtd-utils时,cp了很多库文件到/lib目录下。

于是在/lib下rm -fr *, 之后再把以前备份的最小lib库放进来,重新编译kernel,通过。
不知道偶是不是第一个把2.6.38.2移植到s3c2440平台上的 ^_^

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值