使用OE製作arm-linux交叉工具鏈

目前製作交叉工具鏈的辦法,我所知道的:
1.手工編譯,這個太複雜了,我試過幾次,都沒成功
2.使用crosstool,這個比較方便,但是好像crosstool沒有維護了。
3.使用oe,這個方法不錯,而且將來也可以用oe來編譯其他的包,直至編譯整個系統。

所有工作都在 ~/oe 下完成
mkdir ~/oe
cd ~/oe

1.獲取bitbake
cd ~/oe
svn co svn://svn.berlios.de/bitbake/branches/bitbake-1.8/ bitbake

2.獲取oe
cd ~/oe
git clone git://git.openembedded.net/openembedded

3.準備oe的配置文件
cd ~/oe
mkdir build
mkdir build/conf
cp openembedded/conf/local.conf.sample build/conf/local.conf

vim local.conf

下面是需要改動的地方:

oe會將下載的sources放在這個目錄:
DL_DIR = "${HOME}/oe/sources"

所有.bb file的位置
BBFILES := "${HOME}/oe/openembedded/packages/*/*.bb"

目標平臺,這裏面定義了CPU類型,我用的是s3c2440, 跟smdk2440開發板用的CPU一樣,所以就指定了這個,所有的MACHINE可以參見 openembedded/conf/machine
MACHINE="smdk2440"
DISTRO = "angstrom-2008.1"

同時運行的線程數,如果是多核CPU的話,指定這個可以提高編譯速度
BB_NUMBER_THREADS = 3

最後工具鏈生成的地方:
TMPDIR = /opt/armcross

注意最後的 REMOVE_THIS_LINE,要把這行註釋掉。

4.開始編譯toolchian
export BBPATH=~/oe/build/:~/oe/openembedded/
export PATH=~/oe/bitbake/bin/:$PATH
bitbake meta-toolchain
如果提示缺少某些包,則要先安裝這些包。

整個編譯過程完成後,/opt/armcross目錄下,除了cross和staging目錄保留外,其他的都可以刪除,toolchain就在/opt/armcross/cross/armv4t/bin下面。可以將/opt/armcross目錄打個包,以便安裝到另外的機器上。需要注意的是,將toolchain安裝到另外的機器上時,要保證仍是安裝在/opt/armcross目錄下面,否則,一些頭文件和庫就找不到了。

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/hulifox007/archive/2009/02/19/3911217.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章