在Qt框架下配置MeeGo SDK Xephyr运行环境

移动开发
本文介绍的是在Qt框架下配置MeeGo SDK Xephyr运行环境。那MeeGo是诺基亚和英特尔宣布推出一个免费手机操作系统。

MeeGo是诺基亚和英特尔宣布推出一个免费手机操作系统,中文昵称米狗,该操作系统可在智能手机、笔记本电脑和电视等多种电子设备上运行,并有助于这些设备实现无缝集成。这种基于Linux的平台被称为MeeGo,融合了诺基亚的Maemo和英特尔的Moblin平台。

配置MeeGo SDK的Xephyr运行环境

查验主机是否包含Intel图形芯片组

lspci | grep VGA  预期输出:

00:02.0 VGA compatible controller: ”’Intel Corporation”’ …  (你的系统***含Intel图形芯片组).

下载你目标平台对应的MeeGo SDK

解压下载的映像文件到工作目录

tar xvjf  安装meego-sdk-chroot脚本

“meego-sdk-chroot”脚本负责设置chroot环境的挂载点,并正确地启动chroot. 该脚本在退出时会卸载在启动时挂载的所有内容并清除启动时加载的所有进程. 如下命令可以下载此脚本:

wget   http://download3.meego.com/meego-sdk-chroot  

为meego-sdk-chroot脚本增加可执行权限:

chmod +x ./meego-sdk-chroot  

配置主机上的X允许Xephyr可以访问其显示区(allow Xephyr to access the display)

xhost +SI:localuser:  允许用户”bob”访问X显示区的例子:

 

  1. xhost +SI:localuser:bob    

(如果你的主机重启了,那么在运行Xephyr或Qt Creator前,需要再一次运行xhost命令)

挂载并切换根目录(chroot)到MeeGo映像

建立一个目录用于挂载MeeGo映像:

  1. mkdir      

将Meego映像挂载到新建的目录上:

  1. sudo mount -o loop,offset=512   

切换系统的终端根目录(chroot)到MeeGo系统的根目录上:

  1. sudo ./meego-sdk-chroot    

例子:

  1. sudo mkdir /opt/meego-handset     
  2. sudo mount -o loop,offset=512 ./meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0721.raw /opt/meego-handset     
  3. sudo ./meego-sdk-chroot /opt/meego-handset    

在执行meego-sdk-chroot后,你看到的终端输出会是如下的一些内容:

  1. mount –bind /proc /home/ell/meego-sdk-0524/proc     
  2. mount –bind /sys /home/ell/meego-sdk-0524/sys     
  3. mount –bind /dev /home/ell/meego-sdk-0524/dev     
  4. mount –bind /dev/pts /home/ell/meego-sdk-0524/dev/pts     
  5. mount –bind /tmp /home/ell/meego-sdk-0524/tmp     
  6. mount –bind /var/lib/dbus /home/ell/meego-sdk-0524/var/lib/dbus    
  7. mount –bind /var/run/dbus /home/ell/meego-sdk-0524/var/run/dbus     
  8. cp /etc/resolv.conf /home/ell/meego-sdk-0524/etc/resolv.conf     
  9. root@meego-handset-sdk:/#   

 
此时你已进入”MeeGo 终端”. 它仿如运行在真正的MeeGo操作系统里,路径,程序,库,环境这些都和你在MeeGo上网本或手机中看到的一模一样.

提示: ”meego-sdk-chroot”会用到”chroot”命令.请确保你的PATH路径中包含了”chroot”命令:

  1. alias chroot=’/usr/sbin/chroot’    

在Xephyr环境中启动MeeGo UI

设置DISPLAY环境变量

因为Xephyr是在chroot终端中运行的,因此无法获得主机DISPLAY环境变量的值. 在MeeGo chroot终端中运行’’startmeego”脚本前,使用以下命令设置DISPLAY的值.

  1. # export DISPLAY=:0    

启动 Xephyr

从MeeGo chroot终端命令下执行:

  1. # startmeego &    

这会启动Xephyr服务器并且调用其它脚本启动MeeGo UI.

MeeGo UI 

MeeGo UI 

MeeGo UI

退出模拟器/li>你可以通过直接关闭Xephyr窗口(点击左上角的X按钮)停止Xephyr服务.并在MeeGo Chroot终端中输入exit退出MeeGo:

  1. # exit    

这将关闭在chroot中启动的所有进程,并且卸载因chroot环境中需要而挂载的目录. 此时输出应该是如下这个样子的:

  1. umount /home/ell/meego-sdk-0524/proc     
  2. umount /home/ell/meego-sdk-0524/sys     
  3. umount /home/ell/meego-sdk-0524/dev/pts     
  4. umount /home/ell/meego-sdk-0524/dev     
  5. umount /home/ell/meego-sdk-0524/tmp     
  6. umount /home/ell/meego-sdk-0524/var/lib/dbus     
  7. umount /home/ell/meego-sdk-0524/var/run/dbus     

调试

如果在运行Xephyr时遇到问题, 可以运行调试脚本查看运行过程中的详细信息:

  1. startmeego-debug    

它会在命令行终端打印出来,在工作不正常时可以从中得到一些线索.

应用程序开发

你可以在MeeGo chroot环境中编译和运行MeeGo应用程序。默认情况下,应用程序会显示在新开的一个窗口中。为了能使你的应用能显示在Xephyr的MeeGo界面中,请在MeeGo chroot终端环境中以如下命令启动你的应用程序:

  1. DISPLAY=:2    

安装其它软件

你可以在MeeGo chroo环境里安装更多其它软件. 在MeeGo chroot终端中执行:

  1. # zypper install    

你也可以使用以下命令更新整个MeeGo系统:

  1. # zypper dist-upgrade   

小结:在Qt框架下配置MeeGo SDK Xephyr运行环境内容介绍完了,不足的是它依赖于DBus的一些面板显示(比如电池,网络)不能正确的报告设备信息.***希望能对你有所帮助。

责任编辑:zhaolei 来源: 互联网
相关推荐

2010-10-15 09:52:00

XephyrMeeGoQt

2010-09-15 09:00:21

MeeGo TouchQT SDKMeeGo

2010-11-18 14:47:49

2010-11-17 09:29:31

linux Fedora 13Ubuntu 10.0

2011-07-01 10:52:59

EnyowebOS 3.0 S

2010-07-02 12:58:39

Meego开发

2011-07-01 11:02:30

EnyowebOShello world

2010-06-21 17:08:10

Java框架ScalaSpring

2009-06-19 16:05:39

时间类型Struts

2010-10-22 10:02:14

诺基亚Qt开发者

2011-06-16 17:19:33

Qt Meego

2010-08-30 13:46:09

MeeGoMeeGo Touch

2010-01-27 14:00:50

CC++运行环境

2021-10-14 09:53:38

鸿蒙HarmonyOS应用

2011-07-04 14:11:43

QT 桌面 Embedded

2010-09-17 14:27:18

NetBeansAndroid

2011-06-23 09:13:59

Qt SDK Creator

2022-11-11 10:56:37

2011-06-23 18:37:02

Qt 数据库

2011-06-13 13:06:48

Gtk Qt
点赞
收藏

51CTO技术栈公众号