linux下交叉编译器制作

本人使用的板子是三星的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       //添加各类编译器,软件,协议等支持


d:其他配置
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下。


上述操作有错的。欢迎指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值