在Ubuntu 9.10上安装Maemo 5和Qt 4开发环境
摘自我的博客:http://xizhizhu.blogspot.com/2009/11/ubuntu-910maemo-5qt-4.html
Maemo是Linux的一个嵌入式发行版,支持ARM构架,其开发环境自然是桌面Linux了。由于Maemo使用了Debian包管理系统,所以最好还是在Debian或者Ubuntu上搭建开发环境了(目前支持X86和ARM两个构架)。为了简化开发,推荐使用Scratchbox作为沙盒,该软件能够很好的虚拟Maemo环境以便于调试,并提供了很好的跨平台编译支持。如果你没有Linux环境,请从这里下载Nokia提供的镜像,并在VMPlayer上使用。
注 意,Scratchbox需要内核提供binfmt_misc支持。该项通常被编译成模块,可使用命令lsmod | grepbinfmt查看当前是否已加载此模块,或查看/proc/sys/fs/binfmt_misc/status文件判断是否支持该功能。此外,如果你是AMD64(x86_64)的构架,还需要安装ia32-libs以提供对32位库的支持。并且,Scratchbox和Linux内核的VDSO特性冲突,需要按照这里的描述将其关闭。
现在开始安装。首先下载安装脚本并添加执行权限:
wget -chttp://repository.maemo.org/stab ... hbox-install_5.0.sh[/url]
chmod a+x ./maemo-scratchbox-install_5.0.sh ./maemo-sdk-install_5.0.sh
然后安装Scratchbox。如果是AMD64的系统,执行命令:
sudo ./maemo-scratchbox-install_5.0.sh -F -u $USER
如果是i386的系统,则执行命令:
sudo ./maemo-scratchbox-install_5.0.sh -u $USER
安装脚本会自动下载所需的安装程序,并进行安装。
接下来安装Maemo SDK:
newgrp sbox
./maemo-sdk-install_5.0.sh
接受协议和选择要安装的包后,脚本会自动下载所需的包并进行安装。安装完成后,就可以登录到Scratchbox环境中了:
/scratchbox/login
最后需要安装Nokia提供的私有二进制包。首先接受这里的EULA,然后将repository entry添加到Scratchbox环境的/etc/apt/sources.list文件中,执行以下命令进行安装:
sb-conf select FREMANTLE_ARMEL
vi /etc/apt/sources.list # add repository entry
apt-get update
fakeroot apt-get install nokia-binaries nokia-apps
sb-conf select FREMANTLE_X86
vi /etc/apt/sources.list # add repository entry
apt-get update
fakeroot apt-get install nokia-binaries nokia-apps
OK,现在就可以在Scratchbox中开发和测试了。
如果你希望删除开发环境,执行下面两条命令:
sudo apt-get remove scratchbox-* --purge
sudo rm -rf /scratchbox
下面安装Qt 4的开发环境。如果你希望安装Qt 4.5.3,则直接执行命令:
fakeroot apt-get install libqt4-dev
如果希望安装Qt 4.6 Preview,则首先需要添加以下repository entry到Scratchbox环境的/etc/apt/sources.list文件:
deb http://repository.maemo.org/extras/ fremantle free non-free
deb-src http://repository.maemo.org/extras/ fremantle free
deb http://repository.maemo.org/extras-devel fremantle free non-free
deb-src http://repository.maemo.org/extras-devel fremantle free
然后再进行安装:
fakeroot apt-get install libqt4-maemo5-dev
最后将/opt/qt4-maemo5/bin添加到环境变量中即可。
最后的最后,测试下安装的Qt环境。写一个简单的“Hello, Maemo”程序,然后用qmake编译。不过编译好的程序不能直接运行,需要在Scratchbox外运行Xephyr:
Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb
然后在Scratchbox中设置程序的显示输出:
export DISPLAY=:2
接着在Xephyr窗口中虚拟一个Maemo桌面:
af-sb-init.sh start
OK,现在就可以在这个虚拟桌面中运行Qt程序了:
run-standalone.sh ./qtapps
好了,就这么多。如果有任何疑问和修正,请告知;o
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不错不错。
sudo ./maemo-scratchbox-install_5.0.sh -u $USER
This script will install Scratchbox 1.0.14 'apophis' release to your computer.
Install options
---------------
Install from packages=apt
Scratchbox install path=/scratchbox
Scratchbox group=sbox
armel compiler=cs2007q3-glibc2.5-arm
i386 compiler=cs2007q3-glibc2.5-i386
armel devkits=perl:debian-etch:qemu:doctools:svn:git
i386 devkits=perl:debian-etch:doctools:svn:git
armel CPU transparency=qemu-arm-sb
Checking for prerequisites
--------------------------
Running as user root... yes
Not running as user root inside fakeroot... yes
Running outside of scratchbox... yes
Scratchbox installation existing... no
Running on Linux kernel... yes
Running on i386 architecture... yes
Host kernel binfmt_misc support... yes
Host kernel VDSO support... no
E: Host kernel VDSO support is incompatible with scratchbox.
E: You can disable VDSO support for this session with
E: 'echo 0 > /proc/sys/vm/vdso_enabled' as root
E: For a permanent solution you may add 'vm.vdso_enabled = 0'
E: to /etc/sysctl.conf and run 'sysctl -p' as root
照此操作已经完成helloworld。谢谢楼主。
good!!好资料··