本节进行内核的三步配置编译过程,目的是让大家学会内核的配置编译操作,方便之后学习原理。

2.15.3.1、先确认Makefile

(1)主要是检查交叉编译工具链有没有设置对。CROSS_COMPILE ?= /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
(2)确认ARCH = arm。主要目的是为了编译时能找到arch/arm目录。

2.15.3.2、make x210ii_qt_defconfig

(1)最后只要出现:configuration written to .config这句话,就证明我们的操作是正确的。如果没有出现这句话,就有错误。
(1)可能出现的错误1:名字敲错了。名字是字符串匹配的,一定要正确。
注意:如果这一步配置没有得到.config文件,是不能进行到下一步的。实际测试时没有.config也可以make menuconfig,但是这样做出来的内核编译和烧写运行应该是有问题的。

2.15.3.2、make menuconfig

(1)可能出现的错误1:ncurses库没装
错误信息:
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.


*** Install ncurses (ncurses-devel) and try again.
解决方案: apt-get install libncurses5-dev (参考了:http://blog.csdn.net/yao_qinwei/article/details/8805101)

(2)可能出现的错误2:屏幕太小
错误信息:
Your display is too small to run Menuconfig!
It must be at least 19 lines by 80 columns.
解决方案:全屏,或者是把字体调小。

总结:make menuconfig是第二步配置,具体的用法和配置意义在后面课程讲。我们这里因为是九鼎已经移植过的,所以第二步配置是可以不做的,直接退出即可。
用键盘的向右方向键移动到EXIT,按回车退出。

2.15.3.3、make

(1)可能出现的错误1:莫名其妙的错误,可以试试先make distclean
(2)代码本身的错误:具体问题具体分析
(3)编译完成后得到的内核镜像不在源码树的根目录下,在arch/arm/boot这个目录下。得到的镜像名是zImage

总结:
* 先检查Makefile的交叉编译工具链,
* 再进行配置

	* make x210ii_qt_defconfig默认配置
	* make menuconfig细节配置

		* 目的:生成.config来指导内核的编译链接过程,类似uboot中的include/configs/x210_sd.h
* 最后make编译内核
posted on 2018-06-26 15:20  Ocean&Star  阅读(233)  评论(0编辑  收藏  举报