分类: LINUX
2011-05-15 16:32:13
说一下我知道的几种方法及其特点
1.crosstool-ng ()
这一款专门制作交叉工具链的软件,采用配制内核似的配置界面,直观易用。
主要有以下几个特点:
A. 支持CPU种类齐全(mips,arm,ppc...)
B. 支持多种C库(eglibc,uclibc,glibc)
2.Buildroot ()
这一款专门针对嵌入式系统构建的工具软件,采用配制内核似的配置界面,直观易用。
主要特点:
A. 支持CPU种类齐全(mips,arm,..)
B. 支持 内核映像,文件系统,交叉工具链,uboot 等一起或单个制作
C. 采用 uclibc 作为 C库
D. 支持使用已有的交叉工具链(eglibc,glibc)
3.Emdebian ()
这是debian 中出来了一个针对嵌入式系统,目前发布了两个版本(2.0 基于debian6 大小200M)
其特点是:
A. 支持CPU种类齐全(mips,arm...等7种)
4.源码编译 ()
参照CLFS制作,这个相对难度比较大,学习的知识会比较多,当然完全按照CLFS制作一般是不会出错的,但如果要更改交叉工具链的相关东西(比如工具的存放目录等),就得好好理解一翻了,个人认为这里面设及到两个比较重更的参数及文件用法(--with-sys 参数 和 specs 文件),以及程序编译时库链接与标准库装载器等方面的知识。
基缺点是支持的CPU类种不够多(目前只支持mips,sparc V8,PowerPc,x86)
二.下面介绍下用crosstool-ng制作工具链的过程(龙芯)
1.下载 crosstool-ng (下载地址:)
安装 crosstool-ng
#apt-get install sed bash cut dpkg-dev bison flex patch texinfo automake m4 libtool stat cvs websvn tar gzip bzip2 lzma readlink libncuses5-dev -y
注意:crosstool-ng 需要依赖很多工具,如果上面列举不全,请在后面过程种出错后再次添加
# tar xf crosstool-ng-1.9.0.tar.gz
# cd crosstool-ng-1.9.0
# ./configure && make && make install
2. # mkdir cross-tools //建立一个目录用以编译交叉工具链
# cd cross-tools
# ct-ng menuconfig //进行配制
# ct-ng build //开始编译 要1个小时 前提是把相应的软件包都下载好了存放在一个目录里面
gcc-4.3 for mips的在 crosstool-ng官网有配置单,这里选择gcc-4.4.3为例进行说明(gcc4.4 开始支持 -march=loongson2e/2f),其所需软件如下:
gcc-4.4.3 kernel-2.6.31.14 binutils-2.20.1 glibc-2.9 GMP-4.3.2 MFPR-3.0.0 PPL-0.10.2 CLooG/ppl-0.15.9
详细配置见附件: crosstool-ng_for_loongson.zip