Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21045
  • 博文数量: 10
  • 博客积分: 1401
  • 博客等级: 上尉
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 13:34
文章分类

全部博文(10)

文章存档

2009年(10)

我的朋友

分类:

2009-12-17 14:48:47

 

linux下最直接的方法就是标明--host=arm-linux 直接交叉编译,不过这种失败的可能性最大,因为configure在探测系统的时候可能会得到错误的值。
所以有一些工具可以协助交叉编译,scratchbox,scratchbox2, open embedded

  1. scratchbox比较简单,直接用chroot的方式改变root目录,然后模拟本地编译,用qemu模拟arm指令执行。gpephone很多人用的是scratchbox。
  2. scratchbox2 是另外一个实现,也是模拟本地编译。通过lua映射根文件系统,利用LD_PRELOAD调用crosstoolchain。不过感觉sbox2做得还不 是很好,默认它调用gcc会有一个--sysroot参数,但是4.0以下的gcc一般都是不支持的;另外感觉目录映射做得也不好,ls /usr是空的,但是如果mkdir /usr/share会说目录存在,没有权限之类。
  3. openembedded比较复杂。oe任务执行主要依靠bitbake,一个python写的脚本,本身也比较复杂。oe配置好以后,可以自动build整个系统,甚至生成image文件。openmoko用的就是OE。gpephone据说也可以用OE编译。
  4. 使用crosstools ?????????????

转自:http://hi.baidu.com/littertiger/blog/item/66008e1170d8037ccb80c4a5.html

阅读(597) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~