记一次由于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

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Python中ModuleNotFoundError: No module named ‘timm’的错误解决

《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

前端bug调试的方法技巧及常见错误

《前端bug调试的方法技巧及常见错误》:本文主要介绍编程中常见的报错和Bug,以及调试的重要性,调试的基本流程是通过缩小范围来定位问题,并给出了推测法、删除代码法、console调试和debugg... 目录调试基本流程调试方法排查bug的两大技巧如何看控制台报错前端常见错误取值调用报错资源引入错误解析错误

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤