原创 移植最新linux到2440开发板:Build最新工具链

2015-2-22 16:50 1149 9 9 分类: MCU/ 嵌入式 文集: 娱乐一下linux
因为我那块陈旧2440开发板自带的工具链,并不能成功编译最新的uboot和内核。所以先从Build最新工具链开始吧。
 
一,crosstool与crosstool-ng
    本来从零开始编译一个工具链是一个很辛苦很繁琐的事情,但自从crosstool出现后,一切变得那么傻瓜化。
      crosstool是一套自动编译工具链的工具,它会根据用户配置,自动从网上下载特定版本的GNU工具(如gcc,gdb,glibc,binutils等)和内核源码,编译生成用户自己的工具链。
      crosstool-ng是crosstool next generation的意思。crosstool最后一个版本只支持到2.6.x版本的内核。而后出现了crosstool-ng,并一直在更新以支持最新的内核和工具链。
 
二,下载安装crosstool-ng
从http://www.crosstool-ng.org/download/crosstool-ng/可以下载到crosstool-ng。
最新的版本为1.20.0,该版本没有补丁,直接下载压缩包,解压,配置。
tar jxvf crosstool-ng-1.20.0.tar.bz2
cd crosstool-ng--1.20.0
./configure
make
        sudo make install
        配置的时候,如果报错,根据错误提示安装相应软件包即可。(ubuntu上直接用apt-get install xxx一切皆搞定)
安装好以后,就可以用命令ct-ng了。
 
三,下载zlib1g-devlibexpat-dev
编译ct-ng前,请确保安装了上面两个包
 
四,配置和编译工具链
cp samples/arm-unknown-linux-gnueabi/crosstool.config .config
ct-ng menuconfig
20150220180914880.jpg
      使用图形界面来配置工具链,一切那么傻瓜化,当然配置选项其实很多。如果想详细了解google一下就是。
配置在这里就用默认的即可,当然,把编译后的工具链的名称改了一下,改成了arm-jing2440-linux-gnueabi
注:在Toolchain options --->(tonghuix) Tuple's vendor string  这里可以修改成你自己的个性化名称,最后会生成形如arm-yourname-linux-gnueabi这样的编译器前缀。
 
配置好以后,保存配置。
输入编译命令:ct-ng build
漫长的下载和编译过程开始了,大约2~3个小时后,终于成功了,如下图:
20150220181910792.jpg
 
生成的工具链如下图:
20150220182610868.jpg
20150220182654923.jpg

 

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条