下 深度剖析E680G开发五.移植OPIE操作系统-编译和运行OPIE

一、前言


这是最后的内容,然而却有很大的遗憾,如果运行OPIE,但E680原有系统依然
会接受的键盘和触摸屏的事件,这种情况下几乎不能正常使用OPIE,必须telnet进
手机kill掉windowserver,这实在是无聊的很 。
这个问题早在去年已经被一位外国友人解决 。不过相关源码贴子的链结皆已失效,
不能尽快的找出解决方法,但在网上可以搜索到完美编译后的OPIE下载 。
如有那位前辈知道解决方法,一定请赐教,不甚感激 。

我之所以还要把带有遗憾的方法写出来,那是因为这些内容覆盖面相当多了,
层次也很高了 。
以后找出解决方法,有了这些知识基础,就随心所欲了 。
二、重要提示
为了方便更好的理解本文,提供下面链结 。
E680应用开发全系列的文章地址:http://blog.csdn.net/liwei_cmg
文章相关的重要资源的下载地址:http://play.younet.com/view.php?tid=18578
三、编译OPIE
1.http://marcus.bluetroll.se/e680/opie-cvs.tar.gz 下载 opie-cvs.tar.gz

注意:其实编译过程可以看opie-cvs.tar.gz里的README 。我们这里同样使用了Leprechaun
的方法 。
2.在ftp://ftp.trolltech.com/qt/source/qt-embedded-2.3.10-free.tar.gz
此OPIE版本指定需要使用qt 2.3.10版本 。
3.同样为了便于管理,统一在 /home/gcc/toolchain 下解压缩OPIE和QT 。

4.设置环境变量

export TOOLCHAIN_DIR=/home/gcc/toolchain
export PATH=$PATH:$TOOLCHAIN_DIR/arm-linux/gcc-3.3.2-glibc-2.3.2/bin
export QTDIR=$TOOLCHAIN_DIR/qt-2.3.10
export OPIEDIR=$TOOLCHAIN_DIR/opie
export LFLAGS_EXTRA=" -Wl,-rpath-link,$TOOLCHAIN_DIR/arm-linux/gcc-3.3.2-glibc-2.3.2/arm-linux/lib "

5.执行如下脚本,这是编译QTE所做的准备工作,这里需要下载uic-qt2这个文
件,上篇文章已经说明

mkdir -p $QTDIR/bin
cp uic-qt2 $QTDIR/bin/uic
chmod u x $QTDIR/bin/uic#root用户这个就没有必要了
ln -s $OPIEDIR/qt/qconfig*.h $QTDIR/src/tools/#README里已说明,使用OPIE选项进行编译
cd $QTDIR
patch -p1 < $OPIEDIR/qt/qt-2.3.10.patch/qte-2.3.10-all.patch#qt的OPIE补丁

6.编译QTE

cd $QTDIR
./configure -qconfig qpe -depths 16,32 -xplatform linux-arm-g
-thread -no-qvfb -system-jpeg -gif -system-zlib -no-xft
make

7.编译OPIE

cd $OPIEDIR
make menuconfig
cp opie-config $OPIEDIR/.config
make

注意:这个opie-config是Leprechaun提供的config文件,用户也可以直接在
menuconfig自行设置,其实包含需要编译的OPIE功能 。本资源贴提供了下载 。

8.至此OPIE已经编译成功 。如果要在手机上运行,我们这里需要对他进行一些
精简,去除一些无关紧要的东西 。
#!/bin/bash
export REALOPIE=/home/gcc/moto
mkdir -p $REALOPIE/i18n
cp -a $OPIEDIR/bin $OPIEDIR/apps $OPIEDIR/lib $OPIEDIR/pics $OPIEDIR/sounds $OPIEDIR/plugins $OPIEDIR/pics-hires $REALOPIE
cp -a $OPIEDIR/i18n/en $REALOPIE/i18n/
cp -a $QTDIR/lib/* $REALOPIE/lib/
find $REALOPIE -type d -name CVS | xargs rm -rf

我们把精简的路径设为/home/gcc/moto,复制完全后,这个就是我们需要放
在手机上的文件夹 。
四、手机上运行OPIE
这里有三种方法 。我们将做一一介绍 。

    推荐阅读