本人使用的板子是三星的fl2440基于arm9,cpu为s3c2440。
1:编译路径
我们一般将交叉编译器放在/opt下(但不绝对),因为/opt目录默认只有root才有写的权限,所以在上传这些源码包之前首先要修改他的权限。修改完成后放入buildroot-2012.08源码包。
解压缩源码包内的buildroot-2012.08.tar.bz2压缩包并创建dl路径存放所有源码包(之后解释为什么是dl)
2:menuconfig配置
[zhangl@centos6 buildroot-2012.08]$ export TERM=vt100 // 防止make menuconfig出现乱码[zhangl@centos6 buildroot-2012.08]$ make menuconfig //进行builroot配置(建议窗口最大化,否则会报错)
a:选择开发板相应的cpu类型
Target Architecture (ARM (little endian)) --->指定交叉编译器类型为ARM型,且为小端字节序(可自己指定)Target ABI (EABI) ---> //使能目标接口
Target Architecture Variant (arm920t) ---> //cpu类型(可自己指定,但必须匹配)
b:指定download目录和host目录及优先使用静态库
Build options --->
($(TOPDIR)/dl) Download dir //存储源代码路径(这就是之前为什么创建dl路径)
($(TOPDIR)/arm920t) Host dir //编译出来的交叉编译器所在路径,$(TOPDIR)源码的顶层目录,此处为/opt/buildroot-2012.08
[*] prefer static libraries //其他均可默认
c:选定内核版本
Toolchain --->
Kernel Headers (Linux 2.6 (manually specified version)) ---> //选定前两位版本
(2.6.37) linux version //输入完整版本号
... ...
[*] Enable compiler tls support
[*] Enable MMU support
[*] Use software floating point by default
[*] Enable large file (files > 2 GB) support
[*] Enable IPv6 support
[*] Enable RPC support
[*] Enable WCHAR support
[*] Enable C++ support //添加各类编译器,软件,协议等支持
Package Selection for the target --->
Libraries --->
Compression and decompression --->
[*] lzo
[*] zlib //常用库文件,用于压缩与解压
Filesystem images ---> //全部取消,不要选
Bootloaders ---> //全部取消,不要选
Kernel ---> //全部取消,不要选
完成以上所用配置后,即可保存退出。可在当前目录下,看到一个名为.config的掩藏文件。在之后的编译过程中,Makefile将根据这个文件来选择相应的软件包和特性来编译安装。
之后即可在/opt/buildroot-2012.08目录下make,便开始编译交叉编译器了。最后生成的交叉编译器会在/opt/buildroot-2012.08/arm920t/usr/bin下。
上述操作有错的。欢迎指出。