1.硬件要求:
1.1 Cpu:必须支持VT即虚拟化。大部分的AMD处理器都支持VT。Intel只有酷睿系列的某一些型号才支持。; @4 `# x2 z- r( M1.2显卡:支持硬件加速,一般的显卡都应该会支持吧。1.3 测试环境 三星笔记本R26,CPU T8100,VGA ATI X2300,内存 2G,硬盘500G,系统 Ubuntu 10.04。( |0 p3 W5 h7 t; W- J说明:MeeGo netbook Application 可视化开发工具为Qt Creator for Meego 及虚拟软件QEMU。都包含在安装包install-meego-dev-env-0.7.25-linux-i686.sh中。( |/ h, g0 W. T2 M" c! @ Qt Creator用于程序代码编写及界面设计,而QEMU用于虚拟运行Meego。在QT配置好后,编写的程序会编译成rpm包,自动载入到QEMU虚拟的MeeGO中运行。此时可以在弹出的窗口中看到程序在虚拟机中运行的结果。% K4 w1 r2 Y" I$ K使用虚拟机的优点:不需要一台真实的MeeGo netbook。缺点:虚拟MeeGo的速度会有些慢。8 x9 I% /, _/ E2.准备工作:" {" F/ o/ g* {0 _; V- I2.0 MeeGo SDK 几种开发环境比较 有篇博文,推荐大家先阅读,再继续后面的工作。 http://blog.csdn.net/vip_dog/archive/2010/08/14/5808411.aspx( M. Q9 G! j; h2 s: a2 _0 k1 z. o& [7 y, /2.1下载环境所需要的文件ubuntu中下载会比较慢,可以先在windows下用迅雷下载好。(1)虚拟软件qemu-gl 2.09Mb1 Y6 G! K& a' a A- w http://download3.meego.com/sep09/qemu-gl_0.12.4-4_i386.deb(2)Qt Creator for meego 及相关工具 224Mb(主要工具都在这里头) w6 e. T7 V. `9 [/ V) q0 | http://download3.meego.com/sep09/install-meego-dev-env-0.7.25-linux-i686.sh+ r& Y2 N0 z3 E: Y(3)SDK Image for netbook 517Mb( 其实就是一个meego netbook镜像), }* J% y& l6 U$ Ehttp://download3.meego.com/sep09/meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0901.raw.tar.bz2(下载后不要改变文件名,否则不能正常安装)4 ?% b) s: L8 ~. U* G H1 Z( k5 W$ [& @+ z- t! V- ^将这三个下载好的文件复制到 /home/username/ (username为当前ubuntu用户名,每个人的不一样。)' ]/ k" i# x$ p3 F; _( `' Z3 i3.安装. L: D* G- p8 s8 c9 u' C3.1 加载KVM模块
(1)检查加载状态 5 y& ~( /1 W- K7 i( [0 L( w: P5 x3 k% q
$ lsmod | grep kvm若什么也没显示,说明还未加载 (2)显示有哪些可加载模块
$ find /lib/modules/ -name "kvm*"" i6 b J! ^9 / 显示如下:
//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.koj# t. q8 J1 o(3)启动最新内核2.6.32-25-generic的kvm模块; D9 L1 ?1 B; k, c$ u, _. a如果是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 //打开配置文件' J7 Z- p& H; O: d在”exit 0”前加入这两行命令5 y9 f; N- r$ I( a3 k% ~gintel的cpu则加入
sudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm.kosudo insmod /lib/modules/2.6.32-25-generic/kernel/arch/x86/kvm/kvm-intel.ko$ {6 f; g; Y0 J" o8 ]+ p% uamd的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.ko6 x/ H3 s9 d& T0 H( ]8 C保存即可。*/+ z$ k( H. ?/ w; M; p(4)检查kvm是否成功加载1 g* ?5 K: b# ^7 ^
$ lsmod | grep kvm运行结果:
kvm_intel 39416 0 kvm 244969 1 kvm_intel$ R% G" @& b- M8 i# P$ /& ^! Y R3 {( j r% x/ ~; [! Q至此处已经成功加载kvm模块。# G ^6 |4 b, e& S! Y7 t) O. k% `- p5 W' q( m/*提示(这段内容跟这篇文章所要讨论的内容没有关系,也不会用到visualbox)如果有时候你会用visualbox,那么运行前需要卸载kvm模块。否则visuabox会报错。
$ sudo modprobe -r kvm-intel7 ?$ I/ f% j( T/ I- O! p- v或者
$ sudo modprobe -r kvm-amd9 I, E% x3 U* ]8 q! e, `}6 |4 T6 l" k" G# z*/) Q* Z- ]( c# x2 V+ y1 V3.2 让qt creator可以将程序编译为rpm包(ubuntu要连网)
$ sudo apt-get install rpm//如果忘记安装rpm,那么后面qt生成rpm的过程中会出错。每到这里就想起QQ了^_^,是他调通的。1 /& ~- ]: W' j9 V* P. |7 v& K8 I) U t# j$ m7 Y8 i" H" F3.3 安装虚拟机qemu-gl9 b" a* W1 }2 L. |假设准备工作中下载的三个文件都存放在 /home/username/ (username为ubuntu当前用户名) 进入保存下载的三个文件的目录
$ cd /home/username/; m$ k3 @0 a5 n: V) Q 7 z/ q6 y/ Y' _ L! j% I. V 安装虚拟机
$ dpkg –i qemu-gl_0.12.4-4_i386.deb8 b) U: J5 [6 | O# W: e9 a! y# |3.4安装qt工具集% I" r) V/ G, @( G
$ 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 //安装4 V0 W6 B3 S) B执行后会问你yes/no,输入yes回车就行。然后会提示你安装位置,不用改默认就行。/ S+ t5 q3 n' P按提示操作即可,默认安装在 /home/username/meego-sdk/0.7.25/" {; a7 e1 {# u5 x3 M(username为我的ubuntu用户名,每个人的会不同)等待若干分钟,就安装完了。至此qt工具集安装成功, ~: _$ u, }' X( q) v6 W2 H2 F3.5安装sdk for netbook (安装时间比较久) 其实就是一个meego的raw格式的镜像文件。* I. h, [! ^& m* }(Wiki中将这步操作叫作Create MeeGo development target (toolchain) from image file)经过3.4的操作,程序会在用户目录下生成一个meego-sdk文件夹 /home/username/meego-sdk,qt及工具都在里面。9 ^9 W( ~4 A6 o& Q8 w' B5 W0 N7 P" n; G
$ cd /home/username/meego-sdk/0.7.25/bin/ //进入bin目录6 s6 L% G4 p* m7 x7 H创建meego development target$ f. @$ x" ]1 U4 Y! B5 o+ Y$ a
$ ./mad-admin create_from_image /home/username/meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0901.raw.tar.bz2( A- t6 U' a1 D) W4 n' b- F+ S% [$ /6 X; r (这步操作会首先解压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文件), }" y; p- E9 L' t4 T . @0 x K' l% e+ B" X& } |; D! n 解压时间会比较长,慢慢等吧。`解压完后可以查看是否创建target成功; D* k3 E3 Z' G0 d; C; l6 z) T
$ ./mad-admin list显示:, }, O) P% S- O1 /) z
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安装成功了。# `3 j/ X5 n3 g; m) W0 V/ A至此,所有安装操作都完成了。
+ ?- d! _) ~- q" Y4运行
4.1运行Qt Creator+ ^1 t: l8 r( e" I( u
$ cd /home/username/meego-sdk/0.7.25/tools/qt-creator/bin/ //进入qt目录$ ./ qtcreator //运行qt提示:创建一个qtcreator的快捷方式在桌面上,省的以后每次都得找目录! F- |4 N4 m# i+ a5配置qt1 u/ {9 L) o- b$ W' {这步有点麻烦,不过只要前面安装都正确了,配置起来还是很快的。9 a6 n+ J) v0 j, d( R( W6 D3 {5.1运行qtcreator5.2 添加qmake1 z9 Y; h; Q+ /! l/ t 进入菜单Tools>Options 左边一栏选择”QT4”,右边选择第一个选项卡”Qt Versions”* A3 y" ~) ?% j1 U! d. S; |2 u 这一步是要添加qmake文件,所以点击那个加号按钮。 Version name 填 meego sysroot 点击Browse按钮按照这个路径添加:( y5 } o% t3 j( f# M' x
/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按钮。 . C4 ~; }( d) i . h# y- I- Q* T N; C7 A$ k5.3 qtcreator中设置与虚拟meego通信。; E ?. b) B! x; {! P d 进入菜单Tools>Options& L8 m- _: W z# L4 E% ? b: J. @) i 左边一栏选择”Projects”,右边选择第5个标签”Meego Device Configurations”0 x9 |1 `7 R; W' ^& B) D }. N" W 点击add按钮,4 ?: l/ Q" E' K! A% `; ^% t7 x Name填”meego emulator“,2 a5 h2 |$ [# c6 G( X/ {/ w Device type 选 “Meego Emulator”, Authentication type 选 “Password” Host name 默认为 localhost3 Username 填 root9 J# { k/ y1 x# ~* H Password 填 meego2 F, V3 {0 U4 e& B' H 其它都为默认值 最后点击OK按钮。! Y$ A/ K. ]1 f/ L. W4 s d" E 0 v9 r' s3 O, v; m " `% r+ ~! O4 ]3 m/ N& M9 e/ k' f$ y" B3 ^3 D5.4 新建工程后的设置 运行qt,新建工程。 菜单FIle>New File or project 弹出新建工程对话框。 左侧Projects选择Qt C++ Project,右侧选择Qt Gui Application创建一个适用于上网本的工程。 点击choose按钮。 Name:输入工程名 test) Y/ _; v, C( L5 A Create in:输入保存路径/media/e,也可以单击Browse按钮,选择路径。 接下来的窗口中Base Class:选择QDialog。点击next按钮。后面也一路确认。 至此工程已经新建好。但还需要配置工程。' q" @# A. ~9 D. @5 @/ N1 p* q; N 点击左面板Projects,然后点击Build Settings下的Add按钮,选择列表中的Using Qt Version “meego sysroot“,然后点击OK。(每新建一个工程都要设置这一步) 启动虚拟MeeGo,点击左侧工具栏从下往上数第2个图标,运行虚拟MeeGo。会弹出一个窗口,过一会,meego就启动完成了。虚拟的meego运行有点卡(若点击数次图标都无反应,说明没有加载kvm模式。按照3.1步骤加载内核即可)。+ l7 o7 u% f! m. A 让写的程序运行显示在meego中。点击qt左下方的绿色按钮,run运行程序。 qt提示字符:. R; o' c3 Z8 z
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“即可看到运行的程序,一个空白的对话框。& @; f# z" [$ T* O# Y+ S0 k: / `至此,Ubuntu下QT&Quem MeeGo netbook开发环境搭建完成。5 U( s" C: L3 c* p: @, U$ N, ^# p推荐:# M# A1 N9 G0 }http://wiki.meego.com/MeeGo_SDK_with_QEMU wiki中Meego_SDK_QEMU的搭建 & d) f5 l6 S5 k A; O4 Ahttp://www.meegox.com/category/sdk-meego-dev 在PC上安装handset版meego的qemu虚拟机# O8 Q( `5 {* thttp://wiki.meego.com/SDK/Docs/1.1/Creating_Hello_World Create Hellohttp://blog.csdn.net/vip_dog/archive/2010/08/14/5808411.aspx MeeGo SDK 几种开发环境比较。http://wiki.meego.com/ meego wiki ( m' L2 U8 I7 fhttp://www.meegox.com/ meego中文网,其中的环境频道有相关环境搭建的文章。