本文詳細介紹了在Linux操作系統下用Xephyr方式進行MeeGo SDK安裝的方法。
介紹? ?? ?? ?
MeeGo SDK由以下部分構成:
一個MeeGo chroot環境,這包含了一個基于Xephyr (http://www.freedesktop.org/wiki/Software/Xephyr ) 的MeeGo應用程序模擬器(僅支持Linux),一些在Xephyr里啟動/停止MeeGo桌面的腳本,以及可以遠程配置和部署MeeGo設備的Qt Creator。
一個啟動MeeGo chroot環境,并運行模擬器和Qt Creator的meego-sdk-chroot 腳本。
要安裝MeeGo SDK,最簡單的方法是下載這些組件的打包版本。這將在下一節討論。
系統要求? ?? ?? ?
? ?? ???要在Xephyr里運行MeeGo模擬器,你需要一個比較新的Linux發行版(例如Fedora 11,Ubuntu 9.10)以及Intel的硬件環境。硬件環境有以下要求:
CPU: 32bit Intel(r) Atom(tm) or Intel(r) Core(tm) 2 CPU (support for SSSE3)。注意: MeeGo模擬器無法在不支持SSSE3的CPU上運行。
一塊兼容的Intel顯卡。GMA-500,Nvidia,以及ATI的芯片組都無法提供支持
譯注:這是MeeGo模擬器的要求,不是SDK的要求。我可以在AMD處理器和NV顯卡的機器上,運行 MeeGo SDK ,并正常編譯/調試程序。
安裝MeeGo chroot環境? ?? ?? ?
? ?? ???MeeGo chroot壓縮包是一個大文件(接近800M)。它不僅有MeeGo自身的所有庫文件,也其他有用的東西(Xephyr, scripts, Qt Creator)。
下載MeeGo chroot壓縮包文件: wget http://download3.meego.com/meego-sdk-0524.tar.bz2
解壓MeeGo chroot壓縮包文件:
sudo tar jxvf meego-sdk-0524.tar.bz2
復制代碼
另一個方案是自己創建一個MeeGo chroot,參見Building a MeeGo chroot on Linux 。??
安裝meego-sdk-chroot腳本? ?? ???
meego-sdk-chroot 腳本會設置chroot環境的掛載點,然后用恰當的方式啟動root環境;在離開chroot環境時,它也會嘗試正確地卸載整個環境,并清除在chroot環境中啟動的進程。
下載:
wget [url]http://download3.meego.com/meego-sdk-chroot[/url]
復制代碼
給腳本可執行權限:
chmod +x meego-sdk-chroot
復制代碼
移動到/usr/bin
:
sudo mv meego-sdk-chroot /usr/bin
復制代碼
為模擬器配置host
下一步,是配置host的X環境,讓模擬器(在chroot環境下運行)可以正確地顯示在普通用戶的屏幕上:
xhost +SI:localuser:??(username)??//username使用你現在所使用的用戶名
(每次重啟后,在運行模擬器和Qt Creator之前你都需要執行這一步)
進入 MeeGo chroot 環境
meego-sdk-chroot 腳本將設置一個MeeGo chroot環境,并給你一個該環境下的shell:
sudo meego-sdk-chroot ~/meego-sdk-0524
復制代碼
(用你的chroot目錄代替上面的'~/meego-sdk-0524 )注意,這個腳本使用了chroot命令。有些時候,root用戶無法在PATH環境變量里定位這個命令(在Fedora里,chroot命令在/usr/sbin 路徑下)。你可以在meego-sdk-chroot 腳本的頂部添加一行alias,以解決這個問題:
alias chroot='/usr/sbin/chroot'
腳本運行后,會輸出下面這樣的內容:
mount --bind /proc /home/ell/meego-sdk-0524/proc
mount --bind /sys /home/ell/meego-sdk-0524/sys
mount --bind /dev /home/ell/meego-sdk-0524/dev
mount --bind /dev/pts /home/ell/meego-sdk-0524/dev/pts
mount --bind /tmp /home/ell/meego-sdk-0524/tmp
mount --bind /var/lib/dbus /home/ell/meego-sdk-0524/var/lib/dbus
mount --bind /var/run/dbus /home/ell/meego-sdk-0524/var/run/dbus
cp /etc/resolv.conf /home/ell/meego-sdk-0524/etc/resolv.conf
root@meego-netbook-sdk:/#
復制代碼
安裝其他軟件
你可以在chroot環境下正常安裝軟件(和最新的netbook鏡像一樣)。
進入chroot環境,然后執行:
zypper install
復制代碼
下面這個命令可以將整個MeeGo鏡像更新到最新版本:
zypper dist-upgrade
復制代碼
運行模擬器
在chroot環境下,以root的身份執行:
startmeego &
復制代碼
這將啟動Xephyr服務器,并運行一個腳本。這個腳本在Xephyr里啟動一個MeeGo桌面。如果你想在chroot環境里啟動一個程序,并顯示在模擬器窗口里,你可以:
DISPLAY=:2 glxgears
(用你想啟動的程序名代替glxgears)
在模擬器里Debugging
如果你的模擬器出現了問題,可以使用debug腳本,看看具體發生了些什么:
startmeego-debug
這個腳本會在控制臺輸出一些信息,這些信息應該能給你問題的線索。
??模擬器里的 Netbook UX 界面 它看起來像這樣:
已發現的問題:
一些依賴DBus的工具條組件(比如電池,網絡)無法報告設備的工作狀態。
停止模擬器
要停止模擬器,只需要離開chroot shell:
exit
這會停止模擬器啟動的所有進程,并卸載chroot環境使用的路徑。這會輸出下面這樣的信息:
exit
umount /home/ell/meego-sdk-0524/proc
umount /home/ell/meego-sdk-0524/sys
umount /home/ell/meego-sdk-0524/dev/pts
umount /home/ell/meego-sdk-0524/dev
umount /home/ell/meego-sdk-0524/tmp
umount /home/ell/meego-sdk-0524/var/lib/dbus
umount /home/ell/meego-sdk-0524/var/run/dbus
Linux下的MeeGo SDK安裝—Xephyr方式
?
評論
查看更多