Maemo 是Linux的一个嵌入式发行版,支持ARM构架,其开发环境自然是桌面Linux了。由于Maemo使用了Debian包管理系统,所以最好还是在Debian或者Ubuntu上搭建开发环境了(目前支持X86和ARM两个构架)。为了简化开发,推荐使用Scratchbox 作为沙盒,该软件能够很好的虚拟Maemo环境以便于调试,并提供了很好的跨平台编译支持。如果你没有Linux环境,请从这里 下载Nokia提供的镜像,并在VMPlayer 上使用。
注意,Scratchbox需要内核提供binfmt_misc支持。该项通常被编译成模块,可使用命令lsmod | grep binfmt查看当前是否已加载此模块,或查看/proc/sys/fs/binfmt_misc/status文件判断是否支持该功能。此外,如果你是 AMD64(x86_64)的构架,还需要安装ia32-libs以提供对32位库的支持。 并且,Scratchbox和Linux内核的VDSO特性冲突,需要按照这里 的描述将其关闭。
现在开始安装。首先下载安装脚本并添加执行权限 :
wget -c http://repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh
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中开发和测试了。