---
>SB_PATH="/opt/scratchbox"
2297a2298
>opt=opt+"-s/opt/scratchbox"
2351a2353
>cmd=cmd+"-s/opt/scratchbox"
另外,你也应该去除安装Xephyr的选项,然后手工安装它。
使用wget下载安装程序。
$wgethttp:
//repository.maemo.org/stable/5.0/maemo-sdk-install-wizard_5.0.py
为安装程序添加可执行权限
$chmoda+xmaemo-sdk-install-wizard_5.0.py
安装需要root权限。
Ubuntu
$sudo./maemo-sdk-install-wizard_5.0.py
Debian
$su-c./maemo-sdk-install-wizard_5.0.py
注意:
∙因为安装程序需要进行软件包安装,你应该在安装前,先退出其他的包管理程序。
∙需要注意的是,Scratchbox的路径检测并不完美,你必须将它安装在/scratchbox目录下。
∙另外,安装程序需要pyQt的支持,老版本的Ubuntu和Debian可能没有提供pyQt。
∙在64位系统上,安装程序将显示需要做哪些设置,但不会自动进行配置,你需要手工配置它们。
∙安装程序会将DISPLAY环境变量设置为":
2",如果你想使用其他值,请手工更改。
[Edit]在基于Debian的X86-32Linux发行版上安装Maemo5SDK
1.下载Scratchbox和MaemoSDK的安装脚本。
你也可以在Nokia开发论坛(MaemoSDKatForumNokia)上下载到同样的脚本。
$wgethttp:
//repository.maemo.org/stable/5.0/maemo-scratchbox-install_5.0.shhttp:
//repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh
2.为脚本添加可执行权限。
$chmoda+x./maemo-scratchbox-install_5.0.sh./maemo-sdk-install_5.0.sh
3.以root权限运行Scratchbox安装脚本,同时指定需要添加到Scratchbox用户组的用户。
该用户必须是宿主Linux系统中有效的用户。
这将下载大约420MB的内容,不支持断点续传。
$sudo./maemo-scratchbox-install_5.0.sh-uUSER
4.安装脚本将会在“sbox”用户组中添加指定的用户。
要使改设置在当前终端进程中生效,你需要执行以下命令。
∙注意:
如果你已经登录进了Scratchbox环境,这个命令将改变当前的用户组ID。
如果你不想改变,只要从Scratchbox环境中注销再重新登录即可。
$newgrpsbox
5.这时,你已经获得了一个可用的Scratchbox环境。
6.继续进行MaemoSDK的安装。
这个脚本需要在Scratchbox环境外,以安装时指定的用户权限运行。
首先,为脚本用户添加可执行权限。
$sudochmod+x./maemo-sdk-install_5.0.sh
然后运行。
$./maemo-sdk-install_5.0.sh
如果你将Scratchbox安装到了/scratchbox以外的目录,你需要用“-sPATH”选项来指定你的Scratchbox目录。
你可以使用“--help”选项获得更多的命令行选项信息。
7.脚本成功执行完成后,你就可以登录Scratchbox环境了。
$/scratchbox/login
如果你无法登录,请看一下Scratchbox的问题。
8.你需要接受Nokia的最终用户许可协议,才能够获取Nokia提供的二进制软件包。
安装这些软件包后,你将会获得MaemoSDK的完整功能。
8.1.通过这个页面,接受最终用户许可协议。
8.2.将接受最终用户许可协议后获得的软件源地址,分别添加到x86和armel两个编译目标环境的/etc/apt/source.list文件中。
在两个目标环境下,分别执行以下命令。
[sbox-FREMANTLE_X86:
~]>sb-confselectFREMANTLE_ARMEL
[sbox-FREMANTLE_ARMEL:
~]>nano/etc/apt/sources.list#添加软件源地址
[sbox-FREMANTLE_ARMEL:
~]>apt-getupdate
[sbox-FREMANTLE_ARMEL:
~]>fakerootapt-getinstallnokia-binariesnokia-apps
[sbox-FREMANTLE_ARMEL:
~]>sb-confselectFREMANTLE_X86
[sbox-FREMANTLE_X86:
~]>nano/etc/apt/sources.list#添加软件源地址
[sbox-FREMANTLE_X86:
~]>apt-getupdate
[sbox-FREMANTLE_X86:
~]>fakerootapt-getinstallnokia-binariesnokia-apps
以上步骤将安装Nokia的二进制文件包,一些开源工具包依赖它们。
这样,你就完成了Maemo5SDK开发环境的配置,可以动手进行开发了。
[Edit]在OpenSUSE上安装Maemo5SDK
这是来自opensuse.org的安装指南。
[Edit]启动/终止SDK图形用户界面
在启动用户界面前,请先确认你已正确安装了以下内容:
∙Scratchbox环境外,宿主系统上的XephyrX11服务器
∙之前提到的SDK
∙Nokia二进制工具包
1.首先,在Scratchbox环境外,启动Xephyr:
Xephyr :
2-host-cursor-screen800x480x16-dpi96-ac-kb&
2.登录Scratchbox的X86编译目标环境
$/scratchbox/login
WelcometoScratchbox,thecross-compilationtoolkit!
Use'sb-menu'tochangeyourcompilationtarget.
See/scratchbox/doc/fordocumentation.
[sbox-FREMANTLE_X86:
~]>
3.设置DISPLAY环境变量,使之与Xephyr的设置相符。
[sbox-FREMANTLE_X86:
~]>exportDISPLAY=:
2
4.启动用户界面。
[sbox-FREMANTLE_X86:
~]>af-sb-init.shstart
5.图形界面将出现在Xephyr窗口中。
6.你可以用如下命令终止用户界面:
[sbox-FREMANTLE_X86:
~]>af-sb-init.shstop
[Edit]在基于Debian的X86-32Linux发行版上安装Maemo5SDK
由于Scratchbox只支持x86-32架构的linux宿主系统,因此,在x86-64系统中,我们需要强制安装x86-32的Scratchbox软件包。
在执行Scratchbox的安装脚本时,添加“-F”选项即可。
安装流程
∙下载Scratchbox和Maemo5SDK的安装脚本。
$wget-chttp:
//repository.maemo.org/stable/5.0/maemo-scratchbox-install_5.0.shhttp:
//repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh
∙为脚本添加可执行权限
$chmoda+x./maemo-scratchbox-install_5.0.sh./maemo-sdk-install_5.0.sh
∙以root权限运行Scratchbox安装脚本,并添加“-F”选项,同时指定需要添加到Scratchbox用户组的用户。
该用户必须是宿主Linux系统中有效的用户。
$sudo./maemo-scratchbox-install_5.0.sh-F-u$USER
在成功安装Scratchbox后,请参照x86-32系统的安装指南,继续安装Maemo5FinalSDK。
[Edit]在非Debian系统中启动Scratchbox
如果通过Debian的deb包安装了Scratchbox,Scratchbox的启动脚本/etc/init.d/scratchbox-core将被正确安装,Scratchbox也会在系统重启时自动启动。
如果你通过tarballs的方式安装了Scratchbox,那么当系统重启后,Scratchbox需要的挂载配置和binfmt_misc都将被清除。
要使Scratchbox在重启后继续工作,你需要以root权限执行以下命令:
$sudo/scratchbox/sbin/sbox_ctlstart
此外,你也可以将sbox_ctl作为一个系统脚本,添加到/etc/init.d目录下,并在对应的运行等级目录中创建链接。
在大多数系统中,方法如下:
$ln-s/scratchbox/sbin/sbox_ctl/etc/init.d/scratchbox-core
$/usr/sbin/update-rc.dscratchbox-coredefaults
请查阅你的系统文档,以了解相应的方法。
[Edit]自Maemo5Beta2SDK升级
不幸的是,从Beta2平滑地升级到FinalSDK是不可能的。
因此我们建议你重新安装FinalSDK。
在你操作以前,请先看一下下列指引。
一些随FinalSDK附带的Nokia应用程序使用了固定的路径,来指定用户的home目录。
为了使这些程序能够正常工作,你需要创建一个目录,路径与Nokia指定的路径相同。
这需要在Scratchbox环境外,以root权限操作。
Scratchbox安装脚本的“-u”选项将更新环境并创建必要的链接。
执行以下命令,为已有的Scratchbox用户创建必要的链接。
$sudo./maemo-scratchbox-install_5.0.sh-u
此外,你也可以手动创建链接。
如果Scratchbox被安装在了默认路径下,那么命令如下:
$sudoln-s/scratchbox/users//home//scratchbox/users//home/user
FinalSDK的安装脚本也在/target//目录下添加了/opt目录。
为了便于在/opt路径下安装应用程序,一些linux系统会创建一个指向/home/opt的链接作为/opt目录。
SDK也继承了这一特性。
在Scratchbox环境下,/opt目录的路径是/target//opt。
安装基本系统包rootstraps后,所有编译目标环境的/target//opt都将被指向/home/opt。
而/opt应该为每个编译目标环境分别指定。
为了解决这个问题,我们需要手工检查/target//opt是否被链接了,如果是,那么删除这个链接,并且重新创建相应的目录。
[Edit]自Maemo4.X/DiabloSDK升级
事实上,由于API的变动,我们无法从Diablo升级到Fremantle。
不过我们可以利用Diablo的Scratchbox环境,帮助配置Fremantle的Scratchbox环境。
所以,我们可以升级Scratchbox。
∙下载Maemo5的Scratchbox安装脚本
$chmoda+x./maemo-scratchbox-install_5.0.sh
∙为脚本添加可执行权限,然后这样执行:
$sudo./maemo-scratchbox-install_5.0.sh-U-u-s/scratchbox
当脚本执行成功后,继续进行Maemo5FinalSDK的安装。
[Edit]手工安装
∙在基于Debian的x86-32系统上:
∙你可以在你宿主机的/etc/apt/sources.list文件中,添加以下内容:
debhttp:
//scratchbox.org/debian/maemo5-sdkmain
∙然后以root权限,安装Scratchbox软件包。
$sudoapt-getupdate
$sudoapt-getinstallscratchbox-corescratchbox-libsscratchbox-devkit-qemuscratchbox-devkit-debianscratchbox-devkit-doctoolsscratchbox-devkit-perlscratchbox-toolchain-host-gccscratchbox-toolchain-cs2007q3-glibc2.5-arm7scratchbox-toolchain-cs2007q3-glibc2.5-i486scratchbox-devkit-svnscratchbox-devkit-gitscratchbox-devkit-apt-https
∙在基于Debian的x86-64系统上:
∙从这里下载Scratchbox软件包。
∙以root权限,强制安装这些x86-32软件包。
$sudodpkg-i--force-architecturescratchbox-corescratchbox-libsscratchbox-devkit-qemuscratchbox-devkit-debianscratchbox-devkit-doctoolsscratchbox-devkit-perlscratchbox-toolchain-host-gccscratchbox-toolchain-cs2007q3-glibc2.5-arm7scratchbox-toolchain-cs2007q3-glibc2.5-i486scratchbox-devkit-svnscratchbox-devkit-gitscratchbox-devkit-apt-https
∙Scratchbox软件包将被解包安装到/scratchbox目录下。
在安装过程中,会请求你回答一些关于用户组和用户的问题。
默认的Scratchbox用户组是“sbox”。
∙使用Scratchbox的用户需要被添加到Scratchbox用户组中,以root权限执行下列命令以添加用户:
$sudo/scratchbox/sbin/sbox_adduserUSERyes
∙这将在Scratchbox用户组中添加用户,创建用户目录/scratchbox/,并在用户目录下挂载系统目录(/dev,/proc,/tmp)。
∙一些随FinalSDK附带的Nokia应用程序使用了固定的路径,来指定用户的home目录。
为了使这些程序能够正常工作,你需要创建一个目录,路径与Nokia指定的路径相同。
这需要在Scratchbox环境外,以root权限操作。
$sudoln-s/scratchbox/users//home//scratchbox/users//home/user
∙要使用户组设置在当前终端环境下生效,需要执行以下命令:
∙注意:
如果你已经登录进了Scratchbox环境,这个命令将改变当前的用户组ID。
如果你不想改变,只要从Scratchbox环境中注销再重新登录即可。
$newgrpsbox
∙登录Scratchbox环境。
$/scratchbox/login
∙配置x86和armel编译目标:
[sbox->:
~]>sb-confstFREMANTLE_X86-ccs2007q3-glibc2.5-i486-dperl:
debian-etch:
doctools:
svn:
git-tnone
[sbox->:
~]>sb-confstFREMANTLE_ARMEL-ccs2007q3-glibc2.5-arm7-dqemu:
perl:
debian-etch:
doctools:
svn:
git-tqemu-arm-sb
∙下载基本系统包rootstraps。
[sbox->:
~]>wgethttp:
//repository.maemo.org/stable/5.0/armel/maemo-sdk-rootstrap_5.0_armel.tgzhttp:
//repository.maemo.org/stable/5.0/i386/maemo-sdk-rootstrap_5.0_i386.tgz
∙切换到x86目标环境,解开x86的rootstraps,安装devkits,fakeroot,以及其他工具到目标环境。
[sbox->:
~]>sb-confseFREMANTLE_X86
[sbox-FREMANTLE_X86:
~]>sb-confrsmaemo-sdk-rootstrap_5.0_i386.tgz
∙如果apt的apthttppipeline被配置为开启,一些用户可能会在使用apt下载文件时遇到问题。
你可以用以下命令关闭这个设置:
[sbox-FREMANTLE_X86:
~]>echo'Acquire:
:
http:
:
Pipeline-Depth"0";'>>/etc/apt/apt.conf.d/00maemo
∙继续安装:
[sbox-FREMANTLE_X86:
~]>sb-confin-edFL
[sbox-FREMANTLE_X86:
~]>apt-getupdate
[sbox-FREMANTLE_X86:
~]>fakerootapt-getinstallmaemo-sdk-