接着来编译华清远见修改过的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 这个命令,然后最后面还有一些权限不够的提示
好了,今天就到这里了,十点多了,白天也挺累的,躺在床上听半个小时的盗墓笔记有声小说就睡觉了,拜拜。