BLOG > Zaurus / ARM > 建立SmartQ5的编译环境
建立SmartQ5的编译环境
文章信息
关键字:smartq5; MID; compile
本文版本:5
最后修改于 2010-06-20 22:20:38
其实这篇文章应该是在今年2月就要发表的,后来一偷懒就忘掉了。好记性不如烂笔头,幸亏当时记下来了,否则现在又忘得光光的了。现在贴在Blog上,以后万一想不起来,检索起来也就方便了。
事情是这样开始的……(怎么跟说故事一样)话说SmartQ5这个玩意用起来还真不错,特别是做电子书。我这人有睡前看半小时书的习惯,之前的Zaurus现在的Q5,对于我来说,最喜欢的功能就是电子书了。可惜SmartQ5当时原系统的Firmware中带的fbreader阅读器的版本是0.8.17的,版本较低,虽然用着还算比较方便,但是和新的0.12.x的版本比起来,少了网络书屋等等功能,所以想自己编译一个新版本的。于是就自己费尽九牛二虎之力,用crosstool-ng搭建了一个交叉编译环境。不料某天在网上闲逛,看到了ubuntu的wiki上一篇文章,发现原来使用EABIchroot来搭建编译环境要方便得多(虽然编译速度稍微慢一些)。
在编译测试fbreader 0.12版本时,我发现fbreader在SmartQ5上的一些Bug,于是就与fbreader开发团队取得了联系,fbreader的Nikolay准备修复这些Bug,于是向我询问了为SmartQ5建立编译环境的方法,我就把我学来的使用EABI chroot建立编译环境的方法告诉了他。果然,没多久,为SmartQ5优化的fbreader出炉了:)
下面是使用linux创建SmartQ5编译环境的办法。
如果要在你的x86电脑使用 eabi chroot 来编译软件,必须先从软件仓库安装 qemu-arm-static 包。
安装qemu chroot之后,输入如下命令修改chroot环境的软件仓库的源到arm源:
将文件修改成如下内容:
更新apt:
安装编译所需的 build-essential等软件包:
为了方便起见创建一个用于编译的环境变量文件 compile.env:
BASH代码:
以后如果要编译软件,在编译前可以使用如下命令导入编译环境参数:
好啦,可以开始编译你要在Q5上使用的软件了。 Enjoy it~
事情是这样开始的……(怎么跟说故事一样)话说SmartQ5这个玩意用起来还真不错,特别是做电子书。我这人有睡前看半小时书的习惯,之前的Zaurus现在的Q5,对于我来说,最喜欢的功能就是电子书了。可惜SmartQ5当时原系统的Firmware中带的fbreader阅读器的版本是0.8.17的,版本较低,虽然用着还算比较方便,但是和新的0.12.x的版本比起来,少了网络书屋等等功能,所以想自己编译一个新版本的。于是就自己费尽九牛二虎之力,用crosstool-ng搭建了一个交叉编译环境。不料某天在网上闲逛,看到了ubuntu的wiki上一篇文章,发现原来使用EABIchroot来搭建编译环境要方便得多(虽然编译速度稍微慢一些)。
在编译测试fbreader 0.12版本时,我发现fbreader在SmartQ5上的一些Bug,于是就与fbreader开发团队取得了联系,fbreader的Nikolay准备修复这些Bug,于是向我询问了为SmartQ5建立编译环境的方法,我就把我学来的使用EABI chroot建立编译环境的方法告诉了他。果然,没多久,为SmartQ5优化的fbreader出炉了:)
下面是使用linux创建SmartQ5编译环境的办法。
如果要在你的x86电脑使用 eabi chroot 来编译软件,必须先从软件仓库安装 qemu-arm-static 包。
# sudo apt-get update
# sudo apt-get install qemu-arm-static
然后使用内含的debootstrap包装脚本来创建 chroot 环境:# sudo apt-get install qemu-arm-static
# build-arm-chroot karmic eabi-chroot
[sudo] password for ogra:
I: Retrieving Release
I: Retrieving Packages
...
I: Base system installed successfully.
arm-eabi chroot successfully created in eabi-chroot
# sudo chroot eabi-chroot
root@svr:/# uname -m
armv5tel
[sudo] password for ogra:
I: Retrieving Release
I: Retrieving Packages
...
I: Base system installed successfully.
arm-eabi chroot successfully created in eabi-chroot
# sudo chroot eabi-chroot
root@svr:/# uname -m
armv5tel
安装qemu chroot之后,输入如下命令修改chroot环境的软件仓库的源到arm源:
# sudo chroot eabi-chroot
# sudo vi /etc/apt/sources.list
# sudo vi /etc/apt/sources.list
将文件修改成如下内容:
# karmic 9.10
deb http://ports.ubuntu.com/ karmic main restricted universe multiverse
deb-src http://ports.ubuntu.com/ karmic main restricted universe multiverse
deb http://ports.ubuntu.com/ karmic main restricted universe multiverse
deb-src http://ports.ubuntu.com/ karmic main restricted universe multiverse
更新apt:
# sudo apt-get update
安装编译所需的 build-essential等软件包:
# sudo apt-get -y install build-essential libgtk2.0-dev
为了方便起见创建一个用于编译的环境变量文件 compile.env:
BASH代码:
- ############################################################
- # Script to setup cross compile environment #
- # for ARM-gnueabi cross compile environment #
- ############################################################
- # Version : 0.3 #
- # Author : Wells Wang <wellswang(at)osall(dot)com> #
- # Date : 2009-11-13 #
- # Usage : source my.env #
- ############################################################
- export PREFIX=/usr/local
- export LD_LIBRARY_PATH=${PREFIX}/lib:/usr/lib:/lib
- export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig:/usr/lib/pkgconfig
- export LD_RUN_PATH=${LD_LIBRARY_PATH}
- export CC=gcc
- export CXX=g++
- export AR=ar
- export RANLIB=ranlib
- export NM=nm
- export AS=as
- export LD=ld
- export STRIP=strip
- export READELF=readelf
- export STRINGS=strings
- export SIZE=size
- export ADDR2LINE=addr2line
- export GCJ=gcj
- export CFLAGS="-O2 -mtune=arm1176jzf-s -mcpu=arm1176jzf-s -I${PREFIX}/include -I/usr/include -mfpu=vfp -mfloat-abi=softfp"
- export CXXFLAGS=${CFLAGS}
- export CPPFLAGS=${CFLAGS}
以后如果要编译软件,在编译前可以使用如下命令导入编译环境参数:
# source compile.env
好啦,可以开始编译你要在Q5上使用的软件了。 Enjoy it~
日历
| 年 月 | ||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
| 29 | 30 | 31 | 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 1 | 2 |
日志分类
搜索日志
订阅我的日志
友情链接
[做人要厚道,看帖要回帖,点击发表评论]
显示评论
隐藏评论
评论列表
发布于 2010-06-20 22:03:09 |



