Linux安装MeeGo SDK实现真实设备环境调试(ExoPC)
2011-06-05 16:18 yang_2003 阅读(255) 评论(0) 收藏 举报终于,受MeeGo Summit FI 大会的触动,决定设法找些时间研究并尝试在Linux上安装MeeGo SDK。因为ExoPC的缘故,可能会遇到突然出现而需要另外花时间解决的问题。在这里记录下这些,对他人或许会有用处。
开始
桌面电脑运行Ubuntu 10.10
ExoPC 运行最新的MeeGo Tablet UX镜像
安装MeeGo SDK
首先是安装MeeGo SDK,下载meego-sdk ubuntu安装包然后安装,很简单。具体参考MeeGo wiki,只需几步:add repo -> get the PGP key -> update repos -> install meego-sdk
目标环境(target)安装
当安装好SDK后,就可以开始创建目标环境用来编译meego应用程序。在meego SDK中,有目标环境(targets)和运行环境(runtimes)两种。目标环境(target)包含了meego环境下的工具链和二进制包,而运行环境(runtime)是一个系统镜像用来运行编译好的应用程序,其本身运行在QEMU虚拟机上。在这里,因为已有真实设备环境,所以只使用目标环境(target)。
使用 mad-admin list 命令可以查看已安装和可安装的目标环境(targets),输出显示如下:
Targets:
fremantle-pr13 (installable)
maemo412-1 (installable)
meego-core-armv7l-1.1 (installable)
meego-core-armv7l-1.1.2 (installable)
meego-core-armv7l-trunk (installable)
meego-core-ia32-1.1 (installable)
meego-core-ia32-trunk (installable)
meego-handset-ia32-1.1.2 (installable)
meego-handset-ia32-1.1 (installable)
meego-handset-ia32-w32-1.1 (installable)
meego-handset-ia32-trunk (installable)
meego-netbook-ia32-1.1.2 (installable)
meego-netbook-ia32-1.1 (installed)
meego-netbook-ia32-w32-1.1 (installable)
meego-netbook-ia32-trunk (installable)
对于ExoPC,我选择了 meego-netbook-ia32-1.1,也试过 meego-netbook-ia32-trunk,但是不成功,只是显示如下信息:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
Warning: Transient problem: FTP error Will retry in 1 seconds. 5 retries left.
0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
Warning: Transient problem: FTP error Will retry in 2 seconds. 4 retries left.
0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
Warning: Transient problem: FTP error Will retry in 4 seconds. 3 retries left.
然后使用命令 sudo mad-admin create -f meego-netbook-ia32-1.1 安装目标环境 (target)。这将下载目标环境并把它们存放在 /usr/lib/madde/linux-i686/targets/meego-netbook-ia32-1.1 下。这个目录还包含有一些必须的工具,如 qmake、Qt libs。另外,还有一个 information 文件显示构建目标环境(target)的组件。
sysroot meego-core-ia32-madde-sysroot-1.1-fs
toolchain meego-sdk-i586-toolchain-1.1-linux_i686
runtime meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime
qttools qt-tools-4.7.0-linux_i686
os Linux
arch i586
在linux-i686上,sysroot和工具链分别可以在 /usr/lib/madde/linux-i686/sysroots/ 和 /toolchains 目录下找到。
Qt Creator 配置
现在目标环境已配置好,meego-sdk-qtCreator 也有了,那么就可以启动它了。首先是设置Qt路径,请到SDK wiki 页面”Configuring Qt Creator to use the MeeGo toolchain(s)“章节查看相关内容。之后,Qt就可以被找到,便能编译应用程序了。
配置ExoPC实现移植/调试功能
要实现调试功能,你必须将主机(host PC)和平板电脑放在同一个网络,很明显WLAN是主要的选择。同时,平板电脑需启动时就运行SSH daemon,并且IP地址可以在WIFI设置界面看见。
在meego QtCreator中,到 Tools->Options->Projects->MeeGo Device Configurations。按下面配置:
Authentication type: Password
Host name: <ExoPC’s IP> <– TODO::为平板电脑配置一个静态IP地址
Username: root
Password: meego
也试过分配一个公共的SSH钥匙(public SSH key)给ExoPC ,但是由于某些原因在提示”Device configuration test failed: Could not connect to host“ 后连接便失败了。
完成这些设置后,按 'Apply' 。然后再按 'Test' 按钮测试,看看是否成功。这时,你应该看到一个对话框内容是 "Device configuration successful" 以及内核版本和已安装Qt包的信息。
开始编译应用程序
第一次测试,我选择了Qt 4.7范例中的fingerpaint程序,可以在 Examples/4.7/touch/fingerpaint 下找到。打开 'the project' ,然后选择在上面配置目标环境的Qt版本。
为了部署到设备,点 'Projects' 标签(左边),在 'MeeGo Build/Run' 选择框(顶部)中选择 'Run',设置 'Deploy to device' 为你的调试设备。
有一处不得不自己定义一下:至少是fingerpaint这个范例,由于Qt Creator创建的RPM包试图在 /usr/local/bin 中寻找二进制文件,所以当点运行按钮(绿色的 'Play' 按钮)运行程序时,会失败。修复此问题,再点选左边 'Projects' 标签,选 'Build' 按钮。然后,改变一下创建包的步骤,按 'Details' 改变'Remote File Path' 为 /usr/share/qt4/examples/touch/fingerpaint/fingerpaint。
现在按 'Run' 按钮应该能显示如下画面:
因为设备配置完成并部署成功,所以真实设备调试(on-device-debugging)工作得非常好!
浙公网安备 33010602011771号