Advertisement

Linux内核的编译过程涉及诸多挑战

阅读量:

在最近进行Linux内核编译的过程中,遇到了诸多问题。现将这些遇到的错误逐一列举,并附上对应的解决办法,至于具体的编译流程,网上已有大量资料可供参考。

  1. 使用Ubuntu 12系统对Linux 3.8内核源码进行编译时,虽然成功完成,但在安装阶段由于虚拟机内存仅为20G,导致内存被迅速耗尽。无奈之下尝试扩容,结果引发系统崩溃。因此决定升级至最新的Ubuntu 16版本。原版Ubuntu 12是由厂商提供的,现已无法获取。

  2. 接着使用Ubuntu 16系统再次尝试编译Linux 3.8内核源码时,出现了‘fatal error:linux/compiler-gcc5.h:No such file’的提示信息。此时不建议随意修改文件内容,因为即使解决了当前问题,后续仍可能产生其他错误。较为稳妥的方式是降低gcc等工具的版本。具体原因可在内核源码中的Documention/Changes文件中查阅到,该文件明确指出了此版本源码所需的最低gcc和make版本等信息。

通过执行gcc -v命令查看当前使用的gcc版本为5.x,在此情况下将其降级至4.7版本会更加合适。本文末尾附有相关操作方法。

尽管该文档未明确说明是否可以使用更高版本的gcc,但通过本人实际操作验证发现确实存在兼容性问题。相信很多刚接触嵌入式开发的新手都会遭遇因系统、软件或工具版本不匹配而引发的各种错误,因此

全部评论 (0)

还没有任何评论哟~