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

2024-01-07 02:08

本文主要是介绍记一次由于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平台上的 ^_^

这篇关于记一次由于rootfs过大引起的内核编译错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/578382

相关文章

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

电脑多久清理一次灰尘合? 合理清理电脑上灰尘的科普文

《电脑多久清理一次灰尘合?合理清理电脑上灰尘的科普文》聊起电脑清理灰尘这个话题,我可有不少话要说,你知道吗,电脑就像个勤劳的工人,每天不停地为我们服务,但时间一长,它也会“出汗”——也就是积累灰尘,... 灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

Windows环境利用VS2022编译 libvpx 源码教程

libvpx libvpx 是一个开源的视频编码库,由 WebM 项目开发和维护,专门用于 VP8 和 VP9 视频编码格式的编解码处理。它支持高质量的视频压缩,广泛应用于视频会议、在线教育、视频直播服务等多种场景中。libvpx 的特点包括跨平台兼容性、硬件加速支持以及灵活的接口设计,使其可以轻松集成到各种应用程序中。 libvpx 的安装和配置过程相对简单,用户可以从官方网站下载源代码