使用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目录下面,否则,一些头文件和库就找不到了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值