Table of Contents
|
设备和软件基本信息
开发板为迅为iTop-4412精英版(Elite),核心板采用SCP封装,1 GB内存。
开发计算机操作系统为Windows Server 2012 R2 Datacenter x64,在VMware Workstation Pro 15.5中运行64位Ubuntu 12.04.5 LTS系统。Ubuntu登录用户名为picsell-dois。
为便于操作,已将iTop-4412随附光盘内的文件挂载共享目录到Ubuntu的/mnt/hgfs/Shared/目录内的“iTOP-4412精英版光盘资料”文件夹。
进入Root操作环境
为便于操作,进入Root操作环境。首先在Ubuntu终端中输入指令:
sudo passwd
指定Root密码,随后输入指令:
su
进入Root操作环境。
若无特殊说明,以下操作均在Root操作环境下进行。
配置所需的ARM编译器及环境变量
Qtopia 2.2.0源代码使用arm-linux-4.4.1编译器编译,因此需要进行编译器配置:
cd /usr/local/arm/
cp '/mnt/hgfs/Shared/iTOP-4412精英版光盘资料/08_源码_QtE以及qtopia2.2.0文件系统/arm-linux-4.4.1.tar.gz' ./
tar -vxf arm-linux-4.4.1.tar.gz
配置环境变量:
sudo gedit /root/.bashrc
通过在行首添加井号(“#”)的方式注释掉先前添加的其他编译器环境变量行(即export PATH=$PATH:/usr/local/arm/…这样的行),并在文件末尾添加:
#Compiler path for Qtopia 2.2.0
export PATH=$PATH:/usr/local/arm/4.4.1/bin
保存并退出,回到终端并更新环境变量:
source /root/.bashrc
随后安装X11 SDK:
apt-get install libx11-dev libxext-dev libxtst-dev
可以通过在终端键入arm-none-linux-gnueabi-gcc -v指令并按回车键执行的方式,检查编译器版本。
同时,为了便于今后的操作,也可以使用exit命令临时退出Root环境、返回当前登录用户的操作环境,并采用和上面一致的方法更新当前用户的环境变量:
gedit ~/.bashrc
source ~/.bashrc
配置Qtopia 2.2.0编译环境
先导工作
前期工作需要借用Android 4.0.3的配置编译环境中的安装脚本,安装大量的程序包,和Android 4.0.3编译环境不同,可以不执行安装Java的脚本:
cd /home/picsell-dois/
mkdir iTop4412
cd iTop4412
cp '/mnt/hgfs/Shared/iTOP-4412精英版光盘资料/02_编译器及烧写工具/tools/Android_JDK.tar.bz2' ./
tar -vxf Android_JDK.tar.bz2
cd Android_JDK
./install-devel-packages.sh
可以再次执行./install-devel-packages.sh来确保程序包安装完整。
对于笔者使用的Ubuntu 12.04.5 LTS系统,须重新安装xorg以及libgl1-mesa库,否则重启虚拟机后可能无法进入图形界面:
apt-get install xorg
apt-get install libgl1-mesa-glx:i386
apt-get install libgl1-mesa-dev
请注意,以上代码块中提供的三行apt-get install指令是针对笔者使用的Ubuntu 12.04.5 LTS系统的,目的是修复执行./install-devel-packages.sh(这个脚本是针对Ubuntu 12.04.2 LTS编写的)时由于程序包冲突而被破坏的图形环境,并安装编译所需的正确的库。
如果您使用的是Ubuntu 12.04.2 LTS系统,那么只需要执行./install-devel-packages.sh安装随iTop-4412光盘提供的脚本即可,千万不要执行上代码块中提供的三行apt-get install指令,否则您的操作系统将无法启动到图形界面。
最后,依次执行:
apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 50
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 50
update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.4 100
update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.6 50
降低Ubuntu系统自带的GCC版本到4.4.7,在终端输入gcc -v指令并按回车键执行,即可检查GCC版本。
补充库文件
通过以下指令序列,配置Qtoptia 2.2.0所需的库文件:
cd '/mnt/hgfs/Shared/iTOP-4412精英版光盘资料/08_源码_QtE以及qtopia2.2.0文件系统/patch/'
cp ./tslib.tar.gz /usr/local/
cd /usr/local/
tar -vxf tslib.tar.gz
cd '/mnt/hgfs/Shared/iTOP-4412精英版光盘资料/08_源码_QtE以及qtopia2.2.0文件系统/patch/'
cp ./libXext.so.6.4.0 /usr/lib32/
cp ./libXmu.so.6.2.0 /usr/lib32/
cp ./libSM.so.6.0.1 /usr/lib32/
cp ./libICE.so.6.3.0 /usr/lib32/
cp ./libXt.so.6.0.0 /usr/lib32/
cd /usr/lib32/
ln -s libXext.so.6.4.0 libXext.so.6
ln -s libXext.so.6 libXext.so
ln -s libXmu.so.6.2.0 libXmu.so.6
ln -s libXmu.so.6 libXmu.so
ln -s libSM.so.6.0.1 libSM.so.6
ln -s libSM.so.6 libSM.so
ln -s libICE.so.6.3.0 libICE.so.6
ln -s libICE.so.6 libICE.so
ln -s libXt.so.6.0.0 libXt.so.6
ln -s libXt.so.6 libXt.so
cd '/mnt/hgfs/Shared/iTOP-4412精英版光盘资料/08_源码_QtE以及qtopia2.2.0文件系统/patch/'
cp ./libuuid.so.1.3.0 /lib32/
cd /lib32/
ln -s libuuid.so.1.3.0 libuuid.so.1
ln -s libuuid.so.1 libuuid.so
安装生成系统镜像文件所需的工具
为了生成系统镜像system.img,需要安装mkimage工具:
cd '/mnt/hgfs/Shared/iTOP-4412精英版光盘资料/02_编译器以及烧写工具/tools/'
cp ./linux_tools.tgz /
cd /
tar -vxf linux_tools.tgz
至此,Qtopia 2.2.0编译和镜像构建环境搭建完毕。