Failed to execute /linuxrc. Attempting defaults... 解决方案

本文分享了在友善之臂S3C2440开发板上移植根文件系统过程中遇到的问题及解决办法。主要问题是mkyaffs2image工具在不同系统下可能导致yaffs2文件系统制作失败,导致内核启动时出现“Kernel panic”。通过源码编译定制工具最终解决问题。

        今天想移植个根文件系统,使用的板子是友善之臂的S3C2440,这个很多书上都有介绍。难度倒也不是很大,按照手册一步步的来。

移植完之后,烧写到flash里面,发现不能运行。怎么回事?检查了一遍,发现和教材上一样,难道教材有问题?在网上找了移植到mini2440上的案例,发现应该也没大问题。

后来,反复几次后,仔细看了下提示的错误:Failed to execute /linuxrc. Attempting defaults...Kernel panic - not syncing: No init found. Try passing init= option to kernel.

内核恐慌!!!后来实在没办法,找度娘看看,复制进去一搜,找了大半天,说啥的都有。直到我找到了下面的一个帖子,我赶紧按照人家的经验试试,解决了。

问题是什么呢,原来是友善之臂提供的制作yaffs2文件系统的工具的问题。友善之臂提供的mkyaffs2image工具在制作用于128Mflash的文件文件系统时,只能在fodera 9.0系统下使用,如果你使用的是别的系统,这个工具很可能不能正常的使用。这时只能找到源码,进行适当修改,重新编译得到这个工具,就可以用了。

下面贴出,我解决这个问题的几个链接。感谢以下文章的作者,辛勤劳作与贡献精神。

 有需要这个根文件系统制作工具源码的,留个邮箱,给你发过去。因为可以在下面下载。

http://blog.youkuaiyun.com/ayangke/article/details/6280400

http://www.arm9home.net/read.php?tid=3919

### Maven 构建失败:`Failed to execute goal org.apache.maven.plugins` Maven 在构建项目时出现 `Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources` 错误,通常表示在资源过滤或复制阶段出现了问题。该错误提示中的 `Input length = 1` 通常与文件编码、特殊字符处理或资源路径配置有关。 以下是可能的原因及对应的解决方案: --- #### 1. **检查文件编码和特殊字符** 确保项目的资源文件(如 `application.properties`、`pom.xml` 或其他文本文件)使用的是 UTF-8 编码,并且没有包含非法或不可读的字符。某些编辑器可能会插入隐藏字符,导致 Maven 解析失败。 可以在 `pom.xml` 中添加以下配置来指定编码格式: ```xml <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> ``` 此外,在执行 Maven 命令时可以尝试添加 `-Dfile.encoding=UTF-8` 参数以确保 JVM 使用正确的编码: ```bash mvn clean install -Dfile.encoding=UTF-8 ``` --- #### 2. **升级或降级 `maven-resources-plugin` 版本** 引用中提到的版本为 `3.2.0`,可能存在兼容性问题。建议将其升级到最新稳定版本(如 `3.2.1` 或更高),或根据项目需求选择合适的版本[^1]。 更新方式如下: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.2.1</version> </plugin> </plugins> </build> ``` 如果项目是旧版本 Spring Boot 或老项目,可考虑使用更稳定的 `3.6.3` 版本以提高兼容性[^4]。 --- #### 3. **清理并重新构建项目** 有时本地缓存或临时文件可能导致构建失败。执行以下命令清除缓存并重新构建: ```bash mvn clean install -U ``` 其中 `-U` 表示强制更新依赖。 --- #### 4. **启用详细日志排查问题** 为了获取更详细的错误信息,可以使用 `-X` 参数启用调试模式: ```bash mvn clean install -X ``` 这将输出完整的堆栈跟踪,有助于定位具体出错的位置。 --- #### 5. **检查 Java 版本与 Maven 兼容性** 确保项目中使用的 Java 版本与 `maven-compiler-plugin` 的配置一致。例如,若使用 Java 11,则应在 `pom.xml` 中配置如下属性[^3]: ```xml <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> ``` 同时确认本地安装的 JDK 版本与项目要求一致,并且环境变量 `JAVA_HOME` 正确指向该版本。 --- #### 6. **IDEA 版本与 Maven 兼容性** 如果你使用的是 IntelliJ IDEA,不同版本对 Maven 的支持程度不同。例如: - IDEA 2022 支持 Maven 3.8.1 及之前版本 - IDEA 2021 支持 Maven 3.8.1 及之前版本 - IDEA 2020 支持 Maven 3.6.3 及之前版本 - IDEA 2018 支持 Maven 3.6.1 及之前版本[^4] 建议根据所使用的 IDEA 版本选择合适的 Maven 版本进行集成。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值