嵌入式Linux系统移植和裁剪_7_环境搭建和测试(六)

接着来编译华清远见修改过的Linux内核,拷贝 linux-3.14-fs4412.tar.gz 到Ubuntu,解压后,进入 /samba/FS4412/linux-3.14-fs4412 目录,其中内容如下图所示

内核根目录

这次我就直接参考《FS4412使用手册》,不自己折腾了。

1)修改交叉编译工具链。

打开Linux内核顶层目录下的Makefile, 找到CROSS_COMPILE的位置,修改为自己使用的交叉编译工具链。

修改工具链

2)拷贝配置文件。

一般来说说,未经移植过的Linux内核,其默认配置文件是不能用的,需要自行配置或者拷贝已经适配过的配置文件,才能用到自己的板子上。但是这个内核是华清远见修改好的,我就姑且认为配置文件已经适配过了,先直接用用看。

3)配置内核。

踩过了上次UBoot的坑,这次机灵点。二话不说,先运行 make distclean ,清空一下工程。然后运行 make menuconfig ,使用配置文件来配置内核。

内核配置菜单

这步没什么问题,弹出了内核配置菜单项,我们不需要做任何更改,直接切换到<Exit>退出,它会问你是否需要保存配置,我们点击<Yes>确定即可。

4)编译内核

配置好了内核之后,就可以编译内核了,运行 make zImage 。本以为编译会比较顺利,结果刚开始编译,就报错终止了。

编译内核报错

错误信息:unrecognized command line option '-fstack-protector-strong'

又是不支持的编译选项,跟UBoot那个同样的问题,所以这次我不会再去怀疑是什么编译器用错了,或者再去查 -fstack-protector-strong 是什么意思之类的了,肯定是什么步骤漏掉了,或者少了什么操作。

我看了一下内核根目录,发现有一个 build.sh 的文件,应该是华清远见写的内核编译脚本,我尝试着来运行一下看看。同样,先 make distclean ,然后再 ./build.sh 执行脚本,果然,内核开始编译了。内核编译的时间会比较长,我先去洗个澡,完了回来看看编译能不能通过。

悲剧,回来一看,有错误啊,不过问题应该不大

编译错误

错误提示:"mkimage" command not found - U-Boot images will not be built

看样子是因为系统里面没有 mkimage 这个命令,然后最后面还有一些权限不够的提示

权限提示

好了,今天就到这里了,十点多了,白天也挺累的,躺在床上听半个小时的盗墓笔记有声小说就睡觉了,拜拜。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容