1.硬件要求:
1.1 Cpu:必须支持VT即虚拟化。
大部分的AMD处理器都支持VT。
Intel只有酷睿系列的某一些型号才支持。
1.2显卡:支持硬件加速,一般的显卡都应该会支持吧。
1.3 测试环境
三星笔记本R26,CPU T8100,VGA ATI X2300,内存 2G,硬盘500G,系统 Ubuntu 10.04。
说明:MeeGo netbook Application 可视化开发工具为Qt Creator for Meego 及虚拟软件QEMU。都包含在安装包install-meego-dev-env-0.7.25-linux-i686.sh中。
Qt Creator用于程序代码编写及界面设计,而QEMU用于虚拟运行Meego。在QT配置好后,编写的程序会编译成rpm包,自动载入到QEMU虚拟的MeeGO中运行。此时可以在弹出的窗口中看到程序在虚拟机中运行的结果。
使用虚拟机的优点:不需要一台真实的MeeGo netbook。缺点:虚拟MeeGo的速度会有些慢。
2.准备工作:
2.0 MeeGo SDK 几种开发环境比较
有篇博文,推荐大家先阅读,再继续后面的工作。
http://blog.csdn.net/vip_dog/archive/2010/08/14/5808411.aspx
2.1下载环境所需要的文件
ubuntu中下载会比较慢,可以先在windows下用迅雷下载好。
(1)虚拟软件qemu-gl 2.09Mb
http://download3.meego.com/sep09/qemu-gl_0.12.4-4_i386.deb
(2)Qt Creator for meego 及相关工具 224Mb(主要工具都在这里头)
http://download3.meego.com/sep09/install-meego-dev-env-0.7.25-linux-i686.sh
(3)SDK Image for netbook 517Mb( 其实就是一个meego netbook镜像)
http://download3.meego.com/sep09/meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0901.raw.tar.bz2
(下载后不要改变文件名,否则不能正常安装)
将这三个下载好的文件复制到 /home/username/ (username为当前ubuntu用户名,每个人的不一样。)
3.安装
3.1 加载KVM模块
(1)检查加载状态
- $ lsmod | grep kvm
若什么也没显示,说明还未加载
(2)显示有哪些可加载模块
- $ find /lib/modules/ -name "kvm*"
显示如下:
- //lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm
- /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm.ko
- /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm-intel.ko
- /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm-amd.ko
- /lib/modules/2.6.32-21-generic/kernel/arch/x86/kvm
- /lib/modules/2.6.32-21-generic/kernel/arch/x86/kvm/kvm.ko
- /lib/modules/2.6.32-21-generic/kernel/arch/x86/kvm/kvm-intel.ko
- /lib/modules/2.6.32-21-generic/kernel/arch/x86/kvm/kvm-amd.ko
(3)启动最新内核2.6.32-25-generic的kvm模块
如果是intel的cpu则运行
- $ sudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm.ko
- $ sudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm-intel.ko
如果是amd的cpu则运行
- $ sudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm.ko
- $ sudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm-amd.ko
- /*
- 技巧每次开机都得运行这两行命令,为了方便可以设置ubuntu启动时自动执行命令。
- $ sudo chmod 777 /etc/rc.local //设置读取权限
- $ sudo gedit /etc/rc.local //打开配置文件
在”exit 0”前加入这两行命令
g
intel的cpu则加入
- sudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm.ko
- sudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm-intel.ko
amd的cpu则加入
- $ sudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm.ko
- $ sudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm-amd.ko
保存即可。
*/
(4)检查kvm是否成功加载
- $ lsmod | grep kvm
运行结果:
- kvm_intel 39416 0
- kvm 244969 1 kvm_intel
至此处已经成功加载kvm模块。
/*
提示(这段内容跟这篇文章所要讨论的内容没有关系,也不会用到visualbox)
如果有时候你会用visualbox,那么运行前需要卸载kvm模块。否则visuabox会报错。
- $ sudo modprobe -r kvm-intel
或者
- $ sudo modprobe -r kvm-amd
}
*/
3.2 让qt creator可以将程序编译为rpm包(ubuntu要连网)
- $ sudo apt-get install rpm
//如果忘记安装rpm,那么后面qt生成rpm的过程中会出错。每到这里就想起QQ了^_^,是他调通的。
3.3 安装虚拟机qemu-gl
假设准备工作中下载的三个文件都存放在 /home/username/ (username为ubuntu当前用户名)
进入保存下载的三个文件的目录
- $ cd /home/username/
安装虚拟机
- $ dpkg –i qemu-gl_0.12.4-4_i386.deb
3.4安装qt工具集
- $ cd /home/username/ //进入存放文件目录
- $ sudo chmod 777 install-meego-dev-env-0.7.25-linux-i686.sh //给于权限 安装
- $ ./install-meego-dev-env-0.7.25-linux-i686.sh //安装
执行后会问你yes/no,输入yes回车就行。然后会提示你安装位置,不用改默认就行。
按提示操作即可,默认安装在 /home/username/meego-sdk/0.7.25/
(username为我的ubuntu用户名,每个人的会不同)
等待若干分钟,就安装完了。至此qt工具集安装成功
3.5安装sdk for netbook (安装时间比较久) 其实就是一个meego的raw格式的镜像文件。
(Wiki中将这步操作叫作Create MeeGo development target (toolchain) from image file)
经过3.4的操作,程序会在用户目录下生成一个meego-sdk文件夹 /home/username/meego-sdk,
qt及工具都在里面。
- $ cd /home/username/meego-sdk/0.7.25/bin/ //进入bin目录
创建meego development target
- $ ./mad-admin create_from_image /home/username/meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0901.raw.tar.bz2
(这步操作会首先解压meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0901.raw.bz2 文件,然后再解压meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0901.raw这个镜像,可以看做是两次解压,第二次解压出的文件中有qt配置时所用到的qmake文件)
解压时间会比较长,慢慢等吧。`
解压完后可以查看是否创建target成功
- $ ./mad-admin list
显示:
- Targets:
- fremantle-1030 (installable)
- maemo412-1 (installable)
- harmattan-1024 (installable)
- meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0901 (installed)
- Runtimes:
- qemu-n900-pr12 (installable)
- rx48-diablo (installable)
- meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0901-runtime (installed)
我用蓝色标注的部分installed。说明sdk for netbook安装成功了。
至此,所有安装操作都完成了。
4运行
4.1运行Qt Creator
- $ cd /home/username/meego-sdk/0.7.25/tools/qt-creator/bin/ //进入qt目录
- $ ./ qtcreator //运行qt
提示:创建一个qtcreator的快捷方式在桌面上,省的以后每次都得找目录
5配置qt
这步有点麻烦,不过只要前面安装都正确了,配置起来还是很快的。
5.1运行qtcreator
5.2 添加qmake
进入菜单Tools>Options
左边一栏选择”QT4”,右边选择第一个选项卡”Qt Versions”
这一步是要添加qmake文件,所以点击那个加号按钮。
Version name 填 meego sysroot
点击Browse按钮按照这个路径添加:
- /home/username/meego-sdk/0.7.25/targets/meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0901/bin/qmake
然后点击open按钮
注意:此处还有一步操作,点击Rebuild按钮,等Debugging Helper后面出现一个小对钩后,再点击OK按钮。
5.3 qtcreator中设置与虚拟meego通信。
进入菜单Tools>Options
左边一栏选择”Projects”,右边选择第5个标签”Meego Device Configurations”
点击add按钮,
Name填”meego emulator“,
Device type 选 “Meego Emulator”,
Authentication type 选 “Password”
Host name 默认为 localhost3
Username 填 root
Password 填 meego
其它都为默认值
最后点击OK按钮。
5.4 新建工程后的设置
运行qt,新建工程。 菜单FIle>New File or project 弹出新建工程对话框。
左侧Projects选择Qt C++ Project,右侧选择Qt Gui Application创建一个适用于上网本的工程。
点击choose按钮。
Name:输入工程名 test
Create in:输入保存路径/media/e,也可以单击Browse按钮,选择路径。
接下来的窗口中Base Class:选择QDialog。点击next按钮。后面也一路确认。
至此工程已经新建好。但还需要配置工程。
点击左面板Projects,然后点击Build Settings下的Add按钮,选择列表中的Using Qt Version “meego sysroot“,然后点击OK。(每新建一个工程都要设置这一步)
启动虚拟MeeGo,点击左侧工具栏从下往上数第2个图标,运行虚拟MeeGo。会弹出一个窗口,过一会,meego就启动完成了。虚拟的meego运行有点卡(若点击数次图标都无反应,说明没有加载kvm模式。按照3.1步骤加载内核即可)。
让写的程序运行显示在meego中。点击qt左下方的绿色按钮,run运行程序。
qt提示字符:
- Cleaning up remote leftovers first ...
- Initial cleanup done.
- Files to deploy: /home/wxl/rpmbuild/RPMS/i386/test-0.1.0-1.i386.rpm.
- Deployment finished.
- Starting remote application.
说明编译运行成功。切换到虚拟机,点击MeeGo中的“zones“即可看到运行的程序,一个空白的对话框。
`
至此,Ubuntu下QT&Quem MeeGo netbook开发环境搭建完成。
推荐:
http://wiki.meego.com/MeeGo_SDK_with_QEMU wiki中Meego_SDK_QEMU的搭建
http://www.meegox.com/category/sdk-meego-dev 在PC上安装handset版meego的qemu虚拟机
http://wiki.meego.com/SDK/Docs/1.1/Creating_Hello_World Create Hello
http://blog.csdn.net/vip_dog/archive/2010/08/14/5808411.aspx MeeGo SDK 几种开发环境比较。
http://wiki.meego.com/ meego wiki
http://www.meegox.com/ meego中文网,其中的环境频道有相关环境搭建的文章。