3月12日,开始慢慢接触编译新的板子上的内核,由于公司的商业机密,不便透露具体的板子型号,造成不必要的麻烦。
在参加工作之前,对于编译内核选项常用的是make menuconfig命令进行裁剪,但是对于其他形式的config形式不是很了解,现在正式接触到xconfig选项,基于GUI界面的编译选项,只需点点鼠标就可以完成,很舒服。但是对于内核的初学者,还是建议使用make menuconfig,有利于熟悉内核编译选项。
一、在使用使用xconfig选项之前,先安装三个包:
sudo apt-get install libqt3-headers libqt3-mt-dev libqt3-compat-headers libqt3-mt
使用toolchain,第一,源码编译(会有专门的一章说好玩的toolchain);第二,修改路径直接使用已经编译的好的toolchain,往往在实际工作中用得比较多,着重讲运用部分,省去繁琐过程。
二、修改/etc/profile文件,添加三条语句:
export ARCH="arm"
export CROSS_COMPILE=“arm-linux-”
export PATH=“$PATH/toolchain(文件名)/bin”
三、关于生成不同image的配置选项。
在默认的条件下,生成zImage和Image,但是也可以用到其他格式的配置选项。说到zImage、Image和uImage区别也很简单,Image是未压缩的内核映像文件,zImage是一种压缩的内核映像文件,而uImage是U-boot开发中的内核映像文件,只是在zImage的中加入和64K的头部信息,例如版本,文件大小,文件格式等。
需要编译uImage该怎么办呢?原本以为直接使用
"make uImage"
即可生成uImage,但后面居然没有,提示缺少mkimage。看来要跳到第四步了。
四、mkimage是u-boot中制作uImage的工具(姑且是这样理解),一开始拿到uboot源码的时候,有点手足无措,编译之前首先查看Makefile,发现有合适的config选项,直接make,tab键补全***(所需要烧录板子的型号)。
然后,"make all" 就可以再boot/目录下生成mkimage。最后将mkimage copy 到/usr/bin下即可。