<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.meego.com/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.meego.com/index.php?title=Special:Contributions/Zhiyuan&amp;feed=atom&amp;limit=50&amp;target=Zhiyuan&amp;year=&amp;month=</id>
		<title>MeeGo wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.meego.com/index.php?title=Special:Contributions/Zhiyuan&amp;feed=atom&amp;limit=50&amp;target=Zhiyuan&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Special:Contributions/Zhiyuan"/>
		<updated>2013-05-25T08:49:00Z</updated>
		<subtitle>From MeeGo wiki</subtitle>
		<generator>MediaWiki 1.16.2</generator>

	<entry>
		<id>http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_MAC</id>
		<title>SDK/Build QEMUGL from source on MAC</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_MAC"/>
				<updated>2011-07-13T06:53:01Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below page describes the steps to build and run QEMUGL on Mac machines. Since the QEMU x86 for MeeGo has not yet formally been rebased to 0.14, right now the temporary branch is used. The branch was created by Juha, who added agl backend for QEMUGL x86. Below steps contains some manual config changes. &amp;lt;br&amp;gt;&lt;br /&gt;
The steps are verified on MacBook Pro (Mac OS X 10.6.7)&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
Install Xcode &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install SDL package &amp;lt;br&amp;gt;&lt;br /&gt;
Download SDL 1.2.14 source code from below web page: &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.libsdl.org/download-1.2.php &amp;lt;br&amp;gt;&lt;br /&gt;
and manually build and install the library from source &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Download QEMUGL source code.&lt;br /&gt;
 git clone git://gitorious.org/qemu-maemo/qemu.git&lt;br /&gt;
Checkout qemugl code.&lt;br /&gt;
 git checkout -b qemugl-merge --track origin/qemugl-merge&lt;br /&gt;
== Building == &lt;br /&gt;
 cd qemu&lt;br /&gt;
Edit &amp;quot;configure&amp;quot; file, in line 1257, remove the test of &amp;quot;if&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Edit &amp;quot;configure&amp;quot; file, in line 1290, add below line: &amp;lt;br&amp;gt;&lt;br /&gt;
 #undef main&lt;br /&gt;
Edit &amp;quot;target-i386/gloffscreen_common.c&amp;quot;, change &amp;quot;include &amp;lt;GL/gl.h&amp;gt;&amp;quot; to &amp;quot;include &amp;lt;OpenGL/gl.h&amp;gt;    &amp;lt;br&amp;gt;&lt;br /&gt;
Edit &amp;quot;target-i386/gloffscreen_test.c&amp;quot;, change &amp;quot;include &amp;lt;GL/gl.h&amp;gt;&amp;quot; to &amp;quot;include &amp;lt;OpenGL/gl.h&amp;gt;      &amp;lt;br&amp;gt;&lt;br /&gt;
configure and build QEMU source code.&lt;br /&gt;
&lt;br /&gt;
 ./configure --enable-gl --enable-sdl --target-list=i386-softmmu&lt;br /&gt;
 make&lt;br /&gt;
== Run with QEMU ==&lt;br /&gt;
Download qemu image, for instance, from below link:&lt;br /&gt;
 http://repo.meego.com/MeeGo/builds/1.1.99/latest/images/meego-tablet-ia32-qemu/&lt;br /&gt;
extract the bz2 file to get the raw image:&lt;br /&gt;
 tar -xf xxx.tar.bz2&lt;br /&gt;
run the image with the newly built qemu binary&lt;br /&gt;
 qemugl -hda xxx.raw -m 1024 -vga std -enable-gl&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_MAC</id>
		<title>SDK/Build QEMUGL from source on MAC</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_MAC"/>
				<updated>2011-07-12T14:57:01Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: Created page with &amp;quot;Below page describes the steps to build and run QEMUGL on Mac machines. The steps are verified on MacBook Pro (Mac OS X 10.6.7) == Prerequisites == Install Xcode &amp;lt;br&amp;gt; Install SDL...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below page describes the steps to build and run QEMUGL on Mac machines. The steps are verified on MacBook Pro (Mac OS X 10.6.7)&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
Install Xcode &amp;lt;br&amp;gt;&lt;br /&gt;
Install SDL package &amp;lt;br&amp;gt;&lt;br /&gt;
Download QEMUGL source code.&lt;br /&gt;
 git clone git://gitorious.org/qemu-maemo/qemu.git&lt;br /&gt;
Checkout qemugl code. Right now the temporary branch is used.&lt;br /&gt;
 git checkout -b qemugl-merge --track origin/qemugl-merge&lt;br /&gt;
== Building == &lt;br /&gt;
 cd qemu&lt;br /&gt;
 ./configure --enable-gl --enable-sdl --target-list=i386-softmmu&lt;br /&gt;
&lt;br /&gt;
== Run with QEMU ==&lt;br /&gt;
Download qemu image, for instance, from below link:&lt;br /&gt;
 http://repo.meego.com/MeeGo/builds/1.1.99/latest/images/meego-tablet-ia32-qemu/&lt;br /&gt;
extract the bz2 file to get the raw image:&lt;br /&gt;
 tar -xf xxx.tar.bz2&lt;br /&gt;
run the image with the newly built qemu binary&lt;br /&gt;
 qemugl -hda xxx.raw -m 1024 -vga std -enable-gl&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/MeeGo_SDK_Graphics_Acceleration</id>
		<title>SDK/Docs/1.1/MeeGo SDK Graphics Acceleration</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/MeeGo_SDK_Graphics_Acceleration"/>
				<updated>2011-05-04T02:10:47Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Graphics hardware acceleration is enabled */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Meego-1.1]]&lt;br /&gt;
&lt;br /&gt;
Using [[SDK/Docs/1.1/Configuring QEMU runtimes|QEMU for MeeGo development]] requires that your system be capable of VT support and hardware accelerated graphics.  The following sections describe the steps to check for support on your platform.&lt;br /&gt;
&lt;br /&gt;
== Virtualization (VT) Enabled ==&lt;br /&gt;
&lt;br /&gt;
Your system must have support for virtualization to enable the QEMU virtual machine to accelerate graphics performance using the platform hardware.&lt;br /&gt;
To check for VT support, run the following from a terminal.  It should output something.&lt;br /&gt;
 $ egrep '^flags.*(vmx|svm)' /proc/cpuinfo&lt;br /&gt;
Any output is success.  Here's an example:&lt;br /&gt;
 flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge &lt;br /&gt;
 mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht &lt;br /&gt;
 tm pbe lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor &lt;br /&gt;
 ds_cpl '''vmx''' smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow &lt;br /&gt;
 vnmi flexpriority&lt;br /&gt;
&lt;br /&gt;
== KVM module Installed ==&lt;br /&gt;
&lt;br /&gt;
Check that the kvm_intel or kvm_amd modules are loaded:&lt;br /&gt;
 $ lsmod | grep kvm&lt;br /&gt;
 kvm_intel              43816  0 &lt;br /&gt;
 kvm                   164576  1 kvm_intel&lt;br /&gt;
If needed, load the module.&lt;br /&gt;
&lt;br /&gt;
For an Intel processor:&lt;br /&gt;
 $ sudo modprobe kvm_intel&lt;br /&gt;
&lt;br /&gt;
For an AMD processor:&lt;br /&gt;
 $ sudo modprobe kvm_amd&lt;br /&gt;
&lt;br /&gt;
=== VT Enabled in the BIOS ===&lt;br /&gt;
If the kvm modules are not available or fail to load, VT may not be enabled in the BIOS.  Reboot your system, go into the BIOS, and enable VT.&lt;br /&gt;
&lt;br /&gt;
== Graphics hardware acceleration is enabled ==&lt;br /&gt;
Check that host hardware graphic acceleration is enabled:&lt;br /&gt;
 $ glxinfo | grep &amp;quot;renderer string&amp;quot;&lt;br /&gt;
Good output:  OpenGL renderer string: '''Mesa DRI''' ...&amp;lt;br&amp;gt;&lt;br /&gt;
Bad output:   OpenGL renderer string: Software Rasterizer &amp;lt;br&amp;gt;&lt;br /&gt;
If you get the bad output (software) then acceleration is not fully enabled, your graphics driver might not be capable, and the QEMU performance would be bad.&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Tablet/MeeGo_Tablet_SDK_1.2_Preview_for_Windows</id>
		<title>SDK/Tablet/MeeGo Tablet SDK 1.2 Preview for Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Tablet/MeeGo_Tablet_SDK_1.2_Preview_for_Windows"/>
				<updated>2011-03-29T15:17:29Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* More about QEMU Emulator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:devguide]]&lt;br /&gt;
[[Category:meego-1.1]]&lt;br /&gt;
[[Category:tutorial]]&lt;br /&gt;
[[Category:application-developer]]&lt;br /&gt;
[[Category:windows]]&lt;br /&gt;
&lt;br /&gt;
'''Note: MeeGo 1.2 SDK has not been released yet. This page contains instructions for downloading and installing the preview version. '''&lt;br /&gt;
&lt;br /&gt;
This page describes how to install and configure the MeeGo 1.2 Tablet SDK on your Windows development system. For more information about MeeGo SDK for Windows, check [[SDK/MeeGo_SDK_for_Windows]]. &lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* '''Hardware:''' Any reasonably modern IA hardware, such as 32-bit Intel Core* CPU.&lt;br /&gt;
** The SDK version of QEMU relies on kqemu to provide CPU virtualization support, but on some machines do not run well. This is believed to be related to certain types of CPU. Below are some details of tested hardware. For those in &amp;quot;known not to work&amp;quot;, one trick could be tried (in item 10 of [http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting#QEMU_SDK_Errors troubleshooting]) which could solve quite some such issues.&lt;br /&gt;
*:* Known to work: Intel Core 2 Quad CPU, Q8200; Intel i5 and i7 (nehalem) ...&lt;br /&gt;
*:* Known not to work: Intel Core 2 Duo P9400 in Thinkpad T400; Intel Core 2 Q9400 in HP7900 Ultra-slim; Intel i5(sandibridge) ...&lt;br /&gt;
* '''Software:''' Only Windows XP 32-bit and Windows 7 32-bit are officially supported.&lt;br /&gt;
*: Currently the QEMU emulator is preferred to run on 32-bit Windows and the QEMU graphic acceleration was only tested with nvidia graphical card. If you are using 64-bit Windows, kqemu is not available and performance will be very poor.&lt;br /&gt;
&lt;br /&gt;
*: For support status and issues using other host operating systems, see [http://wiki.meego.com/SDK/Docs/1.1/MeeGo_1.1_SDK_Host_OS_Support this page].&lt;br /&gt;
* '''Filesystem:''' MeeGo SDK should be installed on a hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable and not supported.&lt;br /&gt;
&lt;br /&gt;
=== Notes and caveats ===&lt;br /&gt;
&lt;br /&gt;
* '''QEMU runtimes and targets''': The following pre-defined targets and runtimes are the only ones which have been verified on Windows:&lt;br /&gt;
** Targets:&lt;br /&gt;
***  meego-tablet-ux-ia32-1.1.90.2.20110209.4&lt;br /&gt;
** Runtimes:&lt;br /&gt;
***  meego-tablet-ia32-sdk-1.1.90.2.20110209.4-sda-runtime&lt;br /&gt;
*: '''Others may be listed by MADDE, but are not guaranteed to work.'''&lt;br /&gt;
* '''Uninstalling:''' Everything you've installed as part of the SDK, ''including MADDE targets and runtimes'', will be removed if you run the MeeGo SDK uninstaller.&lt;br /&gt;
* '''Commands:''' Terminal commands in the instructions below are prefaced with &amp;quot;$&amp;quot;. Do not include $ when entering the commands in your terminal.&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://apollo.jf.intel.com/tablet/sdk/installer/meego-sdk-1.2-preview-installer-full-tablet.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1.5G&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''If you are using Windows XP, please download a small file vcredist_x86.exe (Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)) from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2 and install it to your system.''' This is not needed for Windows 7.&lt;br /&gt;
   &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
== Develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-tablet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Project_setup.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Disable shadow build'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;Shadow build” should be disabled before build an app. To do that, select “Projects” button in the left side of Qt Creator, and uncheck “Shadow build” in “Build Settings”. '''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
===Run an app within the QEMU Emulator===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Configuration for a MeeGo Emulator device''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools &amp;gt; Options &amp;gt; Projects &amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note: You can also start the Qemu from MADDE terminal. For that you need to go to Start &amp;gt; Programs &amp;gt; MeeGoSDK &amp;gt; MADDE Terminal. In the terminal type:&lt;br /&gt;
 mad list&lt;br /&gt;
to see the runtime and target names, and then type:&lt;br /&gt;
 mad remote -r &amp;lt;runtime&amp;gt; poweron&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qtcreator-qemu.PNG]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====More about QEMU Emulator====&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt; How to SSH into QEMU Image &amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If user failed to connect to MeeGo image through ssh, please refer to item 9 of [http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting#QEMU_SDK_Errors trouble shooting] to check the sshd daemon in client.&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt; The performance of QEMU emulator &amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Two factors impacts the emulator's performance most:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CPU virtualization. kvm is utilized on Linux whereas kqemu is utilized on Windows &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Graphic acceleration. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
The kqemu module requires the host windows system to be 32-bit; the graphic acceleration requires the host to have powerful hardware graphic acceleration. The best performance could be achieved if both factors run well. If neither of above is available, the emulator will be extremely slow. &amp;lt;br&amp;gt;&lt;br /&gt;
Suppose that the graphic card on host is not tha powerful, one way to improve UI performance is to alter the UI program not to use opengl. Below are the steps:&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 $ su&lt;br /&gt;
 $ vi /etc/xdg/autostart/meego-ux-daemon.desktop #remove the &amp;quot;--opengl&amp;quot; option&lt;br /&gt;
 $ exit&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run an app within a real device === &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* '''Note: If the image of an earlier version prior to 1.2 is used, the mad-developer should be installed on device manually before the application is deployed. The following two approaches are alternatives.'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download the repo file from http://download.meego.com/live/Trunk/standard/Trunk.repo to /etc/zypp/repos.d. Then install mad-developer&amp;lt;/li&amp;gt;&lt;br /&gt;
 sudo zypper ref&lt;br /&gt;
 sudo zypper install utfs-client&lt;br /&gt;
 sudo zypper install mad-developer&lt;br /&gt;
&amp;lt;li&amp;gt; Download the rpm package from http://download.meego.com/live/Trunk/standard/i586/mad-developer-2.0-2.1.i586.rpm (OR http://download.meego.com/live/Trunk/standard/armv7l/mad-developer-2.0-2.7.armv7l.rpm for arm.). Then install rpm package.&amp;lt;/li&amp;gt;&lt;br /&gt;
 rpm -i mad-developer-2.0-2.1.i586.rpm&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build an app for Qt Simulator, and run it with Qt Simulator===&lt;br /&gt;
* '''Note: MTF apps cannot be built with simulator currently, while Qt apps can be built.'''&lt;br /&gt;
* Microsoft C++ Compiler is required to build apps for Qt Simulator. To meet this requirement, you can install one of the following software:&lt;br /&gt;
** Microsoft Visio C++ 2008 Express Edition (http://www.microsoft.com/express/Downloads/#2008-Visual-CPP).&lt;br /&gt;
** Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en). This is for Windows 7 only.&lt;br /&gt;
[[File:Untitled2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Add Qt Simulator target ==== &lt;br /&gt;
* Launch Qt Creator&lt;br /&gt;
* Go to Tools &amp;gt; Options &amp;gt; Qt4 &amp;gt; Qt Versions&lt;br /&gt;
* Click the &amp;quot;+&amp;quot; to add a new &amp;quot;Qt Version&amp;quot;&lt;br /&gt;
* In &amp;quot;Version name&amp;quot;, provide a name. &lt;br /&gt;
* In &amp;quot;qmake locations:&amp;quot;, browse and select qmake location: ''&amp;lt;MEEGO_SDK&amp;gt;\Simulator\Qt\bin\qmake.exe''. Replace &amp;lt;MEEGO_SDK&amp;gt; with the directory where you installed MeeGo SDK; the default is C:\MeeGoSDK_1.2.&lt;br /&gt;
* In &amp;quot;Toolchain:&amp;quot;, browse and select &amp;quot;Microsoft Visual C++ Compilers 9.0 (x86)&amp;quot; if you installed &amp;quot;Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1&amp;quot;, or select &amp;quot;Microsoft Visual C++ Compilers 8.0 (x86)&amp;quot; if you installed &amp;quot;Microsoft Visio C++ 2008 Express Edition&amp;quot;.&lt;br /&gt;
* Build&lt;br /&gt;
* To use the simulator, please refer to http://doc.qt.nokia.com/qtsimulator-1.1/simulator-starting.html for more information. If the simulator cannot be load automatically from Qt Creator, you can launch it once manually by double clicking the icon of &amp;quot;&amp;lt;MEEGO_SDK&amp;gt;\Simulator\Application\simulator.exe&amp;quot; in Explorer.&lt;br /&gt;
&lt;br /&gt;
==== Install Debugging Tools for Windows====&lt;br /&gt;
You need to install Debugging Tools for Windows for debugging apps with simulator.&lt;br /&gt;
&lt;br /&gt;
* Launch Qt Creator&lt;br /&gt;
* Select Tools &amp;gt; Option &amp;gt; Debugger &amp;gt; Cdb, check 'CDB'&lt;br /&gt;
*Click the hyperlink of &amp;quot;Debugging Tools for Windows&amp;quot;&lt;br /&gt;
[[File:Qt-creator-option-debugger-cdb.png|600px]]&lt;br /&gt;
*Download the previous versions of debugging tools for Windows (http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi) &lt;br /&gt;
[[File:Web-page-download-debugging-tools.png|600px]]&lt;br /&gt;
* If the CDB path had not been configured preperly, click 'Auto Detect' button to set it manually.&lt;br /&gt;
&lt;br /&gt;
==Known issues and workarounds==&lt;br /&gt;
&lt;br /&gt;
Please refer to [[SDK/Docs/1.1/Troubleshooting]].&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Tablet/MeeGo_Tablet_SDK_1.2_Preview_for_Windows</id>
		<title>SDK/Tablet/MeeGo Tablet SDK 1.2 Preview for Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Tablet/MeeGo_Tablet_SDK_1.2_Preview_for_Windows"/>
				<updated>2011-03-29T15:05:25Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* More about QEMU Emulator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:devguide]]&lt;br /&gt;
[[Category:meego-1.1]]&lt;br /&gt;
[[Category:tutorial]]&lt;br /&gt;
[[Category:application-developer]]&lt;br /&gt;
[[Category:windows]]&lt;br /&gt;
&lt;br /&gt;
'''Note: MeeGo 1.2 SDK has not been released yet. This page contains instructions for downloading and installing the preview version. '''&lt;br /&gt;
&lt;br /&gt;
This page describes how to install and configure the MeeGo 1.2 Tablet SDK on your Windows development system. For more information about MeeGo SDK for Windows, check [[SDK/MeeGo_SDK_for_Windows]]. &lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* '''Hardware:''' Any reasonably modern IA hardware, such as 32-bit Intel Core* CPU.&lt;br /&gt;
** The SDK version of QEMU relies on kqemu to provide CPU virtualization support, but on some machines do not run well. This is believed to be related to certain types of CPU. Below are some details of tested hardware. For those in &amp;quot;known not to work&amp;quot;, one trick could be tried (in item 10 of [http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting#QEMU_SDK_Errors troubleshooting]) which could solve quite some such issues.&lt;br /&gt;
*:* Known to work: Intel Core 2 Quad CPU, Q8200; Intel i5 and i7 (nehalem) ...&lt;br /&gt;
*:* Known not to work: Intel Core 2 Duo P9400 in Thinkpad T400; Intel Core 2 Q9400 in HP7900 Ultra-slim; Intel i5(sandibridge) ...&lt;br /&gt;
* '''Software:''' Only Windows XP 32-bit and Windows 7 32-bit are officially supported.&lt;br /&gt;
*: Currently the QEMU emulator is preferred to run on 32-bit Windows and the QEMU graphic acceleration was only tested with nvidia graphical card. If you are using 64-bit Windows, kqemu is not available and performance will be very poor.&lt;br /&gt;
&lt;br /&gt;
*: For support status and issues using other host operating systems, see [http://wiki.meego.com/SDK/Docs/1.1/MeeGo_1.1_SDK_Host_OS_Support this page].&lt;br /&gt;
* '''Filesystem:''' MeeGo SDK should be installed on a hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable and not supported.&lt;br /&gt;
&lt;br /&gt;
=== Notes and caveats ===&lt;br /&gt;
&lt;br /&gt;
* '''QEMU runtimes and targets''': The following pre-defined targets and runtimes are the only ones which have been verified on Windows:&lt;br /&gt;
** Targets:&lt;br /&gt;
***  meego-tablet-ux-ia32-1.1.90.2.20110209.4&lt;br /&gt;
** Runtimes:&lt;br /&gt;
***  meego-tablet-ia32-sdk-1.1.90.2.20110209.4-sda-runtime&lt;br /&gt;
*: '''Others may be listed by MADDE, but are not guaranteed to work.'''&lt;br /&gt;
* '''Uninstalling:''' Everything you've installed as part of the SDK, ''including MADDE targets and runtimes'', will be removed if you run the MeeGo SDK uninstaller.&lt;br /&gt;
* '''Commands:''' Terminal commands in the instructions below are prefaced with &amp;quot;$&amp;quot;. Do not include $ when entering the commands in your terminal.&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://apollo.jf.intel.com/tablet/sdk/installer/meego-sdk-1.2-preview-installer-full-tablet.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1.5G&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''If you are using Windows XP, please download a small file vcredist_x86.exe (Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)) from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2 and install it to your system.''' This is not needed for Windows 7.&lt;br /&gt;
   &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
== Develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-tablet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Project_setup.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Disable shadow build'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;Shadow build” should be disabled before build an app. To do that, select “Projects” button in the left side of Qt Creator, and uncheck “Shadow build” in “Build Settings”. '''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
===Run an app within the QEMU Emulator===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Configuration for a MeeGo Emulator device''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools &amp;gt; Options &amp;gt; Projects &amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note: You can also start the Qemu from MADDE terminal. For that you need to go to Start &amp;gt; Programs &amp;gt; MeeGoSDK &amp;gt; MADDE Terminal. In the terminal type:&lt;br /&gt;
 mad list&lt;br /&gt;
to see the runtime and target names, and then type:&lt;br /&gt;
 mad remote -r &amp;lt;runtime&amp;gt; poweron&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qtcreator-qemu.PNG]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====More about QEMU Emulator====&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt; How to SSH into QEMU Image &amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If user failed to connect to MeeGo image through ssh, please refer to item 9 of [http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting#QEMU_SDK_Errors trouble shooting] to check the sshd daemon in client.&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt; The performance of QEMU emulator &amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Two factors impacts the emulator's performance most:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CPU virtualization. kvm is utilized on Linux whereas kqemu is utilized on Windows &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Graphic acceleration. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run an app within a real device === &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* '''Note: If the image of an earlier version prior to 1.2 is used, the mad-developer should be installed on device manually before the application is deployed. The following two approaches are alternatives.'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download the repo file from http://download.meego.com/live/Trunk/standard/Trunk.repo to /etc/zypp/repos.d. Then install mad-developer&amp;lt;/li&amp;gt;&lt;br /&gt;
 sudo zypper ref&lt;br /&gt;
 sudo zypper install utfs-client&lt;br /&gt;
 sudo zypper install mad-developer&lt;br /&gt;
&amp;lt;li&amp;gt; Download the rpm package from http://download.meego.com/live/Trunk/standard/i586/mad-developer-2.0-2.1.i586.rpm (OR http://download.meego.com/live/Trunk/standard/armv7l/mad-developer-2.0-2.7.armv7l.rpm for arm.). Then install rpm package.&amp;lt;/li&amp;gt;&lt;br /&gt;
 rpm -i mad-developer-2.0-2.1.i586.rpm&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build an app for Qt Simulator, and run it with Qt Simulator===&lt;br /&gt;
* '''Note: MTF apps cannot be built with simulator currently, while Qt apps can be built.'''&lt;br /&gt;
* Microsoft C++ Compiler is required to build apps for Qt Simulator. To meet this requirement, you can install one of the following software:&lt;br /&gt;
** Microsoft Visio C++ 2008 Express Edition (http://www.microsoft.com/express/Downloads/#2008-Visual-CPP).&lt;br /&gt;
** Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en). This is for Windows 7 only.&lt;br /&gt;
[[File:Untitled2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Add Qt Simulator target ==== &lt;br /&gt;
* Launch Qt Creator&lt;br /&gt;
* Go to Tools &amp;gt; Options &amp;gt; Qt4 &amp;gt; Qt Versions&lt;br /&gt;
* Click the &amp;quot;+&amp;quot; to add a new &amp;quot;Qt Version&amp;quot;&lt;br /&gt;
* In &amp;quot;Version name&amp;quot;, provide a name. &lt;br /&gt;
* In &amp;quot;qmake locations:&amp;quot;, browse and select qmake location: ''&amp;lt;MEEGO_SDK&amp;gt;\Simulator\Qt\bin\qmake.exe''. Replace &amp;lt;MEEGO_SDK&amp;gt; with the directory where you installed MeeGo SDK; the default is C:\MeeGoSDK_1.2.&lt;br /&gt;
* In &amp;quot;Toolchain:&amp;quot;, browse and select &amp;quot;Microsoft Visual C++ Compilers 9.0 (x86)&amp;quot; if you installed &amp;quot;Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1&amp;quot;, or select &amp;quot;Microsoft Visual C++ Compilers 8.0 (x86)&amp;quot; if you installed &amp;quot;Microsoft Visio C++ 2008 Express Edition&amp;quot;.&lt;br /&gt;
* Build&lt;br /&gt;
* To use the simulator, please refer to http://doc.qt.nokia.com/qtsimulator-1.1/simulator-starting.html for more information. If the simulator cannot be load automatically from Qt Creator, you can launch it once manually by double clicking the icon of &amp;quot;&amp;lt;MEEGO_SDK&amp;gt;\Simulator\Application\simulator.exe&amp;quot; in Explorer.&lt;br /&gt;
&lt;br /&gt;
==== Install Debugging Tools for Windows====&lt;br /&gt;
You need to install Debugging Tools for Windows for debugging apps with simulator.&lt;br /&gt;
&lt;br /&gt;
* Launch Qt Creator&lt;br /&gt;
* Select Tools &amp;gt; Option &amp;gt; Debugger &amp;gt; Cdb, check 'CDB'&lt;br /&gt;
*Click the hyperlink of &amp;quot;Debugging Tools for Windows&amp;quot;&lt;br /&gt;
[[File:Qt-creator-option-debugger-cdb.png|600px]]&lt;br /&gt;
*Download the previous versions of debugging tools for Windows (http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi) &lt;br /&gt;
[[File:Web-page-download-debugging-tools.png|600px]]&lt;br /&gt;
* If the CDB path had not been configured preperly, click 'Auto Detect' button to set it manually.&lt;br /&gt;
&lt;br /&gt;
==Known issues and workarounds==&lt;br /&gt;
&lt;br /&gt;
Please refer to [[SDK/Docs/1.1/Troubleshooting]].&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Tablet/MeeGo_Tablet_SDK_1.2_Preview_for_Windows</id>
		<title>SDK/Tablet/MeeGo Tablet SDK 1.2 Preview for Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Tablet/MeeGo_Tablet_SDK_1.2_Preview_for_Windows"/>
				<updated>2011-03-29T14:48:55Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:devguide]]&lt;br /&gt;
[[Category:meego-1.1]]&lt;br /&gt;
[[Category:tutorial]]&lt;br /&gt;
[[Category:application-developer]]&lt;br /&gt;
[[Category:windows]]&lt;br /&gt;
&lt;br /&gt;
'''Note: MeeGo 1.2 SDK has not been released yet. This page contains instructions for downloading and installing the preview version. '''&lt;br /&gt;
&lt;br /&gt;
This page describes how to install and configure the MeeGo 1.2 Tablet SDK on your Windows development system. For more information about MeeGo SDK for Windows, check [[SDK/MeeGo_SDK_for_Windows]]. &lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* '''Hardware:''' Any reasonably modern IA hardware, such as 32-bit Intel Core* CPU.&lt;br /&gt;
** The SDK version of QEMU relies on kqemu to provide CPU virtualization support, but on some machines do not run well. This is believed to be related to certain types of CPU. Below are some details of tested hardware. For those in &amp;quot;known not to work&amp;quot;, one trick could be tried (in item 10 of [http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting#QEMU_SDK_Errors troubleshooting]) which could solve quite some such issues.&lt;br /&gt;
*:* Known to work: Intel Core 2 Quad CPU, Q8200; Intel i5 and i7 (nehalem) ...&lt;br /&gt;
*:* Known not to work: Intel Core 2 Duo P9400 in Thinkpad T400; Intel Core 2 Q9400 in HP7900 Ultra-slim; Intel i5(sandibridge) ...&lt;br /&gt;
* '''Software:''' Only Windows XP 32-bit and Windows 7 32-bit are officially supported.&lt;br /&gt;
*: Currently the QEMU emulator is preferred to run on 32-bit Windows and the QEMU graphic acceleration was only tested with nvidia graphical card. If you are using 64-bit Windows, kqemu is not available and performance will be very poor.&lt;br /&gt;
&lt;br /&gt;
*: For support status and issues using other host operating systems, see [http://wiki.meego.com/SDK/Docs/1.1/MeeGo_1.1_SDK_Host_OS_Support this page].&lt;br /&gt;
* '''Filesystem:''' MeeGo SDK should be installed on a hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable and not supported.&lt;br /&gt;
&lt;br /&gt;
=== Notes and caveats ===&lt;br /&gt;
&lt;br /&gt;
* '''QEMU runtimes and targets''': The following pre-defined targets and runtimes are the only ones which have been verified on Windows:&lt;br /&gt;
** Targets:&lt;br /&gt;
***  meego-tablet-ux-ia32-1.1.90.2.20110209.4&lt;br /&gt;
** Runtimes:&lt;br /&gt;
***  meego-tablet-ia32-sdk-1.1.90.2.20110209.4-sda-runtime&lt;br /&gt;
*: '''Others may be listed by MADDE, but are not guaranteed to work.'''&lt;br /&gt;
* '''Uninstalling:''' Everything you've installed as part of the SDK, ''including MADDE targets and runtimes'', will be removed if you run the MeeGo SDK uninstaller.&lt;br /&gt;
* '''Commands:''' Terminal commands in the instructions below are prefaced with &amp;quot;$&amp;quot;. Do not include $ when entering the commands in your terminal.&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://apollo.jf.intel.com/tablet/sdk/installer/meego-sdk-1.2-preview-installer-full-tablet.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1.5G&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''If you are using Windows XP, please download a small file vcredist_x86.exe (Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)) from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2 and install it to your system.''' This is not needed for Windows 7.&lt;br /&gt;
   &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
== Develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-tablet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Project_setup.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Disable shadow build'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;Shadow build” should be disabled before build an app. To do that, select “Projects” button in the left side of Qt Creator, and uncheck “Shadow build” in “Build Settings”. '''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
===Run an app within the QEMU Emulator===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Configuration for a MeeGo Emulator device''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools &amp;gt; Options &amp;gt; Projects &amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note: You can also start the Qemu from MADDE terminal. For that you need to go to Start &amp;gt; Programs &amp;gt; MeeGoSDK &amp;gt; MADDE Terminal. In the terminal type:&lt;br /&gt;
 mad list&lt;br /&gt;
to see the runtime and target names, and then type:&lt;br /&gt;
 mad remote -r &amp;lt;runtime&amp;gt; poweron&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qtcreator-qemu.PNG]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====More about QEMU Emulator====&lt;br /&gt;
===== How to SSH into QEMU Image =====&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Known issues about QEMU image and workarounds for them=====&lt;br /&gt;
*[http://bugs.meego.com/show_bug.cgi?id=9737 Bug #9737: Fail to run application in Qemu]&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; SSH into QEMU runtime as root user.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Invoke the following command:&amp;lt;/li&amp;gt;&lt;br /&gt;
 rm -rf /etc/ssh/*key*&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run an app within a real device === &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* '''Note: If the image of an earlier version prior to 1.2 is used, the mad-developer should be installed on device manually before the application is deployed. The following two approaches are alternatives.'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download the repo file from http://download.meego.com/live/Trunk/standard/Trunk.repo to /etc/zypp/repos.d. Then install mad-developer&amp;lt;/li&amp;gt;&lt;br /&gt;
 sudo zypper ref&lt;br /&gt;
 sudo zypper install utfs-client&lt;br /&gt;
 sudo zypper install mad-developer&lt;br /&gt;
&amp;lt;li&amp;gt; Download the rpm package from http://download.meego.com/live/Trunk/standard/i586/mad-developer-2.0-2.1.i586.rpm (OR http://download.meego.com/live/Trunk/standard/armv7l/mad-developer-2.0-2.7.armv7l.rpm for arm.). Then install rpm package.&amp;lt;/li&amp;gt;&lt;br /&gt;
 rpm -i mad-developer-2.0-2.1.i586.rpm&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build an app for Qt Simulator, and run it with Qt Simulator===&lt;br /&gt;
* '''Note: MTF apps cannot be built with simulator currently, while Qt apps can be built.'''&lt;br /&gt;
* Microsoft C++ Compiler is required to build apps for Qt Simulator. To meet this requirement, you can install one of the following software:&lt;br /&gt;
** Microsoft Visio C++ 2008 Express Edition (http://www.microsoft.com/express/Downloads/#2008-Visual-CPP).&lt;br /&gt;
** Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en). This is for Windows 7 only.&lt;br /&gt;
[[File:Untitled2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Add Qt Simulator target ==== &lt;br /&gt;
* Launch Qt Creator&lt;br /&gt;
* Go to Tools &amp;gt; Options &amp;gt; Qt4 &amp;gt; Qt Versions&lt;br /&gt;
* Click the &amp;quot;+&amp;quot; to add a new &amp;quot;Qt Version&amp;quot;&lt;br /&gt;
* In &amp;quot;Version name&amp;quot;, provide a name. &lt;br /&gt;
* In &amp;quot;qmake locations:&amp;quot;, browse and select qmake location: ''&amp;lt;MEEGO_SDK&amp;gt;\Simulator\Qt\bin\qmake.exe''. Replace &amp;lt;MEEGO_SDK&amp;gt; with the directory where you installed MeeGo SDK; the default is C:\MeeGoSDK_1.2.&lt;br /&gt;
* In &amp;quot;Toolchain:&amp;quot;, browse and select &amp;quot;Microsoft Visual C++ Compilers 9.0 (x86)&amp;quot; if you installed &amp;quot;Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1&amp;quot;, or select &amp;quot;Microsoft Visual C++ Compilers 8.0 (x86)&amp;quot; if you installed &amp;quot;Microsoft Visio C++ 2008 Express Edition&amp;quot;.&lt;br /&gt;
* Build&lt;br /&gt;
* To use the simulator, please refer to http://doc.qt.nokia.com/qtsimulator-1.1/simulator-starting.html for more information. If the simulator cannot be load automatically from Qt Creator, you can launch it once manually by double clicking the icon of &amp;quot;&amp;lt;MEEGO_SDK&amp;gt;\Simulator\Application\simulator.exe&amp;quot; in Explorer.&lt;br /&gt;
&lt;br /&gt;
==== Install Debugging Tools for Windows====&lt;br /&gt;
You need to install Debugging Tools for Windows for debugging apps with simulator.&lt;br /&gt;
&lt;br /&gt;
* Launch Qt Creator&lt;br /&gt;
* Select Tools &amp;gt; Option &amp;gt; Debugger &amp;gt; Cdb, check 'CDB'&lt;br /&gt;
*Click the hyperlink of &amp;quot;Debugging Tools for Windows&amp;quot;&lt;br /&gt;
[[File:Qt-creator-option-debugger-cdb.png|600px]]&lt;br /&gt;
*Download the previous versions of debugging tools for Windows (http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi) &lt;br /&gt;
[[File:Web-page-download-debugging-tools.png|600px]]&lt;br /&gt;
* If the CDB path had not been configured preperly, click 'Auto Detect' button to set it manually.&lt;br /&gt;
&lt;br /&gt;
==Known issues and workarounds==&lt;br /&gt;
&lt;br /&gt;
Please refer to [[SDK/Docs/1.1/Troubleshooting]].&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Tablet/MeeGo_Tablet_SDK_1.2_Preview_for_Windows</id>
		<title>SDK/Tablet/MeeGo Tablet SDK 1.2 Preview for Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Tablet/MeeGo_Tablet_SDK_1.2_Preview_for_Windows"/>
				<updated>2011-03-29T14:46:25Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:devguide]]&lt;br /&gt;
[[Category:meego-1.1]]&lt;br /&gt;
[[Category:tutorial]]&lt;br /&gt;
[[Category:application-developer]]&lt;br /&gt;
[[Category:windows]]&lt;br /&gt;
&lt;br /&gt;
'''Note: MeeGo 1.2 SDK has not been released yet. This page contains instructions for downloading and installing the preview version. '''&lt;br /&gt;
&lt;br /&gt;
This page describes how to install and configure the MeeGo 1.2 Tablet SDK on your Windows development system. For more information about MeeGo SDK for Windows, check [[SDK/MeeGo_SDK_for_Windows]]. &lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* '''Hardware:''' Any reasonably modern IA hardware, such as 32-bit Intel Core* CPU.&lt;br /&gt;
** The SDK version of QEMU relies on kqemu to provide CPU virtualization support, but on some machines do not run well. This is believed to be related to certain types of CPU. Below are some details of tested hardware. For those in &amp;quot;known not to work&amp;quot;, one trick could be tried (in item 10 of [http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting#QEMU_SDK_Errors troubleshooting]) which could solve quite some such issues.&lt;br /&gt;
*:* Known to work: Intel Core 2 Quad CPU, Q8200; Intel i5 and i7 (nehalem) ...&lt;br /&gt;
*:* Known not to work: Intel Core 2 Duo P9400 in Thinkpad T400; Intel Core 2 Q9400 in HP7900 Ultra-slim; Intel i5(sandibridge) ...&lt;br /&gt;
* '''Software:''' Only Windows XP 32-bit and Windows 7 32-bit are officially supported.&lt;br /&gt;
*: Currently the QEMU emulator only works for IA targets on 32-bit Windows and only tested with nvidia graphical card. If you are using 64-bit Windows, kqemu is not available and performance will be very poor. For best performance, please develop on Linux host.&lt;br /&gt;
&lt;br /&gt;
*: For support status and issues using other host operating systems, see [http://wiki.meego.com/SDK/Docs/1.1/MeeGo_1.1_SDK_Host_OS_Support this page].&lt;br /&gt;
* '''Filesystem:''' MeeGo SDK should be installed on a hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable and not supported.&lt;br /&gt;
&lt;br /&gt;
=== Notes and caveats ===&lt;br /&gt;
&lt;br /&gt;
* '''QEMU runtimes and targets''': The following pre-defined targets and runtimes are the only ones which have been verified on Windows:&lt;br /&gt;
** Targets:&lt;br /&gt;
***  meego-tablet-ux-ia32-1.1.90.2.20110209.4&lt;br /&gt;
** Runtimes:&lt;br /&gt;
***  meego-tablet-ia32-sdk-1.1.90.2.20110209.4-sda-runtime&lt;br /&gt;
*: '''Others may be listed by MADDE, but are not guaranteed to work.'''&lt;br /&gt;
* '''Uninstalling:''' Everything you've installed as part of the SDK, ''including MADDE targets and runtimes'', will be removed if you run the MeeGo SDK uninstaller.&lt;br /&gt;
* '''Commands:''' Terminal commands in the instructions below are prefaced with &amp;quot;$&amp;quot;. Do not include $ when entering the commands in your terminal.&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://apollo.jf.intel.com/tablet/sdk/installer/meego-sdk-1.2-preview-installer-full-tablet.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1.5G&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''If you are using Windows XP, please download a small file vcredist_x86.exe (Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)) from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2 and install it to your system.''' This is not needed for Windows 7.&lt;br /&gt;
   &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
== Develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-tablet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Project_setup.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Disable shadow build'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;Shadow build” should be disabled before build an app. To do that, select “Projects” button in the left side of Qt Creator, and uncheck “Shadow build” in “Build Settings”. '''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
===Run an app within the QEMU Emulator===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Configuration for a MeeGo Emulator device''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools &amp;gt; Options &amp;gt; Projects &amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note: You can also start the Qemu from MADDE terminal. For that you need to go to Start &amp;gt; Programs &amp;gt; MeeGoSDK &amp;gt; MADDE Terminal. In the terminal type:&lt;br /&gt;
 mad list&lt;br /&gt;
to see the runtime and target names, and then type:&lt;br /&gt;
 mad remote -r &amp;lt;runtime&amp;gt; poweron&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qtcreator-qemu.PNG]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====More about QEMU Emulator====&lt;br /&gt;
===== How to SSH into QEMU Image =====&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Known issues about QEMU image and workarounds for them=====&lt;br /&gt;
*[http://bugs.meego.com/show_bug.cgi?id=9737 Bug #9737: Fail to run application in Qemu]&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; SSH into QEMU runtime as root user.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Invoke the following command:&amp;lt;/li&amp;gt;&lt;br /&gt;
 rm -rf /etc/ssh/*key*&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run an app within a real device === &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* '''Note: If the image of an earlier version prior to 1.2 is used, the mad-developer should be installed on device manually before the application is deployed. The following two approaches are alternatives.'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download the repo file from http://download.meego.com/live/Trunk/standard/Trunk.repo to /etc/zypp/repos.d. Then install mad-developer&amp;lt;/li&amp;gt;&lt;br /&gt;
 sudo zypper ref&lt;br /&gt;
 sudo zypper install utfs-client&lt;br /&gt;
 sudo zypper install mad-developer&lt;br /&gt;
&amp;lt;li&amp;gt; Download the rpm package from http://download.meego.com/live/Trunk/standard/i586/mad-developer-2.0-2.1.i586.rpm (OR http://download.meego.com/live/Trunk/standard/armv7l/mad-developer-2.0-2.7.armv7l.rpm for arm.). Then install rpm package.&amp;lt;/li&amp;gt;&lt;br /&gt;
 rpm -i mad-developer-2.0-2.1.i586.rpm&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build an app for Qt Simulator, and run it with Qt Simulator===&lt;br /&gt;
* '''Note: MTF apps cannot be built with simulator currently, while Qt apps can be built.'''&lt;br /&gt;
* Microsoft C++ Compiler is required to build apps for Qt Simulator. To meet this requirement, you can install one of the following software:&lt;br /&gt;
** Microsoft Visio C++ 2008 Express Edition (http://www.microsoft.com/express/Downloads/#2008-Visual-CPP).&lt;br /&gt;
** Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en). This is for Windows 7 only.&lt;br /&gt;
[[File:Untitled2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Add Qt Simulator target ==== &lt;br /&gt;
* Launch Qt Creator&lt;br /&gt;
* Go to Tools &amp;gt; Options &amp;gt; Qt4 &amp;gt; Qt Versions&lt;br /&gt;
* Click the &amp;quot;+&amp;quot; to add a new &amp;quot;Qt Version&amp;quot;&lt;br /&gt;
* In &amp;quot;Version name&amp;quot;, provide a name. &lt;br /&gt;
* In &amp;quot;qmake locations:&amp;quot;, browse and select qmake location: ''&amp;lt;MEEGO_SDK&amp;gt;\Simulator\Qt\bin\qmake.exe''. Replace &amp;lt;MEEGO_SDK&amp;gt; with the directory where you installed MeeGo SDK; the default is C:\MeeGoSDK_1.2.&lt;br /&gt;
* In &amp;quot;Toolchain:&amp;quot;, browse and select &amp;quot;Microsoft Visual C++ Compilers 9.0 (x86)&amp;quot; if you installed &amp;quot;Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1&amp;quot;, or select &amp;quot;Microsoft Visual C++ Compilers 8.0 (x86)&amp;quot; if you installed &amp;quot;Microsoft Visio C++ 2008 Express Edition&amp;quot;.&lt;br /&gt;
* Build&lt;br /&gt;
* To use the simulator, please refer to http://doc.qt.nokia.com/qtsimulator-1.1/simulator-starting.html for more information. If the simulator cannot be load automatically from Qt Creator, you can launch it once manually by double clicking the icon of &amp;quot;&amp;lt;MEEGO_SDK&amp;gt;\Simulator\Application\simulator.exe&amp;quot; in Explorer.&lt;br /&gt;
&lt;br /&gt;
==== Install Debugging Tools for Windows====&lt;br /&gt;
You need to install Debugging Tools for Windows for debugging apps with simulator.&lt;br /&gt;
&lt;br /&gt;
* Launch Qt Creator&lt;br /&gt;
* Select Tools &amp;gt; Option &amp;gt; Debugger &amp;gt; Cdb, check 'CDB'&lt;br /&gt;
*Click the hyperlink of &amp;quot;Debugging Tools for Windows&amp;quot;&lt;br /&gt;
[[File:Qt-creator-option-debugger-cdb.png|600px]]&lt;br /&gt;
*Download the previous versions of debugging tools for Windows (http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi) &lt;br /&gt;
[[File:Web-page-download-debugging-tools.png|600px]]&lt;br /&gt;
* If the CDB path had not been configured preperly, click 'Auto Detect' button to set it manually.&lt;br /&gt;
&lt;br /&gt;
==Known issues and workarounds==&lt;br /&gt;
&lt;br /&gt;
Please refer to [[SDK/Docs/1.1/Troubleshooting]].&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2011-03-29T14:38:13Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
QMAKESPEC has not been set, so configuration cannot be deduced.&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Set QMAKESPEC using a command such as the following (bash):&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export QMAKESPEC=linux-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Compilation fails for MTF application&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]&amp;lt;br/&amp;gt;&lt;br /&gt;
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:&lt;br /&gt;
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find ./ -perm 700 -exec chmod 755 {} \;&lt;br /&gt;
find ./ -perm 600 -exec chmod 644 {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;1) Launching QEMU displays a KVM error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &amp;lt;br&amp;gt;&lt;br /&gt;
or running below command did not show up QEMU window.&lt;br /&gt;
 mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;In SDK 1.1 release, QEMU may exit silently if KVM kernel module is not loaded in advance. Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details. &amp;lt;br&amp;gt;&lt;br /&gt;
In SDK 1.1 update release, the launching scripts has been updated to check whether the KVM module is loaded. If not, QEMU will start without &amp;quot;-enable-kvm&amp;quot; option. So with 1.1 update release, user should be able to launch QEMU always, although slow if KVM is not enabled. We did not start KVM automatically because of the [http://bugs.meego.com/show_bug.cgi?id=10075 KVM] bug.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2) Launching QEMU displays permissions error, e.g.&amp;lt;br/&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
error while loading shared libraries: /usr/lib/libGL.so.1:&lt;br /&gt;
cannot restore segment prot after reloc: Permission denied&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This error is due to SELinux security policy settings. There are two possible solutions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Temporary&amp;lt;/strong&amp;gt; (needs to be repeated on each reboot)&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Permanent&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;lt;code&amp;gt;/etc/selinux/config&amp;lt;/code&amp;gt; file, set the value of the &amp;lt;code&amp;gt;enforcing&amp;lt;/code&amp;gt; variable to &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
You will also need to do &amp;lt;code&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/code&amp;gt; to make this change immediately. SELinux should be disabled on the next boot.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3) Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It is a known that kernel version for Ubuntu 10.10 (2.6.35.23) and some earlier kernel version has a kvm bug which will cause the MeeGo kernel to hang at the very begining of booting up. Please refer to [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] for more information. It could be solved by using the latest kvm kernel module. In case of Ubuntu 10.10, it could be solved by updating kernel with ubuntu update manager. &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4) MeeGo Handset 1.1 image. Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;5) Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt; QEMU in MeeGo SDK has the graphic acceleration to improve the performance. The feature is in MeeGo SDK 1.1.2 update release and coming 1.2 release. The feature could be checked by running below command in a terminal in the MeeGo image:&lt;br /&gt;
 glxinfo|grep renderer&lt;br /&gt;
If the output is &amp;quot;Software Rasterizing&amp;quot;, the feature is not enabled. In such case, one possible reason is that the graphic driver on host is not properly installed. On both linux and windows system, QEMU could disable graphic acceleration automatically if it failed driver capability check. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Meanwhile, the benefit of graphic acceleration relies on the power of host graphic card. It is especially true for Windows system. Advanced graphic card could help.&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;6) [Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;7) &amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;8)[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;9) Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;10) On windows, with kqemu enabled, handset image did not boot into UI. What was shown only was QEMU gray window. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; with KQEMU enabled, QEMU was not able to boot up MeeGo kernel on some host machines. Refer to the [http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Windows#Prerequisites prerequisite link] and [http://bugs.meego.com/show_bug.cgi?id=11590 this] bug. &amp;lt;br&amp;gt;&lt;br /&gt;
One trick to try is to enable CPUID limit from Host PC system BIOS. Then start kqemu by:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
NOTE! In general it's not recommended to touch this BIOS setting. &lt;br /&gt;
&amp;lt;hr&amp;gt;If above mentioned solution doesn't work, you could just disable kqem by running &lt;br /&gt;
 net stop kqemu&lt;br /&gt;
and then restart QEMU. Without kqemu, QEMU would be slow, but should be able to boot up MeeGo image. It only applies to SDK 1.1.2 or later versions. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2011-03-29T14:27:45Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
QMAKESPEC has not been set, so configuration cannot be deduced.&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Set QMAKESPEC using a command such as the following (bash):&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export QMAKESPEC=linux-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Compilation fails for MTF application&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]&amp;lt;br/&amp;gt;&lt;br /&gt;
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:&lt;br /&gt;
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find ./ -perm 700 -exec chmod 755 {} \;&lt;br /&gt;
find ./ -perm 600 -exec chmod 644 {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;1) Launching QEMU displays a KVM error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &amp;lt;br&amp;gt;&lt;br /&gt;
or running below command did not show up QEMU window.&lt;br /&gt;
 mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;In SDK 1.1 release, QEMU may exit silently if KVM kernel module is not loaded in advance. Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details. &amp;lt;br&amp;gt;&lt;br /&gt;
In SDK 1.1 update release, the launching scripts has been updated to check whether the KVM module is loaded. If not, QEMU will start without &amp;quot;-enable-kvm&amp;quot; option. So with 1.1 update release, user should be able to launch QEMU always, although slow if KVM is not enabled. We did not start KVM automatically because of the [http://bugs.meego.com/show_bug.cgi?id=10075 KVM] bug.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2) Launching QEMU displays permissions error, e.g.&amp;lt;br/&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
error while loading shared libraries: /usr/lib/libGL.so.1:&lt;br /&gt;
cannot restore segment prot after reloc: Permission denied&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This error is due to SELinux security policy settings. There are two possible solutions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Temporary&amp;lt;/strong&amp;gt; (needs to be repeated on each reboot)&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Permanent&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;lt;code&amp;gt;/etc/selinux/config&amp;lt;/code&amp;gt; file, set the value of the &amp;lt;code&amp;gt;enforcing&amp;lt;/code&amp;gt; variable to &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
You will also need to do &amp;lt;code&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/code&amp;gt; to make this change immediately. SELinux should be disabled on the next boot.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3) Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It is a known that kernel version for Ubuntu 10.10 (2.6.35.23) and some earlier kernel version has a kvm bug which will cause the MeeGo kernel to hang at the very begining of booting up. Please refer to [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] for more information. It could be solved by using the latest kvm kernel module. In case of Ubuntu 10.10, it could be solved by updating kernel with ubuntu update manager. &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4) MeeGo Handset 1.1 image. Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;5) Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt; QEMU in MeeGo SDK has the graphic acceleration to improve the performance. The feature is in MeeGo SDK 1.1.2 update release and coming 1.2 release. The feature could be checked by running below command in a terminal in the MeeGo image:&lt;br /&gt;
 glxinfo|grep renderer&lt;br /&gt;
If the output is &amp;quot;Software Rasterizing&amp;quot;, the feature is not enabled. In such case, one possible reason is that the graphic driver on host is not properly installed. On both linux and windows system, QEMU could disable graphic acceleration automatically if it failed driver capability check. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Meanwhile, the benefit of graphic acceleration relies on the power of host graphic card. It is especially true for Windows system. Advanced graphic card could help.&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;6) [Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;7) &amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;8)[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;9) Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;10) On windows, with kqemu enabled, handset image did not boot into UI. What was shown only was QEMU gray window. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; with KQEMU enabled, QEMU was not able to boot up MeeGo kernel on some host machines. Refer to the link http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Windows#Prerequisites and [http://bugs.meego.com/show_bug.cgi?id=11590 this] bug. If you are using the 1.1 updated SDK, you could just disable kqem by running &lt;br /&gt;
 net stop kqemu&lt;br /&gt;
and then restart QEMU. Without kqemu, QEMU would be slow, but should be able to boot up handset image.&lt;br /&gt;
&amp;lt;hr&amp;gt;If above mentioned solution doesn't work, another trick to try is to enable CPUID limit from Host PC system BIOS. Make sure that kqemu is started&lt;br /&gt;
 net start kqemu&lt;br /&gt;
NOTE! In general it's not recommended to touch this BIOS setting.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2011-03-29T14:08:45Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
QMAKESPEC has not been set, so configuration cannot be deduced.&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Set QMAKESPEC using a command such as the following (bash):&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export QMAKESPEC=linux-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Compilation fails for MTF application&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]&amp;lt;br/&amp;gt;&lt;br /&gt;
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:&lt;br /&gt;
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find ./ -perm 700 -exec chmod 755 {} \;&lt;br /&gt;
find ./ -perm 600 -exec chmod 644 {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;1) Launching QEMU displays a KVM error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &amp;lt;br&amp;gt;&lt;br /&gt;
or running below command did not show up QEMU window.&lt;br /&gt;
 mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;In SDK 1.1 release, QEMU may exit silently if KVM kernel module is not loaded in advance. Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details. &amp;lt;br&amp;gt;&lt;br /&gt;
In SDK 1.1 update release, the launching scripts has been updated to check whether the KVM module is loaded. If not, QEMU will start without &amp;quot;-enable-kvm&amp;quot; option. So with 1.1 update release, user should be able to launch QEMU always, although slow if KVM is not enabled. We did not start KVM automatically because of the [http://bugs.meego.com/show_bug.cgi?id=10075 KVM] bug.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2) Launching QEMU displays permissions error, e.g.&amp;lt;br/&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
error while loading shared libraries: /usr/lib/libGL.so.1:&lt;br /&gt;
cannot restore segment prot after reloc: Permission denied&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This error is due to SELinux security policy settings. There are two possible solutions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Temporary&amp;lt;/strong&amp;gt; (needs to be repeated on each reboot)&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Permanent&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;lt;code&amp;gt;/etc/selinux/config&amp;lt;/code&amp;gt; file, set the value of the &amp;lt;code&amp;gt;enforcing&amp;lt;/code&amp;gt; variable to &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
You will also need to do &amp;lt;code&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/code&amp;gt; to make this change immediately. SELinux should be disabled on the next boot.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3) Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It is a known that kernel version for Ubuntu 10.10 (2.6.35.23) and some earlier kernel version has a kvm bug which will cause the MeeGo kernel to hang at the very begining of booting up. Please refer to [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] for more information. It could be solved by using the latest kvm kernel module. In case of Ubuntu 10.10, it could be solved by update kernel with ubuntu update manager. &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4) Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;5) Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;6) [Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;7) &amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;8)[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;9) Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;10) On windows, with kqemu enabled, handset image did not boot into UI. What was shown only was QEMU gray window. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; with KQEMU enabled, QEMU was not able to boot up MeeGo kernel on some host machines. Refer to the link http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Windows#Prerequisites and [http://bugs.meego.com/show_bug.cgi?id=11590 this] bug. If you are using the 1.1 updated SDK, you could just disable kqem by running &lt;br /&gt;
 net stop kqemu&lt;br /&gt;
and then restart QEMU. Without kqemu, QEMU would be slow, but should be able to boot up handset image.&lt;br /&gt;
&amp;lt;hr&amp;gt;If above mentioned solution doesn't work, another trick to try is to enable CPUID limit from Host PC system BIOS. Make sure that kqemu is started&lt;br /&gt;
 net start kqemu&lt;br /&gt;
NOTE! In general it's not recommended to touch this BIOS setting.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2011-03-29T13:58:31Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
QMAKESPEC has not been set, so configuration cannot be deduced.&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Set QMAKESPEC using a command such as the following (bash):&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export QMAKESPEC=linux-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Compilation fails for MTF application&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]&amp;lt;br/&amp;gt;&lt;br /&gt;
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:&lt;br /&gt;
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find ./ -perm 700 -exec chmod 755 {} \;&lt;br /&gt;
find ./ -perm 600 -exec chmod 644 {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;1) Launching QEMU displays a KVM error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &amp;lt;br&amp;gt;&lt;br /&gt;
or running below command did not show up QEMU window.&lt;br /&gt;
 mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;In SDK 1.1 release, QEMU may exit silently if KVM kernel module is not loaded in advance. Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details. &amp;lt;br&amp;gt;&lt;br /&gt;
In SDK 1.1 update release, the launching scripts has been updated to check whether the KVM module is loaded. If not, QEMU will start without &amp;quot;-enable-kvm&amp;quot; option. So with 1.1 update release, user should be able to launch QEMU always, although slow if KVM is not enabled. We did not start KVM automatically because of the [http://bugs.meego.com/show_bug.cgi?id=10075 KVM] bug.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2) Launching QEMU displays permissions error, e.g.&amp;lt;br/&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
error while loading shared libraries: /usr/lib/libGL.so.1:&lt;br /&gt;
cannot restore segment prot after reloc: Permission denied&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This error is due to SELinux security policy settings. There are two possible solutions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Temporary&amp;lt;/strong&amp;gt; (needs to be repeated on each reboot)&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Permanent&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;lt;code&amp;gt;/etc/selinux/config&amp;lt;/code&amp;gt; file, set the value of the &amp;lt;code&amp;gt;enforcing&amp;lt;/code&amp;gt; variable to &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
You will also need to do &amp;lt;code&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/code&amp;gt; to make this change immediately. SELinux should be disabled on the next boot.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3) Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The MeeGo kernel booting up just hangs at the very begining due to a KVM bug. Please refer to [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] for more information. It could be solved by using the latest kvm kernel module. &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4) Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;5) Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;6) [Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;7) &amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;8)[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;9) Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;10) On windows, with kqemu enabled, handset image did not boot into UI. What was shown only was QEMU gray window. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; with KQEMU enabled, QEMU was not able to boot up MeeGo kernel on some host machines. Refer to the link http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Windows#Prerequisites and [http://bugs.meego.com/show_bug.cgi?id=11590 this] bug. If you are using the 1.1 updated SDK, you could just disable kqem by running &lt;br /&gt;
 net stop kqemu&lt;br /&gt;
and then restart QEMU. Without kqemu, QEMU would be slow, but should be able to boot up handset image.&lt;br /&gt;
&amp;lt;hr&amp;gt;If above mentioned solution doesn't work, another trick to try is to enable CPUID limit from Host PC system BIOS. Make sure that kqemu is started&lt;br /&gt;
 net start kqemu&lt;br /&gt;
NOTE! In general it's not recommended to touch this BIOS setting.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2011-03-25T02:49:57Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
QMAKESPEC has not been set, so configuration cannot be deduced.&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Set QMAKESPEC using a command such as the following (bash):&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export QMAKESPEC=linux-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Compilation fails for MTF application&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]&amp;lt;br/&amp;gt;&lt;br /&gt;
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:&lt;br /&gt;
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find ./ -perm 700 -exec chmod 755 {} \;&lt;br /&gt;
find ./ -perm 600 -exec chmod 644 {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays a KVM error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &amp;lt;br&amp;gt;&lt;br /&gt;
or running below command did not show up QEMU window.&lt;br /&gt;
 mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;In SDK 1.1 release, QEMU may exit silently if KVM kernel module is not loaded in advance. Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details. &amp;lt;br&amp;gt;&lt;br /&gt;
In SDK 1.1 update release, the launching scripts has been updated to check whether the KVM module is loaded. If not, QEMU will start without &amp;quot;-enable-kvm&amp;quot; option. So with 1.1 update release, user should be able to launch QEMU always, although slow if KVM is not enabled. We did not start KVM automatically because of the [http://bugs.meego.com/show_bug.cgi?id=10075 KVM] bug.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;Launching QEMU displays permissions error, e.g.&amp;lt;br/&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
error while loading shared libraries: /usr/lib/libGL.so.1:&lt;br /&gt;
cannot restore segment prot after reloc: Permission denied&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This error is due to SELinux security policy settings. There are two possible solutions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Temporary&amp;lt;/strong&amp;gt; (needs to be repeated on each reboot)&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Permanent&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;lt;code&amp;gt;/etc/selinux/config&amp;lt;/code&amp;gt; file, set the value of the &amp;lt;code&amp;gt;enforcing&amp;lt;/code&amp;gt; variable to &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
You will also need to do &amp;lt;code&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/code&amp;gt; to make this change immediately. SELinux should be disabled on the next boot.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The MeeGo kernel booting up just hangs at the very begining due to a KVM bug. Please refer to [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] for more information. It could be solved by using the latest kvm kernel module. &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; On windows, with kqemu enabled, handset image did not boot into UI. What was shown only was QEMU gray window. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; with KQEMU enabled, QEMU was not able to boot up MeeGo kernel on some host machines. Refer to the link http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Windows#Prerequisites and [http://bugs.meego.com/show_bug.cgi?id=11590 this] bug. If you are using the 1.1 updated SDK, you could just disable kqem by running &lt;br /&gt;
 net stop kqemu&lt;br /&gt;
and then restart QEMU. Without kqemu, QEMU would be slow, but should be able to boot up handset image.&lt;br /&gt;
&amp;lt;hr&amp;gt;If above mentioned solution doesn't work, another trick to try is to enable CPUID limit from Host PC system BIOS. Make sure that kqemu is started&lt;br /&gt;
 net start kqemu&lt;br /&gt;
NOTE! In general it's not recommended to touch this BIOS setting.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools</id>
		<title>SDK/Docs/1.1/Building QEMU Tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools"/>
				<updated>2011-03-25T02:43:54Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Run the image under QEMU with GL acceleration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Meego-1.1]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build the MeeGo SDK QEMU tools from source, including QEMU binary, patched kernel module, and stub libGL.&lt;br /&gt;
&lt;br /&gt;
It also covers how to convert stock MeeGo images for use with QEMU.&lt;br /&gt;
&lt;br /&gt;
Together, the QEMU tools and a modified image can be used as a [[SDK/Docs/1.1/Creating_Hello_World#Configuring_device_access_in_Qt_Creator|deployment target]] for Qt Creator.&lt;br /&gt;
&lt;br /&gt;
== Build QEMUGL from source ==&lt;br /&gt;
&lt;br /&gt;
'''An alternative to building from source is to install the qemu-gl and/or qemu-arm packages from one of the repositories at http://repo.meego.com/MeeGo/sdk/host/repos/'''&lt;br /&gt;
&lt;br /&gt;
To install on a 64bit system, see [http://wiki.meego.com/MeeGo_SDK_with_QEMU#Installing_qemugl_on_64-bit_ubuntu_10.04 these instructions] (community-maintained).&lt;br /&gt;
&lt;br /&gt;
'''If you still prefer to build QEMUGL from sources, proceed with these steps:'''&lt;br /&gt;
&lt;br /&gt;
Checkout the QEMU GL source code (this is basically QEMU with some patches to enable GL acceleration):&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-qemugl-x86.git&lt;br /&gt;
&lt;br /&gt;
Checkout the qemu-gl branch:&lt;br /&gt;
&lt;br /&gt;
 cd meego-emulator-qemugl-x86&lt;br /&gt;
 git checkout -b qemu-gl-1.1 --track origin/qemu-gl-1.1&lt;br /&gt;
&lt;br /&gt;
Make sure that there is KVM enabled and that the following libraries (development package) are installed on the host machine:&lt;br /&gt;
&lt;br /&gt;
* zlib&lt;br /&gt;
* libSDL&lt;br /&gt;
* Xcomposite&lt;br /&gt;
* libexpat&lt;br /&gt;
&lt;br /&gt;
Configure qemugl:&lt;br /&gt;
&lt;br /&gt;
 ./configure --target-list=i386-softmmu --enable-gl --enable-skinning&lt;br /&gt;
&lt;br /&gt;
Check the output from &amp;lt;code&amp;gt;configure&amp;lt;/code&amp;gt; contains the strings below:&lt;br /&gt;
&lt;br /&gt;
 SDL support   yes&lt;br /&gt;
 ......&lt;br /&gt;
 KVM support   yes&lt;br /&gt;
&lt;br /&gt;
Build qemugl:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
This installs various QEMU binaries (default prefix is &amp;lt;code&amp;gt;/usr/local&amp;lt;/code&amp;gt;), including &amp;lt;code&amp;gt;qemugl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; used in this tutorial.&lt;br /&gt;
&lt;br /&gt;
== Create netbook image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
This section explains how to make a standard MeeGo netbook image run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
=== Install MeeGo netbook to QEMU raw disk image ===&lt;br /&gt;
&lt;br /&gt;
Create raw image file for MeeGo to install on. The &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; command is part of the [[#Build_QEMUGL_from_source|QEMU build]]:&lt;br /&gt;
 qemu-img create -f raw meego-netbook.raw 3.5G&lt;br /&gt;
&lt;br /&gt;
Install MeeGo to the raw hard disk, using the downloaded .img file as the installation CDROM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -boot d -hda meego-netbook.raw \&lt;br /&gt;
-cdrom meego-netbook-ia32-1.1.80.1.20101012.1.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boot into the image:&lt;br /&gt;
 qemugl -m 1024 -vga std -boot c -hda meego-netbook.raw&lt;br /&gt;
&lt;br /&gt;
Go through the installation steps to set up a meego user. The password you set here is also used as the root password, which we'll use below.&lt;br /&gt;
&lt;br /&gt;
Note: occasionally I've halted the system before the meego user is setup. When I then try to boot into the UX, it fails because the user is missing. In this case, you can manually create the user from a root prompt (inside the QEMU image) with:&lt;br /&gt;
 useradd -d /home/meego -M -s /bin/bash meego&lt;br /&gt;
&lt;br /&gt;
Halt the system.&lt;br /&gt;
&lt;br /&gt;
Now boot it again (this time with networking enabled; type the command below, press return, then press tab like crazy so you can get to the boot menu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 \&lt;br /&gt;
-boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, edit the kernel command line on the boot menu screen so it looks like this:&lt;br /&gt;
 vmlinuz-2.6.35.3-8.5-netbook ro root=/dev/sda2 vga=current s&lt;br /&gt;
&lt;br /&gt;
This will get you a root prompt.&lt;br /&gt;
&lt;br /&gt;
=== Install and start openssh server ===&lt;br /&gt;
&lt;br /&gt;
Then install ssh server (this makes the following steps easier, as you can cut and paste into the ssh prompt):&lt;br /&gt;
 zypper install openssh-server&lt;br /&gt;
 chkconfig --add sshd&lt;br /&gt;
 /etc/init.d/sshd start&lt;br /&gt;
&lt;br /&gt;
Use can now use ssh to login to the image with:&lt;br /&gt;
&lt;br /&gt;
 ssh -p 6666 root@127.0.0.1&lt;br /&gt;
&lt;br /&gt;
(password is the same as you entered for your normal user when configuring the system)&lt;br /&gt;
&lt;br /&gt;
=== Set suid bit on Xorg binary ===&lt;br /&gt;
&lt;br /&gt;
Once logged in over ssh, set suid on the Xorg binary (so a normal user can start X):&lt;br /&gt;
&lt;br /&gt;
 chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
=== Install packages from the SDK repo ===&lt;br /&gt;
&lt;br /&gt;
Then install the SDK addons. First, add the MeeGo SDK repo:&lt;br /&gt;
&lt;br /&gt;
 zypper addrepo http://repo.meego.com/MeeGo/sdk/target/repos/meego/1.1/ meego-sdk&lt;br /&gt;
&lt;br /&gt;
(you will need to use the '''trunk''' repo if you are using a trunk netbook image)&lt;br /&gt;
&lt;br /&gt;
'''Another alternative is to [[#Manually build packages for an image running under QEMU GL|manually build the addons, kernel and virtiogl module in a chroot]], then install them into the image.'''&lt;br /&gt;
&lt;br /&gt;
==== Install QEMU addons ====&lt;br /&gt;
&lt;br /&gt;
Install the qemugl addon package into the image:&lt;br /&gt;
&lt;br /&gt;
 zypper install meego-sdk-qemugl-addon-netbook&lt;br /&gt;
&lt;br /&gt;
==== Install kernel and virtiogl module ====&lt;br /&gt;
&lt;br /&gt;
Install virtiogl module for kernel:&lt;br /&gt;
&lt;br /&gt;
 zypper install kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Right now above package only supports kernel version of 2.6.35. If you need to build the SDK addons or a kernel and its modules, [[#Manually build packages for an image running under QEMU GL|instructions are given below]].&lt;br /&gt;
&lt;br /&gt;
=== Run the image under QEMU with GL acceleration ===&lt;br /&gt;
&lt;br /&gt;
The image should now be ready. It can be started in QEMU with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -enable-kvm \&lt;br /&gt;
-vga std -enable-gl -device virtio-gl-pci -soundhw ac97 -boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case that you are not able to boot into MeeGo UX, please have a look at the trouble shooting page [http://wiki.meego.com/MeeGo_SDK_Troubleshooting#QEMU_SDK_Errors here] to see whether the problem could be solved. &amp;lt;br&amp;gt;&lt;br /&gt;
Note that you should still be able to ssh to this image as above.&lt;br /&gt;
&lt;br /&gt;
== Create handset image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
If you have a handset image downloaded, follow these instructions to enable it to run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
You will need to install '''kpartx''' if you don't have it already:&lt;br /&gt;
 $ sudo yum install kpartx&lt;br /&gt;
(or whatever the equivalent is for your distro).&lt;br /&gt;
&lt;br /&gt;
Download a handset IA32 image (e.g. http://repo.meego.com/MeeGo/builds/trunk/1.1.80.4.20101029.1/handset/images/meego-handset-ia32-mtf/meego-handset-ia32-mtf-1.1.80.4.20101029.1-sda.bin.bz2), and unpack the file:&lt;br /&gt;
 $ bunzip2 meego-handset-ia32-mtf-1.1-sda.bin.bz2&lt;br /&gt;
(Note that this procedure should work for other sda-bin images from http://repo.meego.com/MeeGo/builds/ too.)&lt;br /&gt;
&lt;br /&gt;
A useful shortcut is to define a variable for the path to the image first; this can then be used to make later commands simpler:&lt;br /&gt;
 $ IMAGE=~/images/meego-handset-ia32-mtf-1.1-sda.bin&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt; to map the partitions in the disk image onto devices, which can then be mounted onto directories:&lt;br /&gt;
 $ sudo kpartx -a -v $IMAGE&lt;br /&gt;
 add map loop0p1 (253:4): 0 3320312 linear /dev/loop0 1&lt;br /&gt;
&lt;br /&gt;
The output of &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt; indicates the loop device mapped to the partition; in this case, &amp;lt;code&amp;gt;loop0p1&amp;lt;/code&amp;gt;. The device we want to mount is determined by prefixing this map with &amp;lt;code&amp;gt;/dev/mapper&amp;lt;/code&amp;gt;, i.e.:&lt;br /&gt;
 /dev/mapper/loop0p1&lt;br /&gt;
&lt;br /&gt;
We also need to note the device which this image has been mapped across; in this case, &amp;lt;code&amp;gt;/dev/loop0&amp;lt;/code&amp;gt;. This will be used later to make the image bootable.&lt;br /&gt;
&lt;br /&gt;
You can then mount this on a directory:&lt;br /&gt;
 $ mkdir /tmp/handset&lt;br /&gt;
 $ sudo mount -t ext3 /dev/mapper/loop0p1 /tmp/handset&lt;br /&gt;
'''Attention''': on Ubuntu10.04 should be &lt;br /&gt;
 $ sudo mount /dev/mapper/loop0p1 /tmp/handset&lt;br /&gt;
or we'll get message&lt;br /&gt;
&amp;quot;mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop0p1,missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail  or so&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
And chroot into it:&lt;br /&gt;
 $ sudo mic-chroot /tmp/handset&lt;br /&gt;
&lt;br /&gt;
Next, modify the packages in the image:&lt;br /&gt;
 $ zypper remove kernel-mrst  # if present&lt;br /&gt;
 $ zypper install kernel-netbook mesa-dri-* xorg-x11-drv-vesa syslinux-extlinux&lt;br /&gt;
&lt;br /&gt;
Create symlinks to the Linux kernel for extlinux:&lt;br /&gt;
 $ cd /boot/extlinux&lt;br /&gt;
 $ ln -sf ../vmlinuz-*netbook .&lt;br /&gt;
&lt;br /&gt;
Modify the extlinux configuration:&lt;br /&gt;
 $ MEEGO_KERNEL=`ls /boot/vmlinuz-*netbook | sed -e 's%/boot/%%'` &amp;amp;&amp;amp; echo \&lt;br /&gt;
 &amp;quot;PROMPT 0&lt;br /&gt;
 TIMEOUT 1&lt;br /&gt;
 DEFAULT meego&lt;br /&gt;
 LABEL meego&lt;br /&gt;
   KERNEL $MEEGO_KERNEL&lt;br /&gt;
   APPEND ro root=/dev/sda1 3&amp;quot; \&lt;br /&gt;
 &amp;gt; /boot/extlinux/extlinux.conf&lt;br /&gt;
&lt;br /&gt;
Note that the above command won't work if you have multiple netbook kernels installed: in that case, manually set &amp;lt;code&amp;gt;MEEGO_KERNEL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Also note that the &amp;lt;code&amp;gt;APPEND&amp;lt;/code&amp;gt; configuration line tells the kernel to boot to runlevel 3, which is useful for debugging.&lt;br /&gt;
&lt;br /&gt;
Add SDK repository:&lt;br /&gt;
 $ zypper addrepo http://repo.meego.com/MeeGo/sdk/target/repos/meego/trunk meego-sdk&lt;br /&gt;
You might need to change '''trunk''' to something else, depending on your image (for example, '''1.1''' if using a MeeGo 1.1 image).&lt;br /&gt;
&lt;br /&gt;
Install SDK packages:&lt;br /&gt;
 $ zypper install meego-sdk-qemugl-addon-handset kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Install SSH server and enable it to start on boot:&lt;br /&gt;
 $ zypper install openssh-server&lt;br /&gt;
 $ chkconfig --add sshd&lt;br /&gt;
&lt;br /&gt;
Fix permissions on the Xorg binary:&lt;br /&gt;
 $ chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
Exit the chroot:&lt;br /&gt;
 $ exit&lt;br /&gt;
&lt;br /&gt;
Now, outside the chroot, install the SYSLINUX bootloader on the filesystem:&lt;br /&gt;
 $ sudo extlinux --install /tmp/handset/boot/extlinux&lt;br /&gt;
&lt;br /&gt;
Unmount the device:&lt;br /&gt;
 $ sudo umount /tmp/handset&lt;br /&gt;
&lt;br /&gt;
Make the modified image (still mapped to a device) bootable; NB the device you use with &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt; is the one we made a note of earlier when we ran &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt;:&lt;br /&gt;
 $ sudo fdisk /dev/loop0&lt;br /&gt;
&lt;br /&gt;
At the fdisk command prompt:&lt;br /&gt;
* Enter ''a'' to toggle the &amp;quot;bootable&amp;quot; flag on a partition.&lt;br /&gt;
* Enter ''1'' to select the first partition as the bootable one.&lt;br /&gt;
* Enter ''w'' to write your changes to the partition table in the image.&lt;br /&gt;
&lt;br /&gt;
Remove the device map:&lt;br /&gt;
 $ sudo kpartx -d -v $IMAGE&lt;br /&gt;
&lt;br /&gt;
This image can now be booted under QEMU with:&lt;br /&gt;
 $ sudo qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -vga std \&lt;br /&gt;
 -boot c -enable-kvm -enable-gl -device virtio-gl-pci -hda $IMAGE&lt;br /&gt;
&lt;br /&gt;
This will boot to runlevel 3 when you run the image under QEMU. When you get a login prompt after booting under QEMU, login with username '''meego''' and password '''meego'''.&lt;br /&gt;
&lt;br /&gt;
To start the UX once logged it:&lt;br /&gt;
 $ uxlaunch&lt;br /&gt;
&lt;br /&gt;
== Manually build packages for an image running under QEMU GL ==&lt;br /&gt;
&lt;br /&gt;
You can manually build the software required to run an image (netbook or handset) under QEMU with GL acceleration. But this is only recommended if a pre-built package for the software you want doesn't already exist (up-to-date packages should be available for both handset and netbook).&lt;br /&gt;
&lt;br /&gt;
The steps below should be followed from ''inside'' a MeeGo image intended to run under QEMU. You could try this inside an emulated image, or by [[SDK/Docs/1.0/Building a MeeGo chroot on Linux|building a chroot]] from the raw disk image and working inside that (the latter is the only reasonable approach for building the kernel).&lt;br /&gt;
&lt;br /&gt;
For building both the qemugl addon and the kernel+modules, you will need to install a toolchain first (either into the QEMU image or the chroot; or into both, if you are building some software directly in the image and some in the chroot):&lt;br /&gt;
 zypper install make gcc git patch diffutils&lt;br /&gt;
&lt;br /&gt;
Alternatively, this command will get you ''all'' the MeeGo developer tools:&lt;br /&gt;
 zypper install -t pattern development-tools&lt;br /&gt;
&lt;br /&gt;
=== Build qemugl addon ===&lt;br /&gt;
&lt;br /&gt;
The addon package installed in above section can also be built from source. These steps are fairly easy to do inside the QEMU image itself.&lt;br /&gt;
&lt;br /&gt;
You don't need to do this if you already installed a &amp;lt;code&amp;gt;meego-sdk-qemugl-addon-*&amp;lt;/code&amp;gt; package (see [[#Install QEMU addons, kernel and virtiogl module|above]]). &lt;br /&gt;
&lt;br /&gt;
Install required packaged first:&lt;br /&gt;
 zypper install libXfixes-devel libX11-devel&lt;br /&gt;
&lt;br /&gt;
Checkout stub libGL source code:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-libgl-x86.git&lt;br /&gt;
&lt;br /&gt;
Build:&lt;br /&gt;
 cd meego-emulator-libgl-x86&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Build and install kernel and modules ===&lt;br /&gt;
&lt;br /&gt;
The approach we take for this is to use a chroot to build an RPM package for the new kernel and modules. This can then be easily transferred to the QEMU image and installed. Building the new kernel directly inside the QEMU image is too slow to be practical.&lt;br /&gt;
&lt;br /&gt;
The first thing you'll need is a MeeGo chroot, built from the same image you're using under QEMU. See [[SDK/Docs/1.0/Building a MeeGo chroot on Linux|this page]] for instructions.&lt;br /&gt;
&lt;br /&gt;
Enter the chroot:&lt;br /&gt;
 sudo mic-chroot &amp;lt;path to chroot&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install &amp;lt;code&amp;gt;rpmbuild&amp;lt;/code&amp;gt; (used to build the RPM from the kernel source):&lt;br /&gt;
 zypper install rpm-build&lt;br /&gt;
&lt;br /&gt;
Get the MeeGo kernel-source (this contains configuration files for building MeeGo kernels):&lt;br /&gt;
 git clone git://gitorious.org/meego-os-base/kernel-source.git&lt;br /&gt;
&lt;br /&gt;
Get the virtio patches for the kernel:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-virtiogl-x86.git&lt;br /&gt;
&lt;br /&gt;
Copy the virtio patch into the patches dir of kernel-source:&lt;br /&gt;
 cp meego-emulator-virtiogl-x86/linux-2.6.35-virtio-for-qemu-gl-acceleration.patch kernel-source/patches&lt;br /&gt;
&lt;br /&gt;
Download the kernel source tarball (NB you want the plain series version, not one with a patch number); in this case, I used a 2.6.35 kernel:&lt;br /&gt;
 cd kernel-source&lt;br /&gt;
 curl -o linux-2.6.35.tar.bz2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remain in the &amp;lt;code&amp;gt;kernel-source&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;series&amp;lt;/code&amp;gt; file to add the virtiogl patch to the list of patches to apply:&lt;br /&gt;
 # Add Virtio-mem module for QEMU GL acceleration&lt;br /&gt;
 linux-2.6.35-virtio-for-qemu-gl-acceleration.patch&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;config-netbook&amp;lt;/code&amp;gt; file (used for both handset and netbook) to enable VIRTIOGL as a module:&lt;br /&gt;
 CONFIG_VIRTIO_PCI=m&lt;br /&gt;
 CONFIG_VIRTIOGL=m&lt;br /&gt;
 # CONFIG_VIRTIO_BLK is not set&lt;br /&gt;
 # CONFIG_VIRTIO_NET is not set&lt;br /&gt;
 # CONFIG_VIRTIO_CONSOLE is not set&lt;br /&gt;
 # CONFIG_HW_RANDOM_VIRTIO is not set&lt;br /&gt;
&lt;br /&gt;
Delete this line from the same file (we want to set a value and it could be confusing otherwise):&lt;br /&gt;
&lt;br /&gt;
 # CONFIG_VIRTIO_PCI is not set&lt;br /&gt;
&lt;br /&gt;
Generate spec files and config files:&lt;br /&gt;
 make&lt;br /&gt;
 make -f Makefile.config&lt;br /&gt;
&lt;br /&gt;
This generates config files with names in the format &amp;lt;code&amp;gt;kernel-xxx.config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Patch the kernel:&lt;br /&gt;
 ./scripts/install-git-hooks&lt;br /&gt;
 ./scripts/sequence-patch.sh --quilt&lt;br /&gt;
&lt;br /&gt;
Copy kernel config file into the source tree:&lt;br /&gt;
 cp kernel-netbook.config tmp/linux-2.6.35-master/.config&lt;br /&gt;
&lt;br /&gt;
Build a kernel RPM package (takes a long time):&lt;br /&gt;
 cd tmp/linux-2.6.35-master&lt;br /&gt;
 make oldconfig (at each prompt, accept the default)&lt;br /&gt;
 make rpm-pkg&lt;br /&gt;
&lt;br /&gt;
The resulting package is in &amp;lt;code&amp;gt;/root/rpmbuild/RPMS/i386/kernel-&amp;lt;kernel version and architecture&amp;gt;.rpm&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Copy this to the QEMU image over ssh or equivalent, for example:&lt;br /&gt;
 scp -P 6666 /root/rpmbuild/RPMS/i386/kernel-2.6.35.3+-1.i386.rpm root@127.0.0.1:/root/&lt;br /&gt;
&lt;br /&gt;
Get a root prompt in the QEMU image (either by booting into single user mode or logging in via ssh) and install the RPM:&lt;br /&gt;
 rpm -ivh /root/kernel-2.6.35.3+-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
Build and install the new initrd (a RAM disk image) for the kernel and modify the boot loader:&lt;br /&gt;
 new-kernel-pkg --mkinitrd --install --make-default --depmod 2.6.35.3+&lt;br /&gt;
(replace 2.6.35.3+ with the version for your new kernel)&lt;br /&gt;
&lt;br /&gt;
Next time you [[#Run the image under QEMU with GL acceleration|boot the image]], it should default to using the new kernel with the virtiogl module.&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools</id>
		<title>SDK/Docs/1.1/Building QEMU Tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools"/>
				<updated>2011-03-25T02:34:00Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Run the image under QEMU with GL acceleration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Meego-1.1]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build the MeeGo SDK QEMU tools from source, including QEMU binary, patched kernel module, and stub libGL.&lt;br /&gt;
&lt;br /&gt;
It also covers how to convert stock MeeGo images for use with QEMU.&lt;br /&gt;
&lt;br /&gt;
Together, the QEMU tools and a modified image can be used as a [[SDK/Docs/1.1/Creating_Hello_World#Configuring_device_access_in_Qt_Creator|deployment target]] for Qt Creator.&lt;br /&gt;
&lt;br /&gt;
== Build QEMUGL from source ==&lt;br /&gt;
&lt;br /&gt;
'''An alternative to building from source is to install the qemu-gl and/or qemu-arm packages from one of the repositories at http://repo.meego.com/MeeGo/sdk/host/repos/'''&lt;br /&gt;
&lt;br /&gt;
To install on a 64bit system, see [http://wiki.meego.com/MeeGo_SDK_with_QEMU#Installing_qemugl_on_64-bit_ubuntu_10.04 these instructions] (community-maintained).&lt;br /&gt;
&lt;br /&gt;
'''If you still prefer to build QEMUGL from sources, proceed with these steps:'''&lt;br /&gt;
&lt;br /&gt;
Checkout the QEMU GL source code (this is basically QEMU with some patches to enable GL acceleration):&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-qemugl-x86.git&lt;br /&gt;
&lt;br /&gt;
Checkout the qemu-gl branch:&lt;br /&gt;
&lt;br /&gt;
 cd meego-emulator-qemugl-x86&lt;br /&gt;
 git checkout -b qemu-gl-1.1 --track origin/qemu-gl-1.1&lt;br /&gt;
&lt;br /&gt;
Make sure that there is KVM enabled and that the following libraries (development package) are installed on the host machine:&lt;br /&gt;
&lt;br /&gt;
* zlib&lt;br /&gt;
* libSDL&lt;br /&gt;
* Xcomposite&lt;br /&gt;
* libexpat&lt;br /&gt;
&lt;br /&gt;
Configure qemugl:&lt;br /&gt;
&lt;br /&gt;
 ./configure --target-list=i386-softmmu --enable-gl --enable-skinning&lt;br /&gt;
&lt;br /&gt;
Check the output from &amp;lt;code&amp;gt;configure&amp;lt;/code&amp;gt; contains the strings below:&lt;br /&gt;
&lt;br /&gt;
 SDL support   yes&lt;br /&gt;
 ......&lt;br /&gt;
 KVM support   yes&lt;br /&gt;
&lt;br /&gt;
Build qemugl:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
This installs various QEMU binaries (default prefix is &amp;lt;code&amp;gt;/usr/local&amp;lt;/code&amp;gt;), including &amp;lt;code&amp;gt;qemugl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; used in this tutorial.&lt;br /&gt;
&lt;br /&gt;
== Create netbook image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
This section explains how to make a standard MeeGo netbook image run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
=== Install MeeGo netbook to QEMU raw disk image ===&lt;br /&gt;
&lt;br /&gt;
Create raw image file for MeeGo to install on. The &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; command is part of the [[#Build_QEMUGL_from_source|QEMU build]]:&lt;br /&gt;
 qemu-img create -f raw meego-netbook.raw 3.5G&lt;br /&gt;
&lt;br /&gt;
Install MeeGo to the raw hard disk, using the downloaded .img file as the installation CDROM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -boot d -hda meego-netbook.raw \&lt;br /&gt;
-cdrom meego-netbook-ia32-1.1.80.1.20101012.1.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boot into the image:&lt;br /&gt;
 qemugl -m 1024 -vga std -boot c -hda meego-netbook.raw&lt;br /&gt;
&lt;br /&gt;
Go through the installation steps to set up a meego user. The password you set here is also used as the root password, which we'll use below.&lt;br /&gt;
&lt;br /&gt;
Note: occasionally I've halted the system before the meego user is setup. When I then try to boot into the UX, it fails because the user is missing. In this case, you can manually create the user from a root prompt (inside the QEMU image) with:&lt;br /&gt;
 useradd -d /home/meego -M -s /bin/bash meego&lt;br /&gt;
&lt;br /&gt;
Halt the system.&lt;br /&gt;
&lt;br /&gt;
Now boot it again (this time with networking enabled; type the command below, press return, then press tab like crazy so you can get to the boot menu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 \&lt;br /&gt;
-boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, edit the kernel command line on the boot menu screen so it looks like this:&lt;br /&gt;
 vmlinuz-2.6.35.3-8.5-netbook ro root=/dev/sda2 vga=current s&lt;br /&gt;
&lt;br /&gt;
This will get you a root prompt.&lt;br /&gt;
&lt;br /&gt;
=== Install and start openssh server ===&lt;br /&gt;
&lt;br /&gt;
Then install ssh server (this makes the following steps easier, as you can cut and paste into the ssh prompt):&lt;br /&gt;
 zypper install openssh-server&lt;br /&gt;
 chkconfig --add sshd&lt;br /&gt;
 /etc/init.d/sshd start&lt;br /&gt;
&lt;br /&gt;
Use can now use ssh to login to the image with:&lt;br /&gt;
&lt;br /&gt;
 ssh -p 6666 root@127.0.0.1&lt;br /&gt;
&lt;br /&gt;
(password is the same as you entered for your normal user when configuring the system)&lt;br /&gt;
&lt;br /&gt;
=== Set suid bit on Xorg binary ===&lt;br /&gt;
&lt;br /&gt;
Once logged in over ssh, set suid on the Xorg binary (so a normal user can start X):&lt;br /&gt;
&lt;br /&gt;
 chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
=== Install packages from the SDK repo ===&lt;br /&gt;
&lt;br /&gt;
Then install the SDK addons. First, add the MeeGo SDK repo:&lt;br /&gt;
&lt;br /&gt;
 zypper addrepo http://repo.meego.com/MeeGo/sdk/target/repos/meego/1.1/ meego-sdk&lt;br /&gt;
&lt;br /&gt;
(you will need to use the '''trunk''' repo if you are using a trunk netbook image)&lt;br /&gt;
&lt;br /&gt;
'''Another alternative is to [[#Manually build packages for an image running under QEMU GL|manually build the addons, kernel and virtiogl module in a chroot]], then install them into the image.'''&lt;br /&gt;
&lt;br /&gt;
==== Install QEMU addons ====&lt;br /&gt;
&lt;br /&gt;
Install the qemugl addon package into the image:&lt;br /&gt;
&lt;br /&gt;
 zypper install meego-sdk-qemugl-addon-netbook&lt;br /&gt;
&lt;br /&gt;
==== Install kernel and virtiogl module ====&lt;br /&gt;
&lt;br /&gt;
Install virtiogl module for kernel:&lt;br /&gt;
&lt;br /&gt;
 zypper install kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Right now above package only supports kernel version of 2.6.35. If you need to build the SDK addons or a kernel and its modules, [[#Manually build packages for an image running under QEMU GL|instructions are given below]].&lt;br /&gt;
&lt;br /&gt;
=== Run the image under QEMU with GL acceleration ===&lt;br /&gt;
&lt;br /&gt;
The image should now be ready. It can be started in QEMU with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -enable-kvm \&lt;br /&gt;
-vga std -enable-gl -device virtio-gl-pci -soundhw ac97 -boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you should still be able to ssh to this image as above.&lt;br /&gt;
&lt;br /&gt;
== Create handset image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
If you have a handset image downloaded, follow these instructions to enable it to run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
You will need to install '''kpartx''' if you don't have it already:&lt;br /&gt;
 $ sudo yum install kpartx&lt;br /&gt;
(or whatever the equivalent is for your distro).&lt;br /&gt;
&lt;br /&gt;
Download a handset IA32 image (e.g. http://repo.meego.com/MeeGo/builds/trunk/1.1.80.4.20101029.1/handset/images/meego-handset-ia32-mtf/meego-handset-ia32-mtf-1.1.80.4.20101029.1-sda.bin.bz2), and unpack the file:&lt;br /&gt;
 $ bunzip2 meego-handset-ia32-mtf-1.1-sda.bin.bz2&lt;br /&gt;
(Note that this procedure should work for other sda-bin images from http://repo.meego.com/MeeGo/builds/ too.)&lt;br /&gt;
&lt;br /&gt;
A useful shortcut is to define a variable for the path to the image first; this can then be used to make later commands simpler:&lt;br /&gt;
 $ IMAGE=~/images/meego-handset-ia32-mtf-1.1-sda.bin&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt; to map the partitions in the disk image onto devices, which can then be mounted onto directories:&lt;br /&gt;
 $ sudo kpartx -a -v $IMAGE&lt;br /&gt;
 add map loop0p1 (253:4): 0 3320312 linear /dev/loop0 1&lt;br /&gt;
&lt;br /&gt;
The output of &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt; indicates the loop device mapped to the partition; in this case, &amp;lt;code&amp;gt;loop0p1&amp;lt;/code&amp;gt;. The device we want to mount is determined by prefixing this map with &amp;lt;code&amp;gt;/dev/mapper&amp;lt;/code&amp;gt;, i.e.:&lt;br /&gt;
 /dev/mapper/loop0p1&lt;br /&gt;
&lt;br /&gt;
We also need to note the device which this image has been mapped across; in this case, &amp;lt;code&amp;gt;/dev/loop0&amp;lt;/code&amp;gt;. This will be used later to make the image bootable.&lt;br /&gt;
&lt;br /&gt;
You can then mount this on a directory:&lt;br /&gt;
 $ mkdir /tmp/handset&lt;br /&gt;
 $ sudo mount -t ext3 /dev/mapper/loop0p1 /tmp/handset&lt;br /&gt;
'''Attention''': on Ubuntu10.04 should be &lt;br /&gt;
 $ sudo mount /dev/mapper/loop0p1 /tmp/handset&lt;br /&gt;
or we'll get message&lt;br /&gt;
&amp;quot;mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop0p1,missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail  or so&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
And chroot into it:&lt;br /&gt;
 $ sudo mic-chroot /tmp/handset&lt;br /&gt;
&lt;br /&gt;
Next, modify the packages in the image:&lt;br /&gt;
 $ zypper remove kernel-mrst  # if present&lt;br /&gt;
 $ zypper install kernel-netbook mesa-dri-* xorg-x11-drv-vesa syslinux-extlinux&lt;br /&gt;
&lt;br /&gt;
Create symlinks to the Linux kernel for extlinux:&lt;br /&gt;
 $ cd /boot/extlinux&lt;br /&gt;
 $ ln -sf ../vmlinuz-*netbook .&lt;br /&gt;
&lt;br /&gt;
Modify the extlinux configuration:&lt;br /&gt;
 $ MEEGO_KERNEL=`ls /boot/vmlinuz-*netbook | sed -e 's%/boot/%%'` &amp;amp;&amp;amp; echo \&lt;br /&gt;
 &amp;quot;PROMPT 0&lt;br /&gt;
 TIMEOUT 1&lt;br /&gt;
 DEFAULT meego&lt;br /&gt;
 LABEL meego&lt;br /&gt;
   KERNEL $MEEGO_KERNEL&lt;br /&gt;
   APPEND ro root=/dev/sda1 3&amp;quot; \&lt;br /&gt;
 &amp;gt; /boot/extlinux/extlinux.conf&lt;br /&gt;
&lt;br /&gt;
Note that the above command won't work if you have multiple netbook kernels installed: in that case, manually set &amp;lt;code&amp;gt;MEEGO_KERNEL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Also note that the &amp;lt;code&amp;gt;APPEND&amp;lt;/code&amp;gt; configuration line tells the kernel to boot to runlevel 3, which is useful for debugging.&lt;br /&gt;
&lt;br /&gt;
Add SDK repository:&lt;br /&gt;
 $ zypper addrepo http://repo.meego.com/MeeGo/sdk/target/repos/meego/trunk meego-sdk&lt;br /&gt;
You might need to change '''trunk''' to something else, depending on your image (for example, '''1.1''' if using a MeeGo 1.1 image).&lt;br /&gt;
&lt;br /&gt;
Install SDK packages:&lt;br /&gt;
 $ zypper install meego-sdk-qemugl-addon-handset kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Install SSH server and enable it to start on boot:&lt;br /&gt;
 $ zypper install openssh-server&lt;br /&gt;
 $ chkconfig --add sshd&lt;br /&gt;
&lt;br /&gt;
Fix permissions on the Xorg binary:&lt;br /&gt;
 $ chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
Exit the chroot:&lt;br /&gt;
 $ exit&lt;br /&gt;
&lt;br /&gt;
Now, outside the chroot, install the SYSLINUX bootloader on the filesystem:&lt;br /&gt;
 $ sudo extlinux --install /tmp/handset/boot/extlinux&lt;br /&gt;
&lt;br /&gt;
Unmount the device:&lt;br /&gt;
 $ sudo umount /tmp/handset&lt;br /&gt;
&lt;br /&gt;
Make the modified image (still mapped to a device) bootable; NB the device you use with &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt; is the one we made a note of earlier when we ran &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt;:&lt;br /&gt;
 $ sudo fdisk /dev/loop0&lt;br /&gt;
&lt;br /&gt;
At the fdisk command prompt:&lt;br /&gt;
* Enter ''a'' to toggle the &amp;quot;bootable&amp;quot; flag on a partition.&lt;br /&gt;
* Enter ''1'' to select the first partition as the bootable one.&lt;br /&gt;
* Enter ''w'' to write your changes to the partition table in the image.&lt;br /&gt;
&lt;br /&gt;
Remove the device map:&lt;br /&gt;
 $ sudo kpartx -d -v $IMAGE&lt;br /&gt;
&lt;br /&gt;
This image can now be booted under QEMU with:&lt;br /&gt;
 $ sudo qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -vga std \&lt;br /&gt;
 -boot c -enable-kvm -enable-gl -device virtio-gl-pci -hda $IMAGE&lt;br /&gt;
&lt;br /&gt;
This will boot to runlevel 3 when you run the image under QEMU. When you get a login prompt after booting under QEMU, login with username '''meego''' and password '''meego'''.&lt;br /&gt;
&lt;br /&gt;
To start the UX once logged it:&lt;br /&gt;
 $ uxlaunch&lt;br /&gt;
&lt;br /&gt;
== Manually build packages for an image running under QEMU GL ==&lt;br /&gt;
&lt;br /&gt;
You can manually build the software required to run an image (netbook or handset) under QEMU with GL acceleration. But this is only recommended if a pre-built package for the software you want doesn't already exist (up-to-date packages should be available for both handset and netbook).&lt;br /&gt;
&lt;br /&gt;
The steps below should be followed from ''inside'' a MeeGo image intended to run under QEMU. You could try this inside an emulated image, or by [[SDK/Docs/1.0/Building a MeeGo chroot on Linux|building a chroot]] from the raw disk image and working inside that (the latter is the only reasonable approach for building the kernel).&lt;br /&gt;
&lt;br /&gt;
For building both the qemugl addon and the kernel+modules, you will need to install a toolchain first (either into the QEMU image or the chroot; or into both, if you are building some software directly in the image and some in the chroot):&lt;br /&gt;
 zypper install make gcc git patch diffutils&lt;br /&gt;
&lt;br /&gt;
Alternatively, this command will get you ''all'' the MeeGo developer tools:&lt;br /&gt;
 zypper install -t pattern development-tools&lt;br /&gt;
&lt;br /&gt;
=== Build qemugl addon ===&lt;br /&gt;
&lt;br /&gt;
The addon package installed in above section can also be built from source. These steps are fairly easy to do inside the QEMU image itself.&lt;br /&gt;
&lt;br /&gt;
You don't need to do this if you already installed a &amp;lt;code&amp;gt;meego-sdk-qemugl-addon-*&amp;lt;/code&amp;gt; package (see [[#Install QEMU addons, kernel and virtiogl module|above]]). &lt;br /&gt;
&lt;br /&gt;
Install required packaged first:&lt;br /&gt;
 zypper install libXfixes-devel libX11-devel&lt;br /&gt;
&lt;br /&gt;
Checkout stub libGL source code:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-libgl-x86.git&lt;br /&gt;
&lt;br /&gt;
Build:&lt;br /&gt;
 cd meego-emulator-libgl-x86&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Build and install kernel and modules ===&lt;br /&gt;
&lt;br /&gt;
The approach we take for this is to use a chroot to build an RPM package for the new kernel and modules. This can then be easily transferred to the QEMU image and installed. Building the new kernel directly inside the QEMU image is too slow to be practical.&lt;br /&gt;
&lt;br /&gt;
The first thing you'll need is a MeeGo chroot, built from the same image you're using under QEMU. See [[SDK/Docs/1.0/Building a MeeGo chroot on Linux|this page]] for instructions.&lt;br /&gt;
&lt;br /&gt;
Enter the chroot:&lt;br /&gt;
 sudo mic-chroot &amp;lt;path to chroot&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install &amp;lt;code&amp;gt;rpmbuild&amp;lt;/code&amp;gt; (used to build the RPM from the kernel source):&lt;br /&gt;
 zypper install rpm-build&lt;br /&gt;
&lt;br /&gt;
Get the MeeGo kernel-source (this contains configuration files for building MeeGo kernels):&lt;br /&gt;
 git clone git://gitorious.org/meego-os-base/kernel-source.git&lt;br /&gt;
&lt;br /&gt;
Get the virtio patches for the kernel:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-virtiogl-x86.git&lt;br /&gt;
&lt;br /&gt;
Copy the virtio patch into the patches dir of kernel-source:&lt;br /&gt;
 cp meego-emulator-virtiogl-x86/linux-2.6.35-virtio-for-qemu-gl-acceleration.patch kernel-source/patches&lt;br /&gt;
&lt;br /&gt;
Download the kernel source tarball (NB you want the plain series version, not one with a patch number); in this case, I used a 2.6.35 kernel:&lt;br /&gt;
 cd kernel-source&lt;br /&gt;
 curl -o linux-2.6.35.tar.bz2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remain in the &amp;lt;code&amp;gt;kernel-source&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;series&amp;lt;/code&amp;gt; file to add the virtiogl patch to the list of patches to apply:&lt;br /&gt;
 # Add Virtio-mem module for QEMU GL acceleration&lt;br /&gt;
 linux-2.6.35-virtio-for-qemu-gl-acceleration.patch&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;config-netbook&amp;lt;/code&amp;gt; file (used for both handset and netbook) to enable VIRTIOGL as a module:&lt;br /&gt;
 CONFIG_VIRTIO_PCI=m&lt;br /&gt;
 CONFIG_VIRTIOGL=m&lt;br /&gt;
 # CONFIG_VIRTIO_BLK is not set&lt;br /&gt;
 # CONFIG_VIRTIO_NET is not set&lt;br /&gt;
 # CONFIG_VIRTIO_CONSOLE is not set&lt;br /&gt;
 # CONFIG_HW_RANDOM_VIRTIO is not set&lt;br /&gt;
&lt;br /&gt;
Delete this line from the same file (we want to set a value and it could be confusing otherwise):&lt;br /&gt;
&lt;br /&gt;
 # CONFIG_VIRTIO_PCI is not set&lt;br /&gt;
&lt;br /&gt;
Generate spec files and config files:&lt;br /&gt;
 make&lt;br /&gt;
 make -f Makefile.config&lt;br /&gt;
&lt;br /&gt;
This generates config files with names in the format &amp;lt;code&amp;gt;kernel-xxx.config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Patch the kernel:&lt;br /&gt;
 ./scripts/install-git-hooks&lt;br /&gt;
 ./scripts/sequence-patch.sh --quilt&lt;br /&gt;
&lt;br /&gt;
Copy kernel config file into the source tree:&lt;br /&gt;
 cp kernel-netbook.config tmp/linux-2.6.35-master/.config&lt;br /&gt;
&lt;br /&gt;
Build a kernel RPM package (takes a long time):&lt;br /&gt;
 cd tmp/linux-2.6.35-master&lt;br /&gt;
 make oldconfig (at each prompt, accept the default)&lt;br /&gt;
 make rpm-pkg&lt;br /&gt;
&lt;br /&gt;
The resulting package is in &amp;lt;code&amp;gt;/root/rpmbuild/RPMS/i386/kernel-&amp;lt;kernel version and architecture&amp;gt;.rpm&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Copy this to the QEMU image over ssh or equivalent, for example:&lt;br /&gt;
 scp -P 6666 /root/rpmbuild/RPMS/i386/kernel-2.6.35.3+-1.i386.rpm root@127.0.0.1:/root/&lt;br /&gt;
&lt;br /&gt;
Get a root prompt in the QEMU image (either by booting into single user mode or logging in via ssh) and install the RPM:&lt;br /&gt;
 rpm -ivh /root/kernel-2.6.35.3+-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
Build and install the new initrd (a RAM disk image) for the kernel and modify the boot loader:&lt;br /&gt;
 new-kernel-pkg --mkinitrd --install --make-default --depmod 2.6.35.3+&lt;br /&gt;
(replace 2.6.35.3+ with the version for your new kernel)&lt;br /&gt;
&lt;br /&gt;
Next time you [[#Run the image under QEMU with GL acceleration|boot the image]], it should default to using the new kernel with the virtiogl module.&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools</id>
		<title>SDK/Docs/1.1/Building QEMU Tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools"/>
				<updated>2011-01-25T08:54:59Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Build QEMUGL from source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Meego-1.1]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build the MeeGo SDK QEMU tools from source, including QEMU binary, patched kernel module, and stub libGL.&lt;br /&gt;
&lt;br /&gt;
It also covers how to convert stock MeeGo images for use with QEMU.&lt;br /&gt;
&lt;br /&gt;
Together, the QEMU tools and a modified image can be used as a [[SDK/Docs/1.1/Creating_Hello_World#Configuring_device_access_in_Qt_Creator|deployment target]] for Qt Creator.&lt;br /&gt;
&lt;br /&gt;
== Build QEMUGL from source ==&lt;br /&gt;
&lt;br /&gt;
'''An alternative to building from source is to install the qemu-gl and/or qemu-arm packages from one of the repositories at http://repo.meego.com/MeeGo/sdk/host/repos/'''&lt;br /&gt;
&lt;br /&gt;
To install on a 64bit system, see [http://wiki.meego.com/MeeGo_SDK_with_QEMU#Installing_qemugl_on_64-bit_ubuntu_10.04 these instructions] (community-maintained).&lt;br /&gt;
&lt;br /&gt;
'''If you still prefer to build QEMUGL from sources, proceed with these steps:'''&lt;br /&gt;
&lt;br /&gt;
Checkout the QEMU GL source code (this is basically QEMU with some patches to enable GL acceleration):&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-qemugl-x86.git&lt;br /&gt;
&lt;br /&gt;
Checkout the qemu-gl branch:&lt;br /&gt;
&lt;br /&gt;
 cd meego-emulator-qemugl-x86&lt;br /&gt;
 git checkout -b qemu-gl-1.1 --track origin/qemu-gl-1.1&lt;br /&gt;
&lt;br /&gt;
Make sure that there is KVM enabled and that the following libraries (development package) are installed on the host machine:&lt;br /&gt;
&lt;br /&gt;
* zlib&lt;br /&gt;
* libSDL&lt;br /&gt;
* Xcomposite&lt;br /&gt;
* libexpat&lt;br /&gt;
&lt;br /&gt;
Configure qemugl:&lt;br /&gt;
&lt;br /&gt;
 ./configure --target-list=i386-softmmu --enable-gl --enable-skinning&lt;br /&gt;
&lt;br /&gt;
Check the output from &amp;lt;code&amp;gt;configure&amp;lt;/code&amp;gt; contains the strings below:&lt;br /&gt;
&lt;br /&gt;
 SDL support   yes&lt;br /&gt;
 ......&lt;br /&gt;
 KVM support   yes&lt;br /&gt;
&lt;br /&gt;
Build qemugl:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
This installs various QEMU binaries (default prefix is &amp;lt;code&amp;gt;/usr/local&amp;lt;/code&amp;gt;), including &amp;lt;code&amp;gt;qemugl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; used in this tutorial.&lt;br /&gt;
&lt;br /&gt;
== Create netbook image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
This section explains how to make a standard MeeGo netbook image run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
=== Install MeeGo netbook to QEMU raw disk image ===&lt;br /&gt;
&lt;br /&gt;
Create raw image file for MeeGo to install on. The &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; command is part of the [[#Build_QEMUGL_from_source|QEMU build]]:&lt;br /&gt;
 qemu-img create -f raw meego-netbook.raw 3.5G&lt;br /&gt;
&lt;br /&gt;
Install MeeGo to the raw hard disk, using the downloaded .img file as the installation CDROM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -boot d -hda meego-netbook.raw \&lt;br /&gt;
-cdrom meego-netbook-ia32-1.1.80.1.20101012.1.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boot into the image:&lt;br /&gt;
 qemugl -m 1024 -vga std -boot c -hda meego-netbook.raw&lt;br /&gt;
&lt;br /&gt;
Go through the installation steps to set up a meego user. The password you set here is also used as the root password, which we'll use below.&lt;br /&gt;
&lt;br /&gt;
Note: occasionally I've halted the system before the meego user is setup. When I then try to boot into the UX, it fails because the user is missing. In this case, you can manually create the user from a root prompt (inside the QEMU image) with:&lt;br /&gt;
 useradd -d /home/meego -M -s /bin/bash meego&lt;br /&gt;
&lt;br /&gt;
Halt the system.&lt;br /&gt;
&lt;br /&gt;
Now boot it again (this time with networking enabled; type the command below, press return, then press tab like crazy so you can get to the boot menu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 \&lt;br /&gt;
-boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, edit the kernel command line on the boot menu screen so it looks like this:&lt;br /&gt;
 vmlinuz-2.6.35.3-8.5-netbook ro root=/dev/sda2 vga=current s&lt;br /&gt;
&lt;br /&gt;
This will get you a root prompt.&lt;br /&gt;
&lt;br /&gt;
=== Install and start openssh server ===&lt;br /&gt;
&lt;br /&gt;
Then install ssh server (this makes the following steps easier, as you can cut and paste into the ssh prompt):&lt;br /&gt;
 zypper install openssh-server&lt;br /&gt;
 chkconfig --add sshd&lt;br /&gt;
 /etc/init.d/sshd start&lt;br /&gt;
&lt;br /&gt;
Use can now use ssh to login to the image with:&lt;br /&gt;
&lt;br /&gt;
 ssh -p 6666 root@127.0.0.1&lt;br /&gt;
&lt;br /&gt;
(password is the same as you entered for your normal user when configuring the system)&lt;br /&gt;
&lt;br /&gt;
=== Set suid bit on Xorg binary ===&lt;br /&gt;
&lt;br /&gt;
Once logged in over ssh, set suid on the Xorg binary (so a normal user can start X):&lt;br /&gt;
&lt;br /&gt;
 chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
=== Install packages from the SDK repo ===&lt;br /&gt;
&lt;br /&gt;
Then install the SDK addons. First, add the MeeGo SDK repo:&lt;br /&gt;
&lt;br /&gt;
 zypper addrepo http://repo.meego.com/MeeGo/sdk/target/repos/meego/1.1/ meego-sdk&lt;br /&gt;
&lt;br /&gt;
(you will need to use the '''trunk''' repo if you are using a trunk netbook image)&lt;br /&gt;
&lt;br /&gt;
'''Another alternative is to [[#Manually build packages for an image running under QEMU GL|manually build the addons, kernel and virtiogl module in a chroot]], then install them into the image.'''&lt;br /&gt;
&lt;br /&gt;
==== Install QEMU addons ====&lt;br /&gt;
&lt;br /&gt;
Install the qemugl addon package into the image:&lt;br /&gt;
&lt;br /&gt;
 zypper install meego-sdk-qemugl-addon-netbook&lt;br /&gt;
&lt;br /&gt;
==== Install kernel and virtiogl module ====&lt;br /&gt;
&lt;br /&gt;
Install virtiogl module for kernel:&lt;br /&gt;
&lt;br /&gt;
 zypper install kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Right now above package only supports kernel version of 2.6.35. If you need to build the SDK addons or a kernel and its modules, [[#Manually build packages for an image running under QEMU GL|instructions are given below]].&lt;br /&gt;
&lt;br /&gt;
=== Run the image under QEMU with GL acceleration ===&lt;br /&gt;
&lt;br /&gt;
The image should now be ready. It can be started in QEMU with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -enable-kvm \&lt;br /&gt;
-vga std -enable-gl -device virtio-gl-pci -boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you should still be able to ssh to this image as above.&lt;br /&gt;
&lt;br /&gt;
== Create handset image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
If you have a handset image downloaded, follow these instructions to enable it to run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
You will need to install '''kpartx''' if you don't have it already:&lt;br /&gt;
 $ sudo yum install kpartx&lt;br /&gt;
(or whatever the equivalent is for your distro).&lt;br /&gt;
&lt;br /&gt;
Download a handset IA32 image (e.g. http://repo.meego.com/MeeGo/builds/trunk/1.1.80.4.20101029.1/handset/images/meego-handset-ia32-mtf/meego-handset-ia32-mtf-1.1.80.4.20101029.1-sda.bin.bz2), and unpack the file:&lt;br /&gt;
 $ bunzip2 meego-handset-ia32-mtf-1.1-sda.bin.bz2&lt;br /&gt;
(Note that this procedure should work for other sda-bin images from http://repo.meego.com/MeeGo/builds/ too.)&lt;br /&gt;
&lt;br /&gt;
A useful shortcut is to define a variable for the path to the image first; this can then be used to make later commands simpler:&lt;br /&gt;
 $ IMAGE=~/images/meego-handset-ia32-mtf-1.1-sda.bin&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt; to map the partitions in the disk image onto devices, which can then be mounted onto directories:&lt;br /&gt;
 $ sudo kpartx -a -v $IMAGE&lt;br /&gt;
 add map loop0p1 (253:4): 0 3320312 linear /dev/loop0 1&lt;br /&gt;
&lt;br /&gt;
The output of &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt; indicates the loop device mapped to the partition; in this case, &amp;lt;code&amp;gt;loop0p1&amp;lt;/code&amp;gt;. The device we want to mount is determined by prefixing this map with &amp;lt;code&amp;gt;/dev/mapper&amp;lt;/code&amp;gt;, i.e.:&lt;br /&gt;
 /dev/mapper/loop0p1&lt;br /&gt;
&lt;br /&gt;
We also need to note the device which this image has been mapped across; in this case, &amp;lt;code&amp;gt;/dev/loop0&amp;lt;/code&amp;gt;. This will be used later to make the image bootable.&lt;br /&gt;
&lt;br /&gt;
You can then mount this on a directory:&lt;br /&gt;
 $ mkdir /tmp/handset&lt;br /&gt;
 $ sudo mount -t ext3 /dev/mapper/loop0p1 /tmp/handset&lt;br /&gt;
'''Attention''': on Ubuntu10.04 should be &lt;br /&gt;
 $ sudo mount /dev/mapper/loop0p1 /tmp/handset&lt;br /&gt;
or we'll get message&lt;br /&gt;
&amp;quot;mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop0p1,missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail  or so&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
And chroot into it:&lt;br /&gt;
 $ sudo mic-chroot /tmp/handset&lt;br /&gt;
&lt;br /&gt;
Next, modify the packages in the image:&lt;br /&gt;
 $ zypper remove kernel-mrst  # if present&lt;br /&gt;
 $ zypper install kernel-netbook mesa-dri-* xorg-x11-drv-vesa syslinux-extlinux&lt;br /&gt;
&lt;br /&gt;
Create symlinks to the Linux kernel for extlinux:&lt;br /&gt;
 $ cd /boot/extlinux&lt;br /&gt;
 $ ln -sf ../vmlinuz-*netbook .&lt;br /&gt;
&lt;br /&gt;
Modify the extlinux configuration:&lt;br /&gt;
 $ MEEGO_KERNEL=`ls /boot/vmlinuz-*netbook | sed -e 's%/boot/%%'` &amp;amp;&amp;amp; echo \&lt;br /&gt;
 &amp;quot;PROMPT 0&lt;br /&gt;
 TIMEOUT 1&lt;br /&gt;
 DEFAULT meego&lt;br /&gt;
 LABEL meego&lt;br /&gt;
   KERNEL $MEEGO_KERNEL&lt;br /&gt;
   APPEND ro root=/dev/sda1 3&amp;quot; \&lt;br /&gt;
 &amp;gt; /boot/extlinux/extlinux.conf&lt;br /&gt;
&lt;br /&gt;
Note that the above command won't work if you have multiple netbook kernels installed: in that case, manually set &amp;lt;code&amp;gt;MEEGO_KERNEL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Also note that the &amp;lt;code&amp;gt;APPEND&amp;lt;/code&amp;gt; configuration line tells the kernel to boot to runlevel 3, which is useful for debugging.&lt;br /&gt;
&lt;br /&gt;
Add SDK repository:&lt;br /&gt;
 $ zypper addrepo http://repo.meego.com/MeeGo/sdk/target/repos/meego/trunk meego-sdk&lt;br /&gt;
You might need to change '''trunk''' to something else, depending on your image (for example, '''1.1''' if using a MeeGo 1.1 image).&lt;br /&gt;
&lt;br /&gt;
Install SDK packages:&lt;br /&gt;
 $ zypper install meego-sdk-qemugl-addon-handset kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Install SSH server and enable it to start on boot:&lt;br /&gt;
 $ zypper install openssh-server&lt;br /&gt;
 $ chkconfig --add sshd&lt;br /&gt;
&lt;br /&gt;
Fix permissions on the Xorg binary:&lt;br /&gt;
 $ chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
Exit the chroot:&lt;br /&gt;
 $ exit&lt;br /&gt;
&lt;br /&gt;
Now, outside the chroot, install the SYSLINUX bootloader on the filesystem:&lt;br /&gt;
 $ sudo extlinux --install /tmp/handset/boot/extlinux&lt;br /&gt;
&lt;br /&gt;
Unmount the device:&lt;br /&gt;
 $ sudo umount /tmp/handset&lt;br /&gt;
&lt;br /&gt;
Make the modified image (still mapped to a device) bootable; NB the device you use with &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt; is the one we made a note of earlier when we ran &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt;:&lt;br /&gt;
 $ sudo fdisk /dev/loop0&lt;br /&gt;
&lt;br /&gt;
At the fdisk command prompt:&lt;br /&gt;
* Enter ''a'' to toggle the &amp;quot;bootable&amp;quot; flag on a partition.&lt;br /&gt;
* Enter ''1'' to select the first partition as the bootable one.&lt;br /&gt;
* Enter ''w'' to write your changes to the partition table in the image.&lt;br /&gt;
&lt;br /&gt;
Remove the device map:&lt;br /&gt;
 $ sudo kpartx -d -v $IMAGE&lt;br /&gt;
&lt;br /&gt;
This image can now be booted under QEMU with:&lt;br /&gt;
 $ sudo qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -vga std \&lt;br /&gt;
 -boot c -enable-kvm -enable-gl -device virtio-gl-pci -hda $IMAGE&lt;br /&gt;
&lt;br /&gt;
This will boot to runlevel 3 when you run the image under QEMU. When you get a login prompt after booting under QEMU, login with username '''meego''' and password '''meego'''.&lt;br /&gt;
&lt;br /&gt;
To start the UX once logged it:&lt;br /&gt;
 $ uxlaunch&lt;br /&gt;
&lt;br /&gt;
== Manually build packages for an image running under QEMU GL ==&lt;br /&gt;
&lt;br /&gt;
You can manually build the software required to run an image (netbook or handset) under QEMU with GL acceleration. But this is only recommended if a pre-built package for the software you want doesn't already exist (up-to-date packages should be available for both handset and netbook).&lt;br /&gt;
&lt;br /&gt;
The steps below should be followed from ''inside'' a MeeGo image intended to run under QEMU. You could try this inside an emulated image, or by [[SDK/Docs/1.0/Building a MeeGo chroot on Linux|building a chroot]] from the raw disk image and working inside that (the latter is the only reasonable approach for building the kernel).&lt;br /&gt;
&lt;br /&gt;
For building both the qemugl addon and the kernel+modules, you will need to install a toolchain first (either into the QEMU image or the chroot; or into both, if you are building some software directly in the image and some in the chroot):&lt;br /&gt;
 zypper install make gcc git patch diffutils&lt;br /&gt;
&lt;br /&gt;
Alternatively, this command will get you ''all'' the MeeGo developer tools:&lt;br /&gt;
 zypper install -t pattern development-tools&lt;br /&gt;
&lt;br /&gt;
=== Build qemugl addon ===&lt;br /&gt;
&lt;br /&gt;
The addon package installed in above section can also be built from source. These steps are fairly easy to do inside the QEMU image itself.&lt;br /&gt;
&lt;br /&gt;
You don't need to do this if you already installed a &amp;lt;code&amp;gt;meego-sdk-qemugl-addon-*&amp;lt;/code&amp;gt; package (see [[#Install QEMU addons, kernel and virtiogl module|above]]). &lt;br /&gt;
&lt;br /&gt;
Install required packaged first:&lt;br /&gt;
 zypper install libXfixes-devel libX11-devel&lt;br /&gt;
&lt;br /&gt;
Checkout stub libGL source code:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-libgl-x86.git&lt;br /&gt;
&lt;br /&gt;
Build:&lt;br /&gt;
 cd meego-emulator-libgl-x86&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Build and install kernel and modules ===&lt;br /&gt;
&lt;br /&gt;
The approach we take for this is to use a chroot to build an RPM package for the new kernel and modules. This can then be easily transferred to the QEMU image and installed. Building the new kernel directly inside the QEMU image is too slow to be practical.&lt;br /&gt;
&lt;br /&gt;
The first thing you'll need is a MeeGo chroot, built from the same image you're using under QEMU. See [[SDK/Docs/1.0/Building a MeeGo chroot on Linux|this page]] for instructions.&lt;br /&gt;
&lt;br /&gt;
Enter the chroot:&lt;br /&gt;
 sudo mic-chroot &amp;lt;path to chroot&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install &amp;lt;code&amp;gt;rpmbuild&amp;lt;/code&amp;gt; (used to build the RPM from the kernel source):&lt;br /&gt;
 zypper install rpm-build&lt;br /&gt;
&lt;br /&gt;
Get the MeeGo kernel-source (this contains configuration files for building MeeGo kernels):&lt;br /&gt;
 git clone git://gitorious.org/meego-os-base/kernel-source.git&lt;br /&gt;
&lt;br /&gt;
Get the virtio patches for the kernel:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-virtiogl-x86.git&lt;br /&gt;
&lt;br /&gt;
Copy the virtio patch into the patches dir of kernel-source:&lt;br /&gt;
 cp meego-emulator-virtiogl-x86/linux-2.6.35-virtio-for-qemu-gl-acceleration.patch kernel-source/patches&lt;br /&gt;
&lt;br /&gt;
Download the kernel source tarball (NB you want the plain series version, not one with a patch number); in this case, I used a 2.6.35 kernel:&lt;br /&gt;
 cd kernel-source&lt;br /&gt;
 curl -o linux-2.6.35.tar.bz2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remain in the &amp;lt;code&amp;gt;kernel-source&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;series&amp;lt;/code&amp;gt; file to add the virtiogl patch to the list of patches to apply:&lt;br /&gt;
 # Add Virtio-mem module for QEMU GL acceleration&lt;br /&gt;
 linux-2.6.35-virtio-for-qemu-gl-acceleration.patch&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;config-netbook&amp;lt;/code&amp;gt; file (used for both handset and netbook) to enable VIRTIOGL as a module:&lt;br /&gt;
 CONFIG_VIRTIO_PCI=m&lt;br /&gt;
 CONFIG_VIRTIOGL=m&lt;br /&gt;
 # CONFIG_VIRTIO_BLK is not set&lt;br /&gt;
 # CONFIG_VIRTIO_NET is not set&lt;br /&gt;
 # CONFIG_VIRTIO_CONSOLE is not set&lt;br /&gt;
 # CONFIG_HW_RANDOM_VIRTIO is not set&lt;br /&gt;
&lt;br /&gt;
Delete this line from the same file (we want to set a value and it could be confusing otherwise):&lt;br /&gt;
&lt;br /&gt;
 # CONFIG_VIRTIO_PCI is not set&lt;br /&gt;
&lt;br /&gt;
Generate spec files and config files:&lt;br /&gt;
 make&lt;br /&gt;
 make -f Makefile.config&lt;br /&gt;
&lt;br /&gt;
This generates config files with names in the format &amp;lt;code&amp;gt;kernel-xxx.config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Patch the kernel:&lt;br /&gt;
 ./scripts/install-git-hooks&lt;br /&gt;
 ./scripts/sequence-patch.sh --quilt&lt;br /&gt;
&lt;br /&gt;
Copy kernel config file into the source tree:&lt;br /&gt;
 cp kernel-netbook.config tmp/linux-2.6.35-master/.config&lt;br /&gt;
&lt;br /&gt;
Build a kernel RPM package (takes a long time):&lt;br /&gt;
 cd tmp/linux-2.6.35-master&lt;br /&gt;
 make oldconfig (at each prompt, accept the default)&lt;br /&gt;
 make rpm-pkg&lt;br /&gt;
&lt;br /&gt;
The resulting package is in &amp;lt;code&amp;gt;/root/rpmbuild/RPMS/i386/kernel-&amp;lt;kernel version and architecture&amp;gt;.rpm&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Copy this to the QEMU image over ssh or equivalent, for example:&lt;br /&gt;
 scp -P 6666 /root/rpmbuild/RPMS/i386/kernel-2.6.35.3+-1.i386.rpm root@127.0.0.1:/root/&lt;br /&gt;
&lt;br /&gt;
Get a root prompt in the QEMU image (either by booting into single user mode or logging in via ssh) and install the RPM:&lt;br /&gt;
 rpm -ivh /root/kernel-2.6.35.3+-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
Build and install the new initrd (a RAM disk image) for the kernel and modify the boot loader:&lt;br /&gt;
 new-kernel-pkg --mkinitrd --install --make-default --depmod 2.6.35.3+&lt;br /&gt;
(replace 2.6.35.3+ with the version for your new kernel)&lt;br /&gt;
&lt;br /&gt;
Next time you [[#Run the image under QEMU with GL acceleration|boot the image]], it should default to using the new kernel with the virtiogl module.&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Qemu</id>
		<title>SDK/Qemu</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Qemu"/>
				<updated>2011-01-19T08:43:52Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* The team and the work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= MeeGo QEMU Team =&lt;br /&gt;
&lt;br /&gt;
MeeGo Qemu team maintains QEMU system emulator for MeeGo SDK and QEMU linux-user emulator for OBS builders. Legacy support for scratchbox and Nokia N900 Running Maemo5 is provided as well.&lt;br /&gt;
&lt;br /&gt;
== Consumers of QEMU ==&lt;br /&gt;
&lt;br /&gt;
Currently each and every consumer of QEMU under the MeeGo umbrella has their own version of Qemu. The plan is to migrate all this versions to a single repository, merge all code together, and then start tagging releases which will be same for all.&lt;br /&gt;
&lt;br /&gt;
* MeeGo Qemu&lt;br /&gt;
** OpenGL ES 2.0 accelerated QEMU&lt;br /&gt;
** http://wiki.meego.com/ARM/Meego_on_Qemu&lt;br /&gt;
** Smoke test: Maemo5 and latest Meego N900 images boot and display UI&lt;br /&gt;
* Qemugl&lt;br /&gt;
** OpenGL accelerated Qemu for intel images&lt;br /&gt;
** http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools&lt;br /&gt;
** Smoke test: That x86 handset and netbook images boot and display UI&lt;br /&gt;
* OBS Qemu&lt;br /&gt;
** Used internaly by OBS to build ARM packages&lt;br /&gt;
** url?&lt;br /&gt;
** Smoke test: arm build round without regressions&lt;br /&gt;
* Scratchbox Qemu&lt;br /&gt;
** Used by scratchbox to allow building ARM packages&lt;br /&gt;
** url: merged with MeeGo Qemu.&lt;br /&gt;
** Smoke test: arm build round without regressions&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
The main repository For MeeGo Qemu is [http://meego.gitorious.org/qemu-maemo MeeGo Qemu on gitorious]. Upstream is at [http://www.qemu.org qemu.org].&lt;br /&gt;
&lt;br /&gt;
=== Version control strategy ===&lt;br /&gt;
&lt;br /&gt;
In this documentation we shall refer to upstream git as &amp;quot;origin&amp;quot; and the the MeeGo QEMU gitorious repository as &amp;quot;meego&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
 $ git clone git://git.qemu.org/qemu.git&lt;br /&gt;
 $ cd qemu&lt;br /&gt;
 $ git remote add meego git://gitorious.org/qemu-maemo/qemu.git&lt;br /&gt;
 $ git fetch meego&lt;br /&gt;
&lt;br /&gt;
The rule of thumb in development is &amp;quot;keep up to date with upstream&amp;quot;. To achieve this, we rebase with upstream often.  rebasing&lt;br /&gt;
causes some pain, but that should be seen as an incentive to push the patches upstream.&lt;br /&gt;
&lt;br /&gt;
 Qemu head (origin/master)&lt;br /&gt;
 |&lt;br /&gt;
 (periodic rebase)&lt;br /&gt;
 |&lt;br /&gt;
 MeeGo Qemu master (meego/master)&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 Everyones working branches ^&lt;br /&gt;
&lt;br /&gt;
Where the working branches are &amp;quot;temporary&amp;quot; in nature. Eg once the code in the working branches have been applied (via git merge/cherry-pick/rebase or by hand), that working branch is thrown away and a new branch is created.&lt;br /&gt;
&lt;br /&gt;
Being branches on top of rebased branches means one cant just &amp;quot;merge&amp;quot; changes from upstream branches - one either must rebase their own branch, or cherrypick selected changes in.&lt;br /&gt;
&lt;br /&gt;
=== Submitting merge requests to MeeGo QEMU ===&lt;br /&gt;
&lt;br /&gt;
Gitorious provides &amp;quot;request merge&amp;quot; functionality, which can be used to propose changes to MeeGo Qemu.&lt;br /&gt;
&lt;br /&gt;
Alternatively, people with commit access to MeeGo gitorious can push their branches for merging to MeeGo gitorious directly.git offers infinite amount of was to do that, but there is two that are probably most practical&lt;br /&gt;
&lt;br /&gt;
* Cherry-pick commits from your working branch&lt;br /&gt;
&lt;br /&gt;
 $ git fetch meego # Make sure you are up to date&lt;br /&gt;
 $ git checkout -b temp-branch-name meego/master&lt;br /&gt;
 $ git log your-local-working-branch # pick the commit-id's of changes you want&lt;br /&gt;
 $ git cherry-pick commit-id&lt;br /&gt;
 $ vi foo.c # cleanup if necessary&lt;br /&gt;
 $ commit -a --amend # improve commit message if necessary&lt;br /&gt;
 $ git push meego temp-branch-name&lt;br /&gt;
&lt;br /&gt;
* rebase working branch on top of latest dvcs&lt;br /&gt;
&lt;br /&gt;
 $ git fetch meego&lt;br /&gt;
 $ git checkout -b temp-branch-name your-local-working-branch&lt;br /&gt;
 $ git rebase -i meego/master&lt;br /&gt;
 $ # follow instructions on editor&lt;br /&gt;
 $ git push master temp-branch-name&lt;br /&gt;
&lt;br /&gt;
Where the working branches are &amp;quot;temporary&amp;quot; in nature. Eg once the code in the working branches have been applied (via git&lt;br /&gt;
merge/cherry-pick/rebase or by hand), that working branch is thrown away and a new branch is created.&lt;br /&gt;
&lt;br /&gt;
Being branches on top of rebased branches means one cant just &amp;quot;merge&amp;quot;changes from upstream branches - one either must rebase their own branch, or cherrypick selected changes in.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
=== Building Qemu ===&lt;br /&gt;
&lt;br /&gt;
For ARM&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/qemu-maemo/gles-libs.git&lt;br /&gt;
 cd gles-libs/dgles2&lt;br /&gt;
 ./configure --enable-glx --enable-x11 --enable-osmesa --prefix=/opt/dgles2&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/qemu-maemo/qemu.git &lt;br /&gt;
 cd qemu&lt;br /&gt;
 ./configure --target-list=&amp;quot;arm-softmmu arm-linux-user&amp;quot; --enable-gles2 --gles2dir=/opt/dgles2&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
=== Creating MeeGo Qemu images for N900 ===&lt;br /&gt;
&lt;br /&gt;
=== Creating MeeGo Qemu images for Intel ===&lt;br /&gt;
&lt;br /&gt;
Meego [http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools Qemu Image instructions] for 1.1.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
== The team and the work ==&lt;br /&gt;
&lt;br /&gt;
This QEMU adaptation team maintains and develops Qemu for MeeGo.&lt;br /&gt;
&lt;br /&gt;
The current team members are (in no particular order):&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! Name&lt;br /&gt;
! Area&lt;br /&gt;
! Role&lt;br /&gt;
! Affiliation&lt;br /&gt;
! IRC nickname&lt;br /&gt;
|- &lt;br /&gt;
| Riku Voipio || Linux-user and Arm system || Maintainer || Nokia || suihkulokki&lt;br /&gt;
|- &lt;br /&gt;
| Juha Riihimäki || Arm system || Team member || Nokia || &lt;br /&gt;
|- &lt;br /&gt;
| [http://meego.com/users/fabo Fathi Boudra] ||  || Package maintainer || Nokia || fabo&lt;br /&gt;
|-&lt;br /&gt;
| Haitao Feng || OpenGL and OpenGL ES enabling and acceleration || Team member || Intel || haitao&lt;br /&gt;
|-&lt;br /&gt;
| Zhiyuan Lv || OpenGL and OpenGL ES acceleration || Team member || Intel || zhiyuan&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Our collaboration spaces are:&lt;br /&gt;
&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-dev meego-dev@meego.com mailing list], please prefix with 'QEMU' for team related topics.&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-sdk #meego-sdk IRC channel on irc.freenode.net]([http://trac.tspre.org/merbot/freenode/%23meego-sdk/ IRC channel logs])&lt;br /&gt;
* #qemu IRC channel on irc.oftc.net&lt;br /&gt;
* Gitorious team, http://gitorious.org/+meego-qemu-developers and all repositories on http://meego.gitorious.org/qemu-maemo&lt;br /&gt;
* [https://build.meego.com/project/monitor?project=Tools:SDK:Host Tools:SDK:Host project] on MeeGo OBS&lt;br /&gt;
* xxx project on MeeGo OBS&lt;br /&gt;
* This wiki area&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK]]&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Qemu</id>
		<title>SDK/Qemu</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Qemu"/>
				<updated>2011-01-19T08:43:27Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* The team and the work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= MeeGo QEMU Team =&lt;br /&gt;
&lt;br /&gt;
MeeGo Qemu team maintains QEMU system emulator for MeeGo SDK and QEMU linux-user emulator for OBS builders. Legacy support for scratchbox and Nokia N900 Running Maemo5 is provided as well.&lt;br /&gt;
&lt;br /&gt;
== Consumers of QEMU ==&lt;br /&gt;
&lt;br /&gt;
Currently each and every consumer of QEMU under the MeeGo umbrella has their own version of Qemu. The plan is to migrate all this versions to a single repository, merge all code together, and then start tagging releases which will be same for all.&lt;br /&gt;
&lt;br /&gt;
* MeeGo Qemu&lt;br /&gt;
** OpenGL ES 2.0 accelerated QEMU&lt;br /&gt;
** http://wiki.meego.com/ARM/Meego_on_Qemu&lt;br /&gt;
** Smoke test: Maemo5 and latest Meego N900 images boot and display UI&lt;br /&gt;
* Qemugl&lt;br /&gt;
** OpenGL accelerated Qemu for intel images&lt;br /&gt;
** http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools&lt;br /&gt;
** Smoke test: That x86 handset and netbook images boot and display UI&lt;br /&gt;
* OBS Qemu&lt;br /&gt;
** Used internaly by OBS to build ARM packages&lt;br /&gt;
** url?&lt;br /&gt;
** Smoke test: arm build round without regressions&lt;br /&gt;
* Scratchbox Qemu&lt;br /&gt;
** Used by scratchbox to allow building ARM packages&lt;br /&gt;
** url: merged with MeeGo Qemu.&lt;br /&gt;
** Smoke test: arm build round without regressions&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
The main repository For MeeGo Qemu is [http://meego.gitorious.org/qemu-maemo MeeGo Qemu on gitorious]. Upstream is at [http://www.qemu.org qemu.org].&lt;br /&gt;
&lt;br /&gt;
=== Version control strategy ===&lt;br /&gt;
&lt;br /&gt;
In this documentation we shall refer to upstream git as &amp;quot;origin&amp;quot; and the the MeeGo QEMU gitorious repository as &amp;quot;meego&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
 $ git clone git://git.qemu.org/qemu.git&lt;br /&gt;
 $ cd qemu&lt;br /&gt;
 $ git remote add meego git://gitorious.org/qemu-maemo/qemu.git&lt;br /&gt;
 $ git fetch meego&lt;br /&gt;
&lt;br /&gt;
The rule of thumb in development is &amp;quot;keep up to date with upstream&amp;quot;. To achieve this, we rebase with upstream often.  rebasing&lt;br /&gt;
causes some pain, but that should be seen as an incentive to push the patches upstream.&lt;br /&gt;
&lt;br /&gt;
 Qemu head (origin/master)&lt;br /&gt;
 |&lt;br /&gt;
 (periodic rebase)&lt;br /&gt;
 |&lt;br /&gt;
 MeeGo Qemu master (meego/master)&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 Everyones working branches ^&lt;br /&gt;
&lt;br /&gt;
Where the working branches are &amp;quot;temporary&amp;quot; in nature. Eg once the code in the working branches have been applied (via git merge/cherry-pick/rebase or by hand), that working branch is thrown away and a new branch is created.&lt;br /&gt;
&lt;br /&gt;
Being branches on top of rebased branches means one cant just &amp;quot;merge&amp;quot; changes from upstream branches - one either must rebase their own branch, or cherrypick selected changes in.&lt;br /&gt;
&lt;br /&gt;
=== Submitting merge requests to MeeGo QEMU ===&lt;br /&gt;
&lt;br /&gt;
Gitorious provides &amp;quot;request merge&amp;quot; functionality, which can be used to propose changes to MeeGo Qemu.&lt;br /&gt;
&lt;br /&gt;
Alternatively, people with commit access to MeeGo gitorious can push their branches for merging to MeeGo gitorious directly.git offers infinite amount of was to do that, but there is two that are probably most practical&lt;br /&gt;
&lt;br /&gt;
* Cherry-pick commits from your working branch&lt;br /&gt;
&lt;br /&gt;
 $ git fetch meego # Make sure you are up to date&lt;br /&gt;
 $ git checkout -b temp-branch-name meego/master&lt;br /&gt;
 $ git log your-local-working-branch # pick the commit-id's of changes you want&lt;br /&gt;
 $ git cherry-pick commit-id&lt;br /&gt;
 $ vi foo.c # cleanup if necessary&lt;br /&gt;
 $ commit -a --amend # improve commit message if necessary&lt;br /&gt;
 $ git push meego temp-branch-name&lt;br /&gt;
&lt;br /&gt;
* rebase working branch on top of latest dvcs&lt;br /&gt;
&lt;br /&gt;
 $ git fetch meego&lt;br /&gt;
 $ git checkout -b temp-branch-name your-local-working-branch&lt;br /&gt;
 $ git rebase -i meego/master&lt;br /&gt;
 $ # follow instructions on editor&lt;br /&gt;
 $ git push master temp-branch-name&lt;br /&gt;
&lt;br /&gt;
Where the working branches are &amp;quot;temporary&amp;quot; in nature. Eg once the code in the working branches have been applied (via git&lt;br /&gt;
merge/cherry-pick/rebase or by hand), that working branch is thrown away and a new branch is created.&lt;br /&gt;
&lt;br /&gt;
Being branches on top of rebased branches means one cant just &amp;quot;merge&amp;quot;changes from upstream branches - one either must rebase their own branch, or cherrypick selected changes in.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
=== Building Qemu ===&lt;br /&gt;
&lt;br /&gt;
For ARM&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/qemu-maemo/gles-libs.git&lt;br /&gt;
 cd gles-libs/dgles2&lt;br /&gt;
 ./configure --enable-glx --enable-x11 --enable-osmesa --prefix=/opt/dgles2&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/qemu-maemo/qemu.git &lt;br /&gt;
 cd qemu&lt;br /&gt;
 ./configure --target-list=&amp;quot;arm-softmmu arm-linux-user&amp;quot; --enable-gles2 --gles2dir=/opt/dgles2&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
=== Creating MeeGo Qemu images for N900 ===&lt;br /&gt;
&lt;br /&gt;
=== Creating MeeGo Qemu images for Intel ===&lt;br /&gt;
&lt;br /&gt;
Meego [http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools Qemu Image instructions] for 1.1.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
== The team and the work ==&lt;br /&gt;
&lt;br /&gt;
This QEMU adaptation team maintains and develops Qemu for MeeGo.&lt;br /&gt;
&lt;br /&gt;
The current team members are (in no particular order):&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! Name&lt;br /&gt;
! Area&lt;br /&gt;
! Role&lt;br /&gt;
! Affiliation&lt;br /&gt;
! IRC nickname&lt;br /&gt;
|- &lt;br /&gt;
| Riku Voipio || Linux-user and Arm system || Maintainer || Nokia || suihkulokki&lt;br /&gt;
|- &lt;br /&gt;
| Juha Riihimäki || Arm system || Team member || Nokia || &lt;br /&gt;
|- &lt;br /&gt;
| [http://meego.com/users/fabo Fathi Boudra] ||  || Package maintainer || Nokia || fabo&lt;br /&gt;
|-&lt;br /&gt;
| Haitao Feng || OpenGL and OpenGL ES enabling and acceleration || Team member || Intel || haitao&lt;br /&gt;
| Zhiyuan Lv || OpenGL and OpenGL ES acceleration || Team member || Intel || zhiyuan&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Our collaboration spaces are:&lt;br /&gt;
&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-dev meego-dev@meego.com mailing list], please prefix with 'QEMU' for team related topics.&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-sdk #meego-sdk IRC channel on irc.freenode.net]([http://trac.tspre.org/merbot/freenode/%23meego-sdk/ IRC channel logs])&lt;br /&gt;
* #qemu IRC channel on irc.oftc.net&lt;br /&gt;
* Gitorious team, http://gitorious.org/+meego-qemu-developers and all repositories on http://meego.gitorious.org/qemu-maemo&lt;br /&gt;
* [https://build.meego.com/project/monitor?project=Tools:SDK:Host Tools:SDK:Host project] on MeeGo OBS&lt;br /&gt;
* xxx project on MeeGo OBS&lt;br /&gt;
* This wiki area&lt;br /&gt;
&lt;br /&gt;
[[Category:SDK]]&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2011-01-17T07:11:23Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
QMAKESPEC has not been set, so configuration cannot be deduced.&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Set QMAKESPEC using a command such as the following (bash):&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export QMAKESPEC=linux-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Compilation fails for MTF application&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]&amp;lt;br/&amp;gt;&lt;br /&gt;
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:&lt;br /&gt;
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find ./ -perm 700 -exec chmod 755 {} \;&lt;br /&gt;
find ./ -perm 600 -exec chmod 644 {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays a KVM error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &amp;lt;br&amp;gt;&lt;br /&gt;
or running below command did not show up QEMU window.&lt;br /&gt;
 mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;In SDK 1.1 release, QEMU may exit silently if KVM kernel module is not loaded in advance. Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details. &amp;lt;br&amp;gt;&lt;br /&gt;
In SDK 1.1 update release, the launching scripts has been updated to check whether the KVM module is loaded. If not, QEMU will start without &amp;quot;-enable-kvm&amp;quot; option. So with 1.1 update release, user should be able to launch QEMU always, although slow if KVM is not enabled. We did not start KVM automatically because of the [http://bugs.meego.com/show_bug.cgi?id=10075 KVM] bug.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;Launching QEMU displays permissions error, e.g.&amp;lt;br/&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
error while loading shared libraries: /usr/lib/libGL.so.1:&lt;br /&gt;
cannot restore segment prot after reloc: Permission denied&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This error is due to SELinux security policy settings. There are two possible solutions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Temporary&amp;lt;/strong&amp;gt; (needs to be repeated on each reboot)&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Permanent&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;lt;code&amp;gt;/etc/selinux/config&amp;lt;/code&amp;gt; file, set the value of the &amp;lt;code&amp;gt;enforcing&amp;lt;/code&amp;gt; variable to &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
You will also need to do &amp;lt;code&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/code&amp;gt; to make this change immediately. SELinux should be disabled on the next boot.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] Investigation just started and the [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] will track the latest status of this bug&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; On windows, with kqemu enabled, handset image did not boot into UI. What was shown only was QEMU gray window. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; with KQEMU enabled, QEMU was not able to boot up MeeGo kernel on some host machines. Refer to the link http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Windows#Prerequisites and [http://bugs.meego.com/show_bug.cgi?id=11590 this] bug. If you are using the 1.1 updated SDK, you could just disable kqem by running &lt;br /&gt;
 net stop kqemu&lt;br /&gt;
and then restart QEMU. Without kqemu, QEMU would be slow, but should be able to boot up handset image. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2011-01-17T06:58:40Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
QMAKESPEC has not been set, so configuration cannot be deduced.&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Set QMAKESPEC using a command such as the following (bash):&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export QMAKESPEC=linux-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Compilation fails for MTF application&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]&amp;lt;br/&amp;gt;&lt;br /&gt;
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:&lt;br /&gt;
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find ./ -perm 700 -exec chmod 755 {} \;&lt;br /&gt;
find ./ -perm 600 -exec chmod 644 {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays a KVM error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &amp;lt;br&amp;gt;&lt;br /&gt;
or running below command did not show up QEMU window.&lt;br /&gt;
 mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;In SDK 1.1 release, QEMU may exit silently if KVM kernel module is not loaded in advance. Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details. &amp;lt;br&amp;gt;&lt;br /&gt;
In SDK 1.1 update release, the launching scripts has been updated to check whether the KVM module is loaded. If not, QEMU will start without &amp;quot;-enable-kvm&amp;quot; option. So with 1.1 update release, user should be able to launch QEMU always, although slow if KVM is not enabled. We did not start KVM automatically because of the [http://bugs.meego.com/show_bug.cgi?id=10075 KVM] bug.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;Launching QEMU displays permissions error, e.g.&amp;lt;br/&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
error while loading shared libraries: /usr/lib/libGL.so.1:&lt;br /&gt;
cannot restore segment prot after reloc: Permission denied&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This error is due to SELinux security policy settings. There are two possible solutions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Temporary&amp;lt;/strong&amp;gt; (needs to be repeated on each reboot)&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Permanent&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;lt;code&amp;gt;/etc/selinux/config&amp;lt;/code&amp;gt; file, set the value of the &amp;lt;code&amp;gt;enforcing&amp;lt;/code&amp;gt; variable to &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
You will also need to do &amp;lt;code&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/code&amp;gt; to make this change immediately. SELinux should be disabled on the next boot.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] Investigation just started and the [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] will track the latest status of this bug&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; On windows, with kqemu enabled, handset image did not boot into UI. What was shown only was QEMU gray window. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; with KQEMU enabled, QEMU was not able to boot up MeeGo kernel on some host machines. Refer to [http://bugs.meego.com/show_bug.cgi?id=11590 this] bug. If you are using the 1.1 updated SDK, you could just disable kqem by running &lt;br /&gt;
 net stop kqemu&lt;br /&gt;
and then restart QEMU. Without kqemu, QEMU would be slow, but should be able to boot up handset image. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2011-01-17T06:51:31Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
QMAKESPEC has not been set, so configuration cannot be deduced.&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Set QMAKESPEC using a command such as the following (bash):&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export QMAKESPEC=linux-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Compilation fails for MTF application&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]&amp;lt;br/&amp;gt;&lt;br /&gt;
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:&lt;br /&gt;
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find ./ -perm 700 -exec chmod 755 {} \;&lt;br /&gt;
find ./ -perm 600 -exec chmod 644 {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays a KVM error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &amp;lt;br&amp;gt;&lt;br /&gt;
or running below command did not show up QEMU window.&lt;br /&gt;
 mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;In SDK 1.1 release, QEMU may exit silently if KVM kernel module is not loaded in advance. Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details. &amp;lt;br&amp;gt;&lt;br /&gt;
In SDK 1.1 update release, the launching scripts has been updated to check whether the KVM module is loaded. If not, QEMU will start without &amp;quot;-enable-kvm&amp;quot; option. So with 1.1 update release, user should be able to launch QEMU always, although slow if KVM is not enabled. We did not start KVM automatically because of the [http://bugs.meego.com/show_bug.cgi?id=10075 KVM] bug.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;Launching QEMU displays permissions error, e.g.&amp;lt;br/&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
error while loading shared libraries: /usr/lib/libGL.so.1:&lt;br /&gt;
cannot restore segment prot after reloc: Permission denied&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This error is due to SELinux security policy settings. There are two possible solutions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Temporary&amp;lt;/strong&amp;gt; (needs to be repeated on each reboot)&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Permanent&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;lt;code&amp;gt;/etc/selinux/config&amp;lt;/code&amp;gt; file, set the value of the &amp;lt;code&amp;gt;enforcing&amp;lt;/code&amp;gt; variable to &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
You will also need to do &amp;lt;code&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/code&amp;gt; to make this change immediately. SELinux should be disabled on the next boot.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] Investigation just started and the [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] will track the latest status of this bug&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2011-01-17T06:47:19Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
QMAKESPEC has not been set, so configuration cannot be deduced.&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Set QMAKESPEC using a command such as the following (bash):&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export QMAKESPEC=linux-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Compilation fails for MTF application&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]&amp;lt;br/&amp;gt;&lt;br /&gt;
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mad -t meego-handset-ia32-1.1 qmake&lt;br /&gt;
-unix is deprecated.&lt;br /&gt;
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:&lt;br /&gt;
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs&lt;br /&gt;
Error processing project file:&lt;br /&gt;
/home/user_x/work/meego/qthello-handset/qthello-handset.pro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find ./ -perm 700 -exec chmod 755 {} \;&lt;br /&gt;
find ./ -perm 600 -exec chmod 644 {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays a KVM error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details. In SDK 1.1 update release, the launching scripts has been updated to check whether the KVM module is loaded. If not, QEMU will be started without &amp;quot;-enable-kvm&amp;quot; option. So with 1.1 update release, user should be able to launch QEMU always, although slow if KVM is not enabled. We did not start KVM automatically because of the [http://bugs.meego.com/show_bug.cgi?id=10075 KVM] bug.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;Launching QEMU displays permissions error, e.g.&amp;lt;br/&amp;gt;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
error while loading shared libraries: /usr/lib/libGL.so.1:&lt;br /&gt;
cannot restore segment prot after reloc: Permission denied&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;This error is due to SELinux security policy settings. There are two possible solutions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Temporary&amp;lt;/strong&amp;gt; (needs to be repeated on each reboot)&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Permanent&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;lt;code&amp;gt;/etc/selinux/config&amp;lt;/code&amp;gt; file, set the value of the &amp;lt;code&amp;gt;enforcing&amp;lt;/code&amp;gt; variable to &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
You will also need to do &amp;lt;code&amp;gt;sudo /usr/sbin/setenforce 0&amp;lt;/code&amp;gt; to make this change immediately. SELinux should be disabled on the next boot.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] Investigation just started and the [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] will track the latest status of this bug&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows</id>
		<title>SDK/Build QEMUGL from source on windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows"/>
				<updated>2010-12-31T02:00:31Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Build environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Build environment ==&lt;br /&gt;
mingw is used to build QEMU from source on Windows. &amp;lt;br&amp;gt;&lt;br /&gt;
Go to [http://sourceforge.net/projects/mingw/files/ MinGW download page], download mingw-get-inst-20101030.exe, and run the installer. &amp;lt;br&amp;gt;&lt;br /&gt;
Use pre-packaged repository cataloguse    20101030 &amp;lt;br&amp;gt;&lt;br /&gt;
select &amp;quot;C Compiler&amp;quot;, &amp;quot;MSYS Basic System&amp;quot; and &amp;quot;MinGW Developer ToolKit&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After installing minGW successfully, open an msys terminal by clicking c:/mingw/msys/1.0/msys.bat (suppose minGW is installed in c:/mingw. The same to below when &amp;quot;c:/mingw&amp;quot; is used) &amp;lt;br&amp;gt;&lt;br /&gt;
run below commands to install more packages needed:&lt;br /&gt;
 mingw-get.exe install libpthread&lt;br /&gt;
 mingw-get.exe install libexpat&lt;br /&gt;
&lt;br /&gt;
create link for libpthread.a&lt;br /&gt;
 cd /mingw/lib&lt;br /&gt;
 ln -s libpthread.dll.a libpthread.a (windows may create hard file instead of symbolic link. It is fine as well)&lt;br /&gt;
&lt;br /&gt;
Download source package of libSDL-1.2 from [http://www.libsdl.org/download-1.2.php here]. Copy SDL-1.2.14.tar.gz into c:/mingw/msys/1.0/home/xxx/. Then in msys terminal:&lt;br /&gt;
 tar xzvf SDL-1.2.14.tar.gz&lt;br /&gt;
 cd SDL-1.2.14&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of zlib-1.2.3 from [http://gnuwin32.sourceforge.net/packages/zlib.htm here]. Get zlib-1.2.3 source directory and copy it into c:/mingw/msys/1.0/home/XXX/.&lt;br /&gt;
Then in msys terminal:&lt;br /&gt;
 cd zlib-1.2.3&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of libpng 1.4.5 from [http://www.libpng.org/pub/png/libpng.html here]. Copy libpng-1.4.5.tar.gz into c:/mingw/msys/1.0/home/xxx/. Then in msys terminal:&lt;br /&gt;
 tar xzvf libpng-1.4.5.tar.gz&lt;br /&gt;
 cd libpng-1.4.5&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download wglext.h from [http://www.opengl.org/registry/ here], and copy the file into /mingw/include/GL/ directory. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get QEMU-GL code from MeeGo gitorious [http://meego.gitorious.org/meego-developer-tools/meego-emulator-qemugl-x86 here]. Switch to the branch &amp;quot;qemugl-on-qemu-0.11&amp;quot;. Then in msys terminal: &amp;lt;br&amp;gt;&lt;br /&gt;
 cd meego-emulator-qemugl-x86&lt;br /&gt;
 ./configure --target-list=i386-softmmu --enable-gl --enable-skinning --disable-docs --static&lt;br /&gt;
 make&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows</id>
		<title>SDK/Build QEMUGL from source on windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows"/>
				<updated>2010-12-31T01:58:40Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Build environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Build environment ==&lt;br /&gt;
mingw is used to build QEMU from source on Windows. &amp;lt;br&amp;gt;&lt;br /&gt;
Go to [http://sourceforge.net/projects/mingw/files/ MinGW download page], download mingw-get-inst-20101030.exe, and run the installer. &amp;lt;br&amp;gt;&lt;br /&gt;
Use pre-packaged repository cataloguse    20101030 &amp;lt;br&amp;gt;&lt;br /&gt;
select &amp;quot;C Compiler&amp;quot;, &amp;quot;MSYS Basic System&amp;quot; and &amp;quot;MinGW Developer ToolKit&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After installing minGW successfully, open an msys terminal by clicking c:/mingw/msys/1.0/msys.bat (suppose minGW is installed in c:/mingw. The same to below when &amp;quot;c:/mingw&amp;quot; is used) &amp;lt;br&amp;gt;&lt;br /&gt;
run below commands to install more packages needed:&lt;br /&gt;
 mingw-get.exe install libpthread&lt;br /&gt;
 mingw-get.exe install libexpat&lt;br /&gt;
&lt;br /&gt;
create link for libpthread.a&lt;br /&gt;
 cd /mingw/lib&lt;br /&gt;
 ln -s libpthread.dll.a libpthread.a (windows may create hard file instead of symbolic link. It is fine as well)&lt;br /&gt;
&lt;br /&gt;
Download source package of libSDL-1.2 from [http://www.libsdl.org/download-1.2.php here]. Copy SDL-1.2.14.tar.gz into c:/mingw/msys/1.0/home/xxx/. Then in msys terminal:&lt;br /&gt;
 tar xzvf SDL-1.2.14.tar.gz&lt;br /&gt;
 cd SDL-1.2.14&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of zlib-1.2.3 from [http://gnuwin32.sourceforge.net/packages/zlib.htm here]. Get zlib-1.2.3 source directory and copy it into c:/mingw/msys/1.0/home/XXX/.&lt;br /&gt;
Then in msys terminal:&lt;br /&gt;
 cd zlib-1.2.3&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of libpng 1.4.5 from [http://www.libpng.org/pub/png/libpng.html here]. Copy libpng-1.4.5.tar.gz into c:/mingw/msys/1.0/home/xxx/. Then in msys terminal:&lt;br /&gt;
 tar xzvf libpng-1.4.5.tar.gz&lt;br /&gt;
 cd libpng-1.4.5&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download wglext.h from [http://www.opengl.org/registry/ here], and copy the file into /mingw/include/GL/ directory. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get QEMU-GL code from MeeGo gitorious [http://meego.gitorious.org/meego-developer-tools/meego-emulator-qemugl-x86 here]. Switch to the branch &amp;quot;qemugl-on-qemu-0.11&amp;quot;. &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows</id>
		<title>SDK/Build QEMUGL from source on windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows"/>
				<updated>2010-12-31T01:48:11Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Build environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Build environment ==&lt;br /&gt;
mingw is used to build QEMU from source on Windows. &amp;lt;br&amp;gt;&lt;br /&gt;
Go to [http://sourceforge.net/projects/mingw/files/ MinGW download page], download mingw-get-inst-20101030.exe, and run the installer. &amp;lt;br&amp;gt;&lt;br /&gt;
Use pre-packaged repository cataloguse    20101030 &amp;lt;br&amp;gt;&lt;br /&gt;
select &amp;quot;C Compiler&amp;quot;, &amp;quot;MSYS Basic System&amp;quot; and &amp;quot;MinGW Developer ToolKit&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After installing minGW successfully, open an msys terminal by clicking c:/mingw/msys/1.0/msys.bat (suppose minGW is installed in c:/mingw. The same to below when &amp;quot;c:/mingw&amp;quot; is used) &amp;lt;br&amp;gt;&lt;br /&gt;
run below commands to install more packages needed:&lt;br /&gt;
 mingw-get.exe install libpthread&lt;br /&gt;
 mingw-get.exe install libexpat&lt;br /&gt;
&lt;br /&gt;
create link for libpthread.a&lt;br /&gt;
 cd /mingw/lib&lt;br /&gt;
 ln -s libpthread.dll.a libpthread.a (windows may create hard file instead of symbolic link. It is fine as well)&lt;br /&gt;
Download source package of libSDL-1.2 from [http://www.libsdl.org/download-1.2.php here]. Copy SDL-1.2.14.tar.gz into c:/mingw/msys/1.0/home/xxx/.&lt;br /&gt;
 tar xzvf SDL-1.2.14.tar.gz&lt;br /&gt;
 cd SDL-1.2.14&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of zlib-1.2.3 from [http://gnuwin32.sourceforge.net/packages/zlib.htm here]. Get zlib-1.2.3 source directory and copy it into c:/mingw/msys/1.0/home/XXX/&lt;br /&gt;
 cd zlib-1.2.3&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of libpng 1.4.5 from [http://www.libpng.org/pub/png/libpng.html here]. Copy libpng-1.4.5.tar.gz into c:/mingw/msys/1.0/home/xxx/.&lt;br /&gt;
 tar xzvf libpng-1.4.5.tar.gz&lt;br /&gt;
 cd libpng-1.4.5&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows</id>
		<title>SDK/Build QEMUGL from source on windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows"/>
				<updated>2010-12-31T01:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Build environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Build environment ==&lt;br /&gt;
mingw is used to build QEMU from source on Windows. &amp;lt;br&amp;gt;&lt;br /&gt;
Go to [http://sourceforge.net/projects/mingw/files/ MinGW download page], download mingw-get-inst-20101030.exe, and run the installer. &amp;lt;br&amp;gt;&lt;br /&gt;
Use pre-packaged repository cataloguse    20101030 &amp;lt;br&amp;gt;&lt;br /&gt;
select &amp;quot;C Compiler&amp;quot;, &amp;quot;MSYS Basic System&amp;quot; and &amp;quot;MinGW Developer ToolKit&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After installing minGW successfully, open an msys terminal by clicking c:/mingw/msys/1.0/msys.bat (suppose minGW is installed in c:/mingw. The same to below when &amp;quot;c:/mingw&amp;quot; is used) &amp;lt;br&amp;gt;&lt;br /&gt;
run below commands to install more packages needed:&lt;br /&gt;
 mingw-get.exe install libpthread&lt;br /&gt;
 mingw-get.exe install libexpat&lt;br /&gt;
create file link for libpthread.a&lt;br /&gt;
 cd /mingw/lib&lt;br /&gt;
 ln -s libpthread.dll.a libpthread.a (windows may create hard file instead of symbolic link. It is fine as well)&lt;br /&gt;
Download source package of libSDL-1.2 from [http://www.libsdl.org/download-1.2.php here]. Copy SDL-1.2.14.tar.gz into c:/mingw/msys/1.0/home/xxx/.&lt;br /&gt;
 tar xzvf SDL-1.2.14.tar.gz&lt;br /&gt;
 cd SDL-1.2.14&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of zlib-1.2.3 from [http://gnuwin32.sourceforge.net/packages/zlib.htm here]. Get zlib-1.2.3 source directory and copy it into c:/mingw/msys/1.0/home/XXX/&lt;br /&gt;
 cd zlib-1.2.3&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of libpng 1.4.5 from [http://www.libpng.org/pub/png/libpng.html here]. Copy libpng-1.4.5.tar.gz into c:/mingw/msys/1.0/home/xxx/.&lt;br /&gt;
 tar xzvf libpng-1.4.5.tar.gz&lt;br /&gt;
 cd libpng-1.4.5&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows</id>
		<title>SDK/Build QEMUGL from source on windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows"/>
				<updated>2010-12-31T01:33:25Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Build environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Build environment ==&lt;br /&gt;
mingw is used to build QEMU from source on Windows. &amp;lt;br&amp;gt;&lt;br /&gt;
Go to [http://sourceforge.net/projects/mingw/files/ MinGW download page], download mingw-get-inst-20101030.exe, and run the installer. &amp;lt;br&amp;gt;&lt;br /&gt;
Use pre-packaged repository cataloguse    20101030 &amp;lt;br&amp;gt;&lt;br /&gt;
select &amp;quot;C Compiler&amp;quot;, &amp;quot;MSYS Basic System&amp;quot; and &amp;quot;MinGW Developer ToolKit&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After installing minGW successfully, open an msys terminal by clicking c:/mingw/msys/1.0/msys.bat (suppose minGW is installed in c:/mingw. The same to below when &amp;quot;c:/mingw&amp;quot; is used) &amp;lt;br&amp;gt;&lt;br /&gt;
run below commands to install more packages needed:&lt;br /&gt;
 mingw-get.exe install libpthread&lt;br /&gt;
 mingw-get.exe install libexpat&lt;br /&gt;
&lt;br /&gt;
Download source package of libSDL-1.2 from [http://www.libsdl.org/download-1.2.php here]. Copy SDL-1.2.14.tar.gz into c:/mingw/msys/1.0/home/xxx/.&lt;br /&gt;
 tar xzvf SDL-1.2.14.tar.gz&lt;br /&gt;
 cd SDL-1.2.14&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of zlib-1.2.3 from [http://gnuwin32.sourceforge.net/packages/zlib.htm here]. Get zlib-1.2.3 source directory and copy it into c:/mingw/msys/1.0/home/XXX/&lt;br /&gt;
 cd zlib-1.2.3&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of libpng 1.4.5 from [http://www.libpng.org/pub/png/libpng.html here]. Copy libpng-1.4.5.tar.gz into c:/mingw/msys/1.0/home/xxx/.&lt;br /&gt;
 tar xzvf libpng-1.4.5.tar.gz&lt;br /&gt;
 cd libpng-1.4.5&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows</id>
		<title>SDK/Build QEMUGL from source on windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows"/>
				<updated>2010-12-30T09:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Build environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Build environment ==&lt;br /&gt;
mingw is used to build QEMU from source on Windows. &amp;lt;br&amp;gt;&lt;br /&gt;
Go to [http://sourceforge.net/projects/mingw/files/ MinGW download page], download mingw-get-inst-20101030.exe, and run the installer. &amp;lt;br&amp;gt;&lt;br /&gt;
Use pre-packaged repository cataloguse    20101030 &amp;lt;br&amp;gt;&lt;br /&gt;
select &amp;quot;C Compiler&amp;quot;, &amp;quot;MSYS Basic System&amp;quot; and &amp;quot;MinGW Developer ToolKit&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After installing minGW successfully, open an msys terminal by clicking c:/mingw/msys/1.0/msys.bat (suppose minGW is installed in c:/mingw. The same to below when &amp;quot;c:/mingw&amp;quot; is used) &amp;lt;br&amp;gt;&lt;br /&gt;
run below commands to install more packages needed:&lt;br /&gt;
 mingw-get.exe install libpthread&lt;br /&gt;
 mingw-get.ext install zlib&lt;br /&gt;
 mingw-get.exe install libexpat&lt;br /&gt;
&lt;br /&gt;
Download source package of libSDL-1.2 from [http://www.libsdl.org/download-1.2.php here]. Copy SDL-1.2.14.tar.gz into c:/mingw/msys/1.0/home/xxx/.&lt;br /&gt;
 tar xzvf SDL-1.2.14.tar.gz&lt;br /&gt;
 cd SDL-1.2.14&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Download source package of libpng 1.4.5 from [http://www.libpng.org/pub/png/libpng.html here]. Copy libpng-1.4.5.tar.gz into c:/mingw/msys/1.0/home/xxx/.&lt;br /&gt;
 tar xzvf libpng-1.4.5.tar.gz&lt;br /&gt;
 cd libpng-1.4.5&lt;br /&gt;
 ./configure --prefix=/mingw&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows</id>
		<title>SDK/Build QEMUGL from source on windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Build_QEMUGL_from_source_on_windows"/>
				<updated>2010-12-30T08:22:53Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: Created page with &amp;quot;== Build environment == mingw is used to build QEMU from source on Windows. &amp;lt;br&amp;gt; Go to [http://sourceforge.net/projects/mingw/files/ MinGW download page], download mingw-get-inst…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Build environment ==&lt;br /&gt;
mingw is used to build QEMU from source on Windows. &amp;lt;br&amp;gt;&lt;br /&gt;
Go to [http://sourceforge.net/projects/mingw/files/ MinGW download page], download mingw-get-inst-20101030.exe, and run the installer. &amp;lt;br&amp;gt;&lt;br /&gt;
Use pre-packaged repository cataloguse    20101030 &amp;lt;br&amp;gt;&lt;br /&gt;
select &amp;quot;C Compiler&amp;quot;, &amp;quot;MSYS Basic System&amp;quot; and &amp;quot;MinGW Developer ToolKit&amp;quot; &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2010-12-27T00:52:54Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays an error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] Investigation just started and the [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] will track the latest status of this bug&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and&lt;br /&gt;
 sudo rm -rf /etc/ssh/*key*&lt;br /&gt;
 sudo /etc/init.d/sshd start &lt;br /&gt;
On Linux host system, you could mount into the image and do the change directly as well:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2010-12-16T20:24:32Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays an error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] Investigation just started and the [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] will track the latest status of this bug&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug 11367] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug 9351] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. On Linux host system, it could be done by:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
On windows host, you may have to boot MeeGo image into console and then do the change accordingly.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2010-12-16T20:23:01Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays an error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] Investigation just started and the [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] will track the latest status of this bug&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU works, but ssh does not work&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. On Linux host system, it could be done by:&lt;br /&gt;
 sudo mount -o loop,offset=512 xxx.raw /mnt/&lt;br /&gt;
 sudo rm -rf /mnt/etc/ssh/*key*&lt;br /&gt;
 sudo umount&lt;br /&gt;
On windows host, you may have to boot MeeGo image into console and then do the change accordingly.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2010-12-16T20:15:00Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays an error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that [http://bugs.meego.com/show_bug.cgi?id=9790 bug 9790] and [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] Investigation just started and the [http://bugs.meego.com/show_bug.cgi?id=10075 bug 10075] will track the latest status of this bug&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Usually that is because the UI program &amp;quot;duihome&amp;quot; crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed &amp;quot;sysuid&amp;quot; in QEMU client OS, and as a result, duihome crashed. There was a [http://bugs.meego.com/show_bug.cgi?id=11367 bug] reported against &amp;quot;sysuid&amp;quot; in MeeGo UX. [http://bugs.meego.com/show_bug.cgi?id=9351 Another bug] could be a reference of this issue. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file &amp;quot;/tmp/mstatusbar_pixmap_handle&amp;quot;, or simply delete everything in &amp;quot;/tmp/&amp;quot;, and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing &amp;quot;duihome&amp;quot; to crash.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2010-12-16T19:58:48Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays an error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;It was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that [http://bugs.meego.com/show_bug.cgi?id=9790 Bug 9790  - KVM of qemugl in MeeGo SDK does not work with some kernel versions, like 2.6.31-22-generic] and [http://bugs.meego.com/show_bug.cgi?id=10075 Bug 10075  - QEMU does not launch when installed and launched in Ubuntu 10.10] Investigation just started and the #10075 will track the latest status of this bug&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2010-12-16T08:59:37Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays an error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2010-12-16T08:58:59Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays an error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Most likely, it is because KVM is not enabled. Madde started QEMU with &amp;quot;-enable-kvm&amp;quot; option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue [http://bugs.meego.com/show_bug.cgi?id=11386 FEA Madde/QT Creator should report error if QEMU was not started successfully]. &amp;lt;br&amp;gt; Meanwhile, you could still solve the problem by enabling KVM following [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting</id>
		<title>SDK/Docs/1.1/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Troubleshooting"/>
				<updated>2010-12-16T08:47:42Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* QEMU SDK Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please contribute to this page, especially when you find solutions.&lt;br /&gt;
&lt;br /&gt;
When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)&lt;br /&gt;
&lt;br /&gt;
== General SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Downloading or unpacking an image gives errors.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ensure that the MD5SUM matches:&lt;br /&gt;
 $ md5sum &amp;lt;image file&amp;gt;&lt;br /&gt;
The images are large so you might try a download program that handles connection interrupts, such as wget:&lt;br /&gt;
 $ wget --continue &amp;amp;lt;link to file&amp;amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Creating and testing a target with MADDE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
If you connect the internet by a proxy,you should use:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)&lt;br /&gt;
&lt;br /&gt;
Or you can do it like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# export http_proxy=&amp;quot;http://username:passwd@&amp;lt;proxy_IP&amp;gt;:&amp;lt;proxy_port&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QEMU SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;Launching QEMU displays an error.&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu 9.04, Intel graphics&lt;br /&gt;
 Could not access KVM kernel module: No such file or directory&lt;br /&gt;
 failed to initialize KVM &lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Your system must have VT support and have the KVM modules loaded.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Launching QEMU just shows a black window.  No MeeGo UI appears&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action)&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug [http://bugs.meego.com/show_bug.cgi?id=10945 #10945: mcompositor not working with GL acceleration]. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration.  Check the [http://wiki.meego.com/MeeGo_SDK_Enabling_QEMU QEMU enabling page] for details.&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using &amp;lt;code&amp;gt;mad-admin list runtimes&amp;lt;/code&amp;gt; after it has been installed with &amp;lt;code&amp;gt;mad-admin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
 $ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 .....9....8....7....6....5....4....3....2....1....0&lt;br /&gt;
 Creating missing links... done.&lt;br /&gt;
 $ mad-admin list runtimes&lt;br /&gt;
 qemu-n900-pr12                                         (installable)&lt;br /&gt;
 rx48-diablo                                            (installable)&lt;br /&gt;
 meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)&lt;br /&gt;
 meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Change the permission of the &amp;lt;i&amp;gt;/usr/lib/madde/linux-i686/runtimes&amp;lt;/i&amp;gt; directory and it&amp;amp;#39;s sub-directories to &amp;lt;i&amp;gt;r-x&amp;lt;/i&amp;gt; for all users and allow read permission for all users on the &amp;lt;i&amp;gt;information&amp;lt;/i&amp;gt; file that is contained in the runtime sub-directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;quot;error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory&amp;quot; when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/lib&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:&lt;br /&gt;
 $ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron&lt;br /&gt;
 Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
 This may take some time ...&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
 ssh: connect to host 127.0.0.1 port 6666: Connection refused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xephyr SDK Errors ==&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Error&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Solution&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
     &amp;lt;td valign='top'&amp;gt;OS: Ubuntu 10.10 &lt;br /&gt;
Cannot connect applications from Xephyr to Xserver on the host machine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meego image loads up with root user. Add root in your xhost eg:&amp;quot;xhost +SI:localuser:root&amp;quot; list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run &amp;quot;$echo $DISPLAY&amp;quot; &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Windows</id>
		<title>SDK/Docs/1.1/Getting started with the MeeGo SDK for Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Windows"/>
				<updated>2010-12-09T03:33:19Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:devguide]]&lt;br /&gt;
[[Category:meego-1.1]]&lt;br /&gt;
[[Category:tutorial]]&lt;br /&gt;
[[Category:application-developer]]&lt;br /&gt;
[[Category:windows]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to install and configure the MeeGo 1.1 SDK on your Windows development system.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* '''Hardware:''' Any reasonably modern hardware, such as 32-bit Intel Atom or Intel Core 2 CPU.&lt;br /&gt;
** The SDK version of QEMU relies on kqemu to provide CPU virtualization support, but on some machines with this support, images will still not run. This is believed to be related to certain types of CPU. Below are some details of tested hardware:&lt;br /&gt;
*:* Known to work: Intel(R) Core(TM) 2 Quad CPU, Q8200; Intel(R) i5 and i7&lt;br /&gt;
*:* Known not to work: Intel(R) Core(TM) 2 Duo P9400 in Thinkpad T400; Intel(R) Core(TM)2 Q9400 in HP7900 Ultra-slim&lt;br /&gt;
* '''Software:''' Only Windows XP 32-bit and Windows 7 32-bit are officially supported.&lt;br /&gt;
*: Currently the QEMU emulator only works for IA targets on 32-bit Windows. If you are using 64-bit Windows, QEMU is not available.&lt;br /&gt;
*: For support status and issues using other host operating systems, see [http://wiki.meego.com/SDK/Docs/1.1/MeeGo_1.1_SDK_Host_OS_Support this page].&lt;br /&gt;
* '''Filesystem:''' MeeGo SDK should be installed on a hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable and not supported.&lt;br /&gt;
&lt;br /&gt;
=== Notes and caveats ===&lt;br /&gt;
&lt;br /&gt;
* '''QEMU runtimes and targets''': The following pre-defined targets and runtimes are the only ones which have been verified on Windows:&lt;br /&gt;
** Targets:&lt;br /&gt;
*** meego-handset-ia32-w32-1.1&lt;br /&gt;
*** meego-netbook-ia32-w32-1.1&lt;br /&gt;
*** meego-core-armv7l-1.1&lt;br /&gt;
** Runtimes:&lt;br /&gt;
*** meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&lt;br /&gt;
*** meego-netbook-ia32-w32-qemu-1.1.20101031.2037-sda-runtime&lt;br /&gt;
*: '''Others may be listed by MADDE, but are not guaranteed to work.'''&lt;br /&gt;
* '''Uninstalling:''' Everything you've installed as part of the SDK, ''including MADDE targets and runtimes'', will be removed if you run the MeeGo SDK uninstaller.&lt;br /&gt;
* '''Commands:''' Terminal commands in the instructions below are prefaced with &amp;quot;$&amp;quot;. Do not include $ when entering the commands in your terminal.&lt;br /&gt;
&lt;br /&gt;
== Install the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
The SDK consists of a single downloadable file which you use to install Qt Creator and MADDE on your development machine. Toolchains and runtimes for MADDE (see later) are optional and installed using MADDE (via the command-line tool &amp;lt;code&amp;gt;mad-admin&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer. You can choose either offline or online installer:&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[http://download3.meego.com/MeeGoSDK/1.1/meego-1.1-sdk-beta-online-installer.exe MeeGo SDK Windows online installer]&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;13.8MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[http://download3.meego.com/MeeGoSDK/1.1/meego-1.1-sdk-beta-offline-installer.exe MeeGo SDK Windows offline installer]&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;55.7MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If you are using Windows XP, please download a small file vcredist_x86.exe (Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)) from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2 and install it to your system. This is not needed for Windows 7.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you have these components installed, you need to optionally install MADDE runtimes and targets, as described in the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Install the QEMU Accelerator ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;QEMU Accelerator (KQEMU) is a driver allowing the QEMU PC emulator to run much faster when emulating a PC on an x86 host&amp;quot; (from http://wiki.qemu.org/KQemu/Doc).&lt;br /&gt;
&lt;br /&gt;
'''The QEMU Accelerator can only be used on 32-bit Windows; it does not work with 64-bit Windows. If you have 64-bit Windows, you need to use a real MeeGo device instead of an emulated one.'''&lt;br /&gt;
&lt;br /&gt;
Install the QEMU Accelerator as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Download the source tarball from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack the tarball, using a tool like [http://www.winzip.com/ WinZip] or [http://www.7-zip.org/ 7zip].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you are using a Windows 7 or Windows Vista system, edit the &amp;lt;code&amp;gt;kqemu.inf&amp;lt;/code&amp;gt; file in the unpacked directory. Modify the lines as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[DefaultInstall.NT] should be changed to [DefaultInstall]&lt;br /&gt;
[DefaultInstall.NT.Services] should be changed to [DefaultInstall.Services]&lt;br /&gt;
[Uninstall.NT] should be changed to [Uninstall]&lt;br /&gt;
[Uninstall.NT.Services] should be changed to [Uninstall.Services]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right click the kqemu.inf file and select ''Install''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You must start kqemu manually, and will need to do this each time you reboot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Select ''Start &amp;gt; All Programs &amp;gt; Accessories''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you have adminstrator privileges on the machine, select ''Command Prompt''.&amp;lt;br/&amp;gt;&lt;br /&gt;
If you don't have administrator privileges, you will need to run the command prompt as an administrator:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right click on ''Command Prompt'' and select ''Run as...''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the radio button next to ''The following user'' and enter the credentials of an adminstrator.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Once the command prompt is open, run the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
net start kqemu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install MeeGo target(s) ==&lt;br /&gt;
&lt;br /&gt;
A ''target'' is used to build programs using a MeeGo toolchain and libraries (sysroot).  It is downloaded as a large (~250MB) .bz2 file using the commands below.  MADDE (MeeGo Application Develop and Debug Environment ([http://wiki.maemo.org/MADDE background])) is a tool that assists in the download and installation of targets.  You can install multiple targets and switch easily between them in Qt Creator.&lt;br /&gt;
&lt;br /&gt;
First start the MADDE Terminal from ''Start menu &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; MADDE Terminal''.&lt;br /&gt;
&lt;br /&gt;
If you are in an intranet which requires a proxy, you may need to run the following command in the MADDE Terminal before you can download any targets or runtimes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export http_proxy=10.0.5.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
replacing '''10.0.5.1''' with the IP address or host name of your proxy.&lt;br /&gt;
&lt;br /&gt;
Then follow these steps to create and test a MADDE target for MeeGo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Create the target by running the command below.  Replace &amp;lt;target&amp;gt; with one of:&lt;br /&gt;
   &amp;lt;ul&amp;gt;&lt;br /&gt;
     &amp;lt;li&amp;gt;'''meego-core-armv7l-1.1''':  Build applications for ARM handheld devices (such as N900)&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;li&amp;gt;'''meego-handset-ia32-w32-1.1''':  Build applications for x86 handheld devices (such as Aava)&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;li&amp;gt;'''meego-netbook-ia32-w32-1.1''': Build applications for x86 netbooks.&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;/ul&amp;gt;&lt;br /&gt;
Note that the &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; flag instructs MADDE to download the Target tarball (bz2) first.&lt;br /&gt;
 &amp;lt;pre&amp;gt;$ mad-admin create -f &amp;lt;target&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
If you encounter problems, check the [[MeeGo_SDK_Troubleshooting#General_SDK_Errors Troubleshooting|SDK troubleshooting page]]&lt;br /&gt;
 &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;To check that the target has been installed correctly, run the following, replacing &amp;amp;lt;target&amp;amp;gt; with one of the values described in the previous step:&lt;br /&gt;
 &amp;lt;pre&amp;gt;$ mad -t &amp;lt;target&amp;gt; pscreate -t qt-simple qttest&lt;br /&gt;
$ cd qttest&lt;br /&gt;
$ mad -t &amp;lt;target&amp;gt; qmake&lt;br /&gt;
$ mad -t &amp;lt;target&amp;gt; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;To check that the qt-simple application is created for the correct target, run:&lt;br /&gt;
 &amp;lt;pre&amp;gt;$ file build/qttest&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you compiled with an IA32 toolchain, you should see something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
build/qttest: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), for GNU/Linux 2.6.25, &lt;br /&gt;
dynamically linked (uses shared libs), for GNU/Linux 2.6.25, not stripped&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
While compiling with an ARM toolchain should yield something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
build/qttest: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.25,&lt;br /&gt;
dynamically linked (uses shared libs), for GNU/Linux 2.6.25, not stripped&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install MeeGo runtime(s) ==&lt;br /&gt;
&lt;br /&gt;
A ''runtime'' is the MeeGo OS image that is run with QEMU when debugging applications on your host system.  It is downloaded as a large (~650MB) .bz2 file using MADDE.  The runtime is not needed until you have finished configuring Qt Creator, and is not required at all if you only intend to develop against real hardware running MeeGo.  However, as this step may take some time, it is recommended that you start it now so it can proceed in the background while you continue with the remaining steps.&lt;br /&gt;
&lt;br /&gt;
The verified MADDE targets available on Windows are:&lt;br /&gt;
&lt;br /&gt;
* '''meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime''' (uses the meego-handset-ia32-w32-1.1 target)&lt;br /&gt;
* '''meego-netbook-ia32-w32-qemu-1.1.20101031.2037-sda-runtime''' (uses the meego-netbook-ia32-w32-1.1 target)&lt;br /&gt;
&lt;br /&gt;
MADDE may list other targets, but they are not guaranteed to work.&lt;br /&gt;
&lt;br /&gt;
See [[SDK/Docs/1.1/Configuring_QEMU_runtimes|Configuring QEMU runtimes]] for further instructions.&lt;br /&gt;
&lt;br /&gt;
== Configuring Qt Creator to use the MeeGo toolchain(s) ==&lt;br /&gt;
&lt;br /&gt;
Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&lt;br /&gt;
&lt;br /&gt;
Configure Qt Creator to use the MeeGo toolchain(s):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go to ''Tools &amp;gt; Options &amp;gt; Qt4 &amp;gt; Qt Versions''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the right side of the ''Qt Versions'' view, click on the plus sign button to add a new version. A blank, new version appears in the ''Qt Versions'' view.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the ''Version Name'' line, specify a name for the new version (e.g. '''MeeGo netbook''').&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the ''qmake location'' line, select a qmake location for the new versionby browsing to a &amp;lt;code&amp;gt;qmake&amp;lt;/code&amp;gt; binaries for one of your installed targets. The full path will look something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\&amp;amp;lt;MeeGo SDK install directory&amp;amp;gt;\MADDE\targets\&amp;amp;lt;target name&amp;amp;gt;\bin\qmake.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;&amp;amp;lt;MeeGo SDK install directory&amp;amp;gt;&amp;lt;/code&amp;gt; is the path to the MeeGo SDK directory (default is &amp;lt;code&amp;gt;C:\MeeGoSDK_1.1&amp;lt;/code&amp;gt;), and &amp;lt;code&amp;gt;&amp;amp;lt;target&amp;amp;gt;&amp;lt;/code&amp;gt; is the name of one of the installed targets (for example, '''meego-netbook-ia32-w32-1.1''').&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Once added, select the new entry and click on the ''Rebuild'' button (bottom right) to build the debugging helper for this Qt version. This enables you to use debugging from Qt Creator.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click ''OK''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The resulting configuration should look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-sdk-qt-creator-configuring-toolchain.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Developing with the SDK ==&lt;br /&gt;
&lt;br /&gt;
To start developing with the MeeGo SDK, the [[SDK/Docs/1.1/Creating_Hello_World|hello world tutorial]] is a good starting point.&lt;br /&gt;
&lt;br /&gt;
This tutorial covers how to start a project, package it, and deploy it to a device (either a real device, or a QEMU runtime set up through MADDE).&lt;br /&gt;
&lt;br /&gt;
== Removing components ==&lt;br /&gt;
&lt;br /&gt;
'''This will remove all SDK components, including any MADDE runtimes and targets you may have installed.'''&lt;br /&gt;
&lt;br /&gt;
To uninstall the SDK:&lt;br /&gt;
&lt;br /&gt;
* Browse to the MeeGo SDK installation folder (default is &amp;lt;code&amp;gt;C:\MeeGoSDK_1.1&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Double-click on the &amp;lt;code&amp;gt;uninstall.exe&amp;lt;/code&amp;gt; file.&lt;br /&gt;
* In the dialog box, select ''Remove all components'' and click ''Next''.&lt;br /&gt;
* Click ''Uninstall'' to remove the SDK.&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Windows</id>
		<title>SDK/Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Windows"/>
				<updated>2010-11-29T06:02:57Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Known issues and possible workarounds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note: This page contains instructions on install MeeGo SDK for Windows, and use it to build/deploy/debug apps. MeeGo SDK for Windows has not been released yet, and it is still under development.'''&lt;br /&gt;
&lt;br /&gt;
==Latest status==&lt;br /&gt;
&lt;br /&gt;
===Nov 14, 2010===&lt;br /&gt;
* Latest installer was released at today with version number 1112. Main changes:&lt;br /&gt;
** MADDE updated to commit 14c12d00deb848419b96e5ad5e566d500703c44f. &lt;br /&gt;
*** QEMU IA images updated to latest version.&lt;br /&gt;
** An online installer is included.&lt;br /&gt;
* I did some smoke test with it, while it has not been tested by QA yet. &lt;br /&gt;
&lt;br /&gt;
[[User:Maxayu|Maxayu]] 03:16, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==History status==&lt;br /&gt;
&lt;br /&gt;
Check [[SDK/History Status of MeeGo SDK for Windows]] for more history status.&lt;br /&gt;
&lt;br /&gt;
==How to contribute==&lt;br /&gt;
===Report bugs===&lt;br /&gt;
* URL: http://bugs.meego.com . &lt;br /&gt;
* Product name: MeeGo SDK&lt;br /&gt;
* Bug summary: Please have &amp;quot;[Windows]&amp;quot; in the begining of your bug summary.&lt;br /&gt;
===Update document===&lt;br /&gt;
The current wiki page is the official document for MeeGo SDK for Windows. Feel free to edit it.&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
*Windows XP and Windows 7 are officially supported by MeeGo SDK. MeeGo SDK may work on Windows Vista, but it is not officially supported.&lt;br /&gt;
*MeeGo SDK should be installed to hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable, so they are not supported.&lt;br /&gt;
*Emulator can only work with 32-bit Windows. If you are using 64-bit Windows, you cannot use emulator.&lt;br /&gt;
&lt;br /&gt;
==Known issues and possible workarounds==&lt;br /&gt;
&lt;br /&gt;
* Currently the emulator only works for the IA target.&lt;br /&gt;
* Only one target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot; and one runtime &amp;quot;meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda-runtime&amp;quot; has been tested.&lt;br /&gt;
* All stuff, including targets and runtimes, will be removed if you run the uninstaller of MeeGo SDK.&lt;br /&gt;
* QEMU emulator in the SDK relies on kqemu to provide CPU virtualization support, but so far we found that on some machines (seems to be related to CPU type), the image could not boot up. Below are some information for reference:&lt;br /&gt;
&lt;br /&gt;
- known to work: Intel(R) Core(TM)2 Quad CPU, Q8200; Intel(R) i5 and i7&lt;br /&gt;
&lt;br /&gt;
- known not to work: Intel(R) Core(TM)2 Due P9400 in Thinkpad T400; Intel(R) Core(TM)2 Q9400 in HP7900 Ultra-slim&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;MD5SUM&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://download3.meego.com/MeeGoSDK/1.1/meego-1.1-sdk-beta-online-installer.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows online installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;14MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;0d1f92c90232641f8b638727886e6874&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; http://download3.meego.com/MeeGoSDK/1.1/meego-1.1-sdk-beta-offline-installer.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows offline installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;54MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;be824c3e19e849aa69582689f65eaafa&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;After installation, launch MADDE Terminal with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; MADDE Terminal''.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;ol&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run something like &amp;quot;export http_proxy=XXX&amp;quot; if you are in an intranet.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -f meego-handset-ia32-w32-1.1&amp;quot; to create target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -e -f meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot; to create a runtime &amp;quot;meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Configure Qt Creator to support MeeGo sysroot. Inside Qt Creator, follow these steps:&lt;br /&gt;
    &amp;lt;ol&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;From the ''Tools'' menu, choose ''Options''.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click into the ''Qt4'' section, and make sure the ''Qt Versions'' tab is open.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click the ''+'' button, and then fill the ''Version name'' and the ''qmake location'' of the MeeGo target:&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''Version name:'' '''meego-handset'''&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''qmake location:'' '''&amp;amp;lt;MEEGO_SDK&amp;amp;gt;\MADDE\targets\&amp;amp;lt;target name&amp;amp;gt;\bin\qmake.exe'''&amp;lt;br/&amp;gt;&lt;br /&gt;
          Replace &amp;amp;lt;MEEGO_SDK&amp;amp;gt; with the directory where you installed MeeGo SDK; the default is &amp;lt;code&amp;gt;C:\MeeGoSDK_1.1&amp;lt;/code&amp;gt;; replace &amp;amp;lt;target_name&amp;amp;gt; with the name of the target (for example, '''meego-core-ia32''').&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;Once added, select the new entry and click on the ''Rebuild'' button (bottom right) to build the debugging helper for this Qt version. This enables you to use debugging from Qt Creator.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
The result should look like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-qt4.png|800px]]&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Qt Creator to develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-handset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-sdk-project-setup.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create an emulator runtime for MeeGo''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset-debug.png|800px]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== SSH into QEMU Image ===&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image (step #5 above)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Qt Creator to work with real devices === &lt;br /&gt;
Qt Creator working with QEMU is out of the box, but sometimes we need to work with real device. Here is how: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== How to create QEMU images for Windows==&lt;br /&gt;
The QEMU images for SDK on Linux could be built from the [http://meego.gitorious.org/meego-os-base/image-configurations/trees/MeeGo1.1/SDK kick start file] by using mic-image-creator tool (command to run the mic-image-creator could be found in each ks file). Ideally the images are host platform independent. However, due to the booting time and some other issues with kqemu, minor changes were done on the images obtained from ks file so that they could boot up successfully on Windows. Suppose you have had a raw image, say abc.raw, built from kick start file in hand, below are the changes needed:&lt;br /&gt;
&lt;br /&gt;
1, mount into the image &lt;br /&gt;
 sudo mount -o loop,offset=512 abc.raw /mnt&lt;br /&gt;
2, edit /mnt/usr/sbin/meego-dm to add &amp;quot;sleep 1&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10412 bug #10412: mouse udev not ready ...]&lt;br /&gt;
 sleep 1    # new added line&lt;br /&gt;
 shopt -s execfail&lt;br /&gt;
3, edit /mnt/boot/extlinux/extlinux.conf to add kernel option &amp;quot;intel_idle.max-cstate=0&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10149 bug #10149: Home screen can't show up ...]&lt;br /&gt;
 append ro root=/dev/sda1 vga=current intel_idle.max-cstate=0 quiet&lt;br /&gt;
4, unmount the image&lt;br /&gt;
 sudo umount /mnt&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Windows</id>
		<title>SDK/Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Windows"/>
				<updated>2010-11-29T06:01:08Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Known issues and possible workarounds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note: This page contains instructions on install MeeGo SDK for Windows, and use it to build/deploy/debug apps. MeeGo SDK for Windows has not been released yet, and it is still under development.'''&lt;br /&gt;
&lt;br /&gt;
==Latest status==&lt;br /&gt;
&lt;br /&gt;
===Nov 14, 2010===&lt;br /&gt;
* Latest installer was released at today with version number 1112. Main changes:&lt;br /&gt;
** MADDE updated to commit 14c12d00deb848419b96e5ad5e566d500703c44f. &lt;br /&gt;
*** QEMU IA images updated to latest version.&lt;br /&gt;
** An online installer is included.&lt;br /&gt;
* I did some smoke test with it, while it has not been tested by QA yet. &lt;br /&gt;
&lt;br /&gt;
[[User:Maxayu|Maxayu]] 03:16, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==History status==&lt;br /&gt;
&lt;br /&gt;
Check [[SDK/History Status of MeeGo SDK for Windows]] for more history status.&lt;br /&gt;
&lt;br /&gt;
==How to contribute==&lt;br /&gt;
===Report bugs===&lt;br /&gt;
* URL: http://bugs.meego.com . &lt;br /&gt;
* Product name: MeeGo SDK&lt;br /&gt;
* Bug summary: Please have &amp;quot;[Windows]&amp;quot; in the begining of your bug summary.&lt;br /&gt;
===Update document===&lt;br /&gt;
The current wiki page is the official document for MeeGo SDK for Windows. Feel free to edit it.&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
*Windows XP and Windows 7 are officially supported by MeeGo SDK. MeeGo SDK may work on Windows Vista, but it is not officially supported.&lt;br /&gt;
*MeeGo SDK should be installed to hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable, so they are not supported.&lt;br /&gt;
*Emulator can only work with 32-bit Windows. If you are using 64-bit Windows, you cannot use emulator.&lt;br /&gt;
&lt;br /&gt;
==Known issues and possible workarounds==&lt;br /&gt;
&lt;br /&gt;
* Currently the emulator only works for the IA target.&lt;br /&gt;
* Only one target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot; and one runtime &amp;quot;meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda-runtime&amp;quot; has been tested.&lt;br /&gt;
* All stuff, including targets and runtimes, will be removed if you run the uninstaller of MeeGo SDK.&lt;br /&gt;
* QEMU emulator in the SDK relies on kqemu to provide CPU virtualization support, but so far we found that on some machines (seems to be related to CPU type), the image could not boot up. Below are some information for reference:&lt;br /&gt;
&lt;br /&gt;
    known to work: Intel(R) Core(TM)2 Quad CPU, Q8200; Intel(R) i5 and i7&lt;br /&gt;
&lt;br /&gt;
    known not to work: Intel(R) Core(TM)2 Due P9400 in Thinkpad T400; Intel(R) Core(TM)2 Q9400 in HP7900 Ultra-slim&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;MD5SUM&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://download3.meego.com/MeeGoSDK/1.1/meego-1.1-sdk-beta-online-installer.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows online installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;14MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;0d1f92c90232641f8b638727886e6874&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; http://download3.meego.com/MeeGoSDK/1.1/meego-1.1-sdk-beta-offline-installer.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows offline installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;54MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;be824c3e19e849aa69582689f65eaafa&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;After installation, launch MADDE Terminal with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; MADDE Terminal''.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;ol&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run something like &amp;quot;export http_proxy=XXX&amp;quot; if you are in an intranet.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -f meego-handset-ia32-w32-1.1&amp;quot; to create target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -e -f meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot; to create a runtime &amp;quot;meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Configure Qt Creator to support MeeGo sysroot. Inside Qt Creator, follow these steps:&lt;br /&gt;
    &amp;lt;ol&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;From the ''Tools'' menu, choose ''Options''.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click into the ''Qt4'' section, and make sure the ''Qt Versions'' tab is open.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click the ''+'' button, and then fill the ''Version name'' and the ''qmake location'' of the MeeGo target:&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''Version name:'' '''meego-handset'''&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''qmake location:'' '''&amp;amp;lt;MEEGO_SDK&amp;amp;gt;\MADDE\targets\&amp;amp;lt;target name&amp;amp;gt;\bin\qmake.exe'''&amp;lt;br/&amp;gt;&lt;br /&gt;
          Replace &amp;amp;lt;MEEGO_SDK&amp;amp;gt; with the directory where you installed MeeGo SDK; the default is &amp;lt;code&amp;gt;C:\MeeGoSDK_1.1&amp;lt;/code&amp;gt;; replace &amp;amp;lt;target_name&amp;amp;gt; with the name of the target (for example, '''meego-core-ia32''').&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;Once added, select the new entry and click on the ''Rebuild'' button (bottom right) to build the debugging helper for this Qt version. This enables you to use debugging from Qt Creator.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
The result should look like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-qt4.png|800px]]&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Qt Creator to develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-handset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-sdk-project-setup.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create an emulator runtime for MeeGo''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset-debug.png|800px]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== SSH into QEMU Image ===&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image (step #5 above)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Qt Creator to work with real devices === &lt;br /&gt;
Qt Creator working with QEMU is out of the box, but sometimes we need to work with real device. Here is how: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== How to create QEMU images for Windows==&lt;br /&gt;
The QEMU images for SDK on Linux could be built from the [http://meego.gitorious.org/meego-os-base/image-configurations/trees/MeeGo1.1/SDK kick start file] by using mic-image-creator tool (command to run the mic-image-creator could be found in each ks file). Ideally the images are host platform independent. However, due to the booting time and some other issues with kqemu, minor changes were done on the images obtained from ks file so that they could boot up successfully on Windows. Suppose you have had a raw image, say abc.raw, built from kick start file in hand, below are the changes needed:&lt;br /&gt;
&lt;br /&gt;
1, mount into the image &lt;br /&gt;
 sudo mount -o loop,offset=512 abc.raw /mnt&lt;br /&gt;
2, edit /mnt/usr/sbin/meego-dm to add &amp;quot;sleep 1&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10412 bug #10412: mouse udev not ready ...]&lt;br /&gt;
 sleep 1    # new added line&lt;br /&gt;
 shopt -s execfail&lt;br /&gt;
3, edit /mnt/boot/extlinux/extlinux.conf to add kernel option &amp;quot;intel_idle.max-cstate=0&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10149 bug #10149: Home screen can't show up ...]&lt;br /&gt;
 append ro root=/dev/sda1 vga=current intel_idle.max-cstate=0 quiet&lt;br /&gt;
4, unmount the image&lt;br /&gt;
 sudo umount /mnt&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Windows</id>
		<title>SDK/Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Windows"/>
				<updated>2010-11-24T10:28:26Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* More information about QEMU images used by SDK for windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note: This page contains instructions on install MeeGo SDK for Windows, and use it to build/deploy/debug apps. MeeGo SDK for Windows has not been released yet, and it is still under development.'''&lt;br /&gt;
&lt;br /&gt;
==Latest status==&lt;br /&gt;
&lt;br /&gt;
===Nov 15, 2010===&lt;br /&gt;
&lt;br /&gt;
* Issues to be closed before official release:&lt;br /&gt;
** Go through license process and sign the installer (bug #9346, #9618, owner: Veli)&lt;br /&gt;
&lt;br /&gt;
===Nov 14, 2010===&lt;br /&gt;
* Latest installer was released at today with version number 1112. Main changes:&lt;br /&gt;
** MADDE updated to commit 14c12d00deb848419b96e5ad5e566d500703c44f. &lt;br /&gt;
*** QEMU IA images updated to latest version.&lt;br /&gt;
** An online installer is included.&lt;br /&gt;
* I did some smoke test with it, while it has not been tested by QA yet. &lt;br /&gt;
&lt;br /&gt;
[[User:Maxayu|Maxayu]] 03:16, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==History status==&lt;br /&gt;
&lt;br /&gt;
Check [[SDK/History Status of MeeGo SDK for Windows]] for more history status.&lt;br /&gt;
&lt;br /&gt;
==How to contribute==&lt;br /&gt;
===Report bugs===&lt;br /&gt;
* URL: http://bugs.meego.com . &lt;br /&gt;
* Product name: MeeGo SDK&lt;br /&gt;
* Bug summary: Please have &amp;quot;[Windows]&amp;quot; in the begining of your bug summary.&lt;br /&gt;
===Update document===&lt;br /&gt;
The current wiki page is the official document for MeeGo SDK for Windows. Feel free to edit it.&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
*Windows XP and Windows 7 are officially supported by MeeGo SDK. MeeGo SDK may work on Windows Vista, but it is not officially supported.&lt;br /&gt;
*MeeGo SDK should be installed to hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable, so they are not supported.&lt;br /&gt;
*Emulator can only work with 32-bit Windows. If you are using 64-bit Windows, you cannot use emulator.&lt;br /&gt;
&lt;br /&gt;
==Known issues and possible workarounds==&lt;br /&gt;
&lt;br /&gt;
* Currently the emulator only works for the IA target.&lt;br /&gt;
* Only one target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot; and one runtime &amp;quot;meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda-runtime&amp;quot; has been tested.&lt;br /&gt;
* All stuff, including targets and runtimes, will be removed if you run the uninstaller of MeeGo SDK.&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;MD5SUM&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-online-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows online installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;14MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;39e15eec6a7ef5a46cbf85fa1a733cae&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-offline-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows offline installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;54MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;57862b2edcd2a694e2443b6273c1bc48&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;After installation, launch MADDE Terminal with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; MADDE Terminal''.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;ol&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run something like &amp;quot;export http_proxy=XXX&amp;quot; if you are in an intranet.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -f meego-handset-ia32-w32-1.1&amp;quot; to create target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -e -f meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot; to create a runtime &amp;quot;meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Configure Qt Creator to support MeeGo sysroot. Inside Qt Creator, follow these steps:&lt;br /&gt;
    &amp;lt;ol&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;From the ''Tools'' menu, choose ''Options''.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click into the ''Qt4'' section, and make sure the ''Qt Versions'' tab is open.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click the ''+'' button, and then fill the ''Version name'' and the ''qmake location'' of the MeeGo target:&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''Version name:'' '''meego-handset'''&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''qmake location:'' '''&amp;amp;lt;MEEGO_SDK&amp;amp;gt;\MADDE\targets\&amp;amp;lt;target name&amp;amp;gt;\bin\qmake.exe'''&amp;lt;br/&amp;gt;&lt;br /&gt;
          Replace &amp;amp;lt;MEEGO_SDK&amp;amp;gt; with the directory where you installed MeeGo SDK; the default is &amp;lt;code&amp;gt;C:\MeeGoSDK_1.1&amp;lt;/code&amp;gt;; replace &amp;amp;lt;target_name&amp;amp;gt; with the name of the target (for example, '''meego-core-ia32''').&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;Once added, select the new entry and click on the ''Rebuild'' button (bottom right) to build the debugging helper for this Qt version. This enables you to use debugging from Qt Creator.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
The result should look like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-qt4.png|800px]]&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Qt Creator to develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-handset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-sdk-project-setup.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create an emulator runtime for MeeGo''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset-debug.png|800px]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== SSH into QEMU Image ===&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image (step #5 above)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Qt Creator to work with real devices === &lt;br /&gt;
Qt Creator working with QEMU is out of the box, but sometimes we need to work with real device. Here is how: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== More information about QEMU images used by SDK for windows ==&lt;br /&gt;
The QEMU images for SDK on Linux could be built from the [http://meego.gitorious.org/meego-os-base/image-configurations/trees/MeeGo1.1/SDK kick start file] by using mic-image-creator tool (command to run the mic-image-creator could be found in each ks file). Ideally the images are host platform independent. However, due to the booting time and some other issues with kqemu, minor changes were done on the images obtained from ks file so that they could boot up successfully on Windows. Suppose you have had a raw image, say abc.raw, built from kick start file in hand, below are the changes needed:&lt;br /&gt;
&lt;br /&gt;
1, mount into the image&lt;br /&gt;
 sudo mount -o loop,offset=512 abc.raw /mnt&lt;br /&gt;
2, edit /mnt/usr/sbin/meego-dm to add &amp;quot;sleep 1&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10412 #10412: mouse udev not ready ...]&lt;br /&gt;
 sleep 1    # new added line&lt;br /&gt;
 shopt -s execfail&lt;br /&gt;
3, edit /mnt/boot/extlinux/extlinux.conf to add kernel option &amp;quot;intel_idle.max-cstate=0&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10149 #10149: Home screen can't show up ...]&lt;br /&gt;
 append ro root=/dev/sda1 vga=current intel_idle.max-cstate=0 quiet&lt;br /&gt;
4, unmount the image&lt;br /&gt;
 sudo umount /mnt&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Windows</id>
		<title>SDK/Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Windows"/>
				<updated>2010-11-24T10:28:10Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* More information about QEMU images used by SDK for windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note: This page contains instructions on install MeeGo SDK for Windows, and use it to build/deploy/debug apps. MeeGo SDK for Windows has not been released yet, and it is still under development.'''&lt;br /&gt;
&lt;br /&gt;
==Latest status==&lt;br /&gt;
&lt;br /&gt;
===Nov 15, 2010===&lt;br /&gt;
&lt;br /&gt;
* Issues to be closed before official release:&lt;br /&gt;
** Go through license process and sign the installer (bug #9346, #9618, owner: Veli)&lt;br /&gt;
&lt;br /&gt;
===Nov 14, 2010===&lt;br /&gt;
* Latest installer was released at today with version number 1112. Main changes:&lt;br /&gt;
** MADDE updated to commit 14c12d00deb848419b96e5ad5e566d500703c44f. &lt;br /&gt;
*** QEMU IA images updated to latest version.&lt;br /&gt;
** An online installer is included.&lt;br /&gt;
* I did some smoke test with it, while it has not been tested by QA yet. &lt;br /&gt;
&lt;br /&gt;
[[User:Maxayu|Maxayu]] 03:16, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==History status==&lt;br /&gt;
&lt;br /&gt;
Check [[SDK/History Status of MeeGo SDK for Windows]] for more history status.&lt;br /&gt;
&lt;br /&gt;
==How to contribute==&lt;br /&gt;
===Report bugs===&lt;br /&gt;
* URL: http://bugs.meego.com . &lt;br /&gt;
* Product name: MeeGo SDK&lt;br /&gt;
* Bug summary: Please have &amp;quot;[Windows]&amp;quot; in the begining of your bug summary.&lt;br /&gt;
===Update document===&lt;br /&gt;
The current wiki page is the official document for MeeGo SDK for Windows. Feel free to edit it.&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
*Windows XP and Windows 7 are officially supported by MeeGo SDK. MeeGo SDK may work on Windows Vista, but it is not officially supported.&lt;br /&gt;
*MeeGo SDK should be installed to hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable, so they are not supported.&lt;br /&gt;
*Emulator can only work with 32-bit Windows. If you are using 64-bit Windows, you cannot use emulator.&lt;br /&gt;
&lt;br /&gt;
==Known issues and possible workarounds==&lt;br /&gt;
&lt;br /&gt;
* Currently the emulator only works for the IA target.&lt;br /&gt;
* Only one target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot; and one runtime &amp;quot;meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda-runtime&amp;quot; has been tested.&lt;br /&gt;
* All stuff, including targets and runtimes, will be removed if you run the uninstaller of MeeGo SDK.&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;MD5SUM&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-online-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows online installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;14MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;39e15eec6a7ef5a46cbf85fa1a733cae&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-offline-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows offline installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;54MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;57862b2edcd2a694e2443b6273c1bc48&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;After installation, launch MADDE Terminal with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; MADDE Terminal''.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;ol&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run something like &amp;quot;export http_proxy=XXX&amp;quot; if you are in an intranet.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -f meego-handset-ia32-w32-1.1&amp;quot; to create target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -e -f meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot; to create a runtime &amp;quot;meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Configure Qt Creator to support MeeGo sysroot. Inside Qt Creator, follow these steps:&lt;br /&gt;
    &amp;lt;ol&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;From the ''Tools'' menu, choose ''Options''.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click into the ''Qt4'' section, and make sure the ''Qt Versions'' tab is open.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click the ''+'' button, and then fill the ''Version name'' and the ''qmake location'' of the MeeGo target:&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''Version name:'' '''meego-handset'''&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''qmake location:'' '''&amp;amp;lt;MEEGO_SDK&amp;amp;gt;\MADDE\targets\&amp;amp;lt;target name&amp;amp;gt;\bin\qmake.exe'''&amp;lt;br/&amp;gt;&lt;br /&gt;
          Replace &amp;amp;lt;MEEGO_SDK&amp;amp;gt; with the directory where you installed MeeGo SDK; the default is &amp;lt;code&amp;gt;C:\MeeGoSDK_1.1&amp;lt;/code&amp;gt;; replace &amp;amp;lt;target_name&amp;amp;gt; with the name of the target (for example, '''meego-core-ia32''').&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;Once added, select the new entry and click on the ''Rebuild'' button (bottom right) to build the debugging helper for this Qt version. This enables you to use debugging from Qt Creator.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
The result should look like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-qt4.png|800px]]&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Qt Creator to develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-handset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-sdk-project-setup.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create an emulator runtime for MeeGo''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset-debug.png|800px]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== SSH into QEMU Image ===&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image (step #5 above)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Qt Creator to work with real devices === &lt;br /&gt;
Qt Creator working with QEMU is out of the box, but sometimes we need to work with real device. Here is how: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== More information about QEMU images used by SDK for windows ==&lt;br /&gt;
The QEMU images for SDK on Linux could be built from the [http://meego.gitorious.org/meego-os-base/image-configurations/trees/MeeGo1.1/SDK kick start file] by using mic-image-creator tool (command to run the mic-image-creator could be found in each ks file). Ideally the images are host platform independent, however, due to the booting time and some other issues with kqemu, minor changes were done on the images obtained from ks file so that they could boot up successfully on Windows. Suppose you have had a raw image, say abc.raw, built from kick start file in hand, below are the changes needed:&lt;br /&gt;
&lt;br /&gt;
1, mount into the image&lt;br /&gt;
 sudo mount -o loop,offset=512 abc.raw /mnt&lt;br /&gt;
2, edit /mnt/usr/sbin/meego-dm to add &amp;quot;sleep 1&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10412 #10412: mouse udev not ready ...]&lt;br /&gt;
 sleep 1    # new added line&lt;br /&gt;
 shopt -s execfail&lt;br /&gt;
3, edit /mnt/boot/extlinux/extlinux.conf to add kernel option &amp;quot;intel_idle.max-cstate=0&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10149 #10149: Home screen can't show up ...]&lt;br /&gt;
 append ro root=/dev/sda1 vga=current intel_idle.max-cstate=0 quiet&lt;br /&gt;
4, unmount the image&lt;br /&gt;
 sudo umount /mnt&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Windows</id>
		<title>SDK/Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Windows"/>
				<updated>2010-11-24T10:21:36Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* More information about QEMU images used by SDK for windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note: This page contains instructions on install MeeGo SDK for Windows, and use it to build/deploy/debug apps. MeeGo SDK for Windows has not been released yet, and it is still under development.'''&lt;br /&gt;
&lt;br /&gt;
==Latest status==&lt;br /&gt;
&lt;br /&gt;
===Nov 15, 2010===&lt;br /&gt;
&lt;br /&gt;
* Issues to be closed before official release:&lt;br /&gt;
** Go through license process and sign the installer (bug #9346, #9618, owner: Veli)&lt;br /&gt;
&lt;br /&gt;
===Nov 14, 2010===&lt;br /&gt;
* Latest installer was released at today with version number 1112. Main changes:&lt;br /&gt;
** MADDE updated to commit 14c12d00deb848419b96e5ad5e566d500703c44f. &lt;br /&gt;
*** QEMU IA images updated to latest version.&lt;br /&gt;
** An online installer is included.&lt;br /&gt;
* I did some smoke test with it, while it has not been tested by QA yet. &lt;br /&gt;
&lt;br /&gt;
[[User:Maxayu|Maxayu]] 03:16, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==History status==&lt;br /&gt;
&lt;br /&gt;
Check [[SDK/History Status of MeeGo SDK for Windows]] for more history status.&lt;br /&gt;
&lt;br /&gt;
==How to contribute==&lt;br /&gt;
===Report bugs===&lt;br /&gt;
* URL: http://bugs.meego.com . &lt;br /&gt;
* Product name: MeeGo SDK&lt;br /&gt;
* Bug summary: Please have &amp;quot;[Windows]&amp;quot; in the begining of your bug summary.&lt;br /&gt;
===Update document===&lt;br /&gt;
The current wiki page is the official document for MeeGo SDK for Windows. Feel free to edit it.&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
*Windows XP and Windows 7 are officially supported by MeeGo SDK. MeeGo SDK may work on Windows Vista, but it is not officially supported.&lt;br /&gt;
*MeeGo SDK should be installed to hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable, so they are not supported.&lt;br /&gt;
*Emulator can only work with 32-bit Windows. If you are using 64-bit Windows, you cannot use emulator.&lt;br /&gt;
&lt;br /&gt;
==Known issues and possible workarounds==&lt;br /&gt;
&lt;br /&gt;
* Currently the emulator only works for the IA target.&lt;br /&gt;
* Only one target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot; and one runtime &amp;quot;meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda-runtime&amp;quot; has been tested.&lt;br /&gt;
* All stuff, including targets and runtimes, will be removed if you run the uninstaller of MeeGo SDK.&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;MD5SUM&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-online-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows online installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;14MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;39e15eec6a7ef5a46cbf85fa1a733cae&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-offline-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows offline installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;54MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;57862b2edcd2a694e2443b6273c1bc48&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;After installation, launch MADDE Terminal with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; MADDE Terminal''.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;ol&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run something like &amp;quot;export http_proxy=XXX&amp;quot; if you are in an intranet.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -f meego-handset-ia32-w32-1.1&amp;quot; to create target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -e -f meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot; to create a runtime &amp;quot;meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Configure Qt Creator to support MeeGo sysroot. Inside Qt Creator, follow these steps:&lt;br /&gt;
    &amp;lt;ol&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;From the ''Tools'' menu, choose ''Options''.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click into the ''Qt4'' section, and make sure the ''Qt Versions'' tab is open.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click the ''+'' button, and then fill the ''Version name'' and the ''qmake location'' of the MeeGo target:&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''Version name:'' '''meego-handset'''&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''qmake location:'' '''&amp;amp;lt;MEEGO_SDK&amp;amp;gt;\MADDE\targets\&amp;amp;lt;target name&amp;amp;gt;\bin\qmake.exe'''&amp;lt;br/&amp;gt;&lt;br /&gt;
          Replace &amp;amp;lt;MEEGO_SDK&amp;amp;gt; with the directory where you installed MeeGo SDK; the default is &amp;lt;code&amp;gt;C:\MeeGoSDK_1.1&amp;lt;/code&amp;gt;; replace &amp;amp;lt;target_name&amp;amp;gt; with the name of the target (for example, '''meego-core-ia32''').&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;Once added, select the new entry and click on the ''Rebuild'' button (bottom right) to build the debugging helper for this Qt version. This enables you to use debugging from Qt Creator.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
The result should look like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-qt4.png|800px]]&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Qt Creator to develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-handset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-sdk-project-setup.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create an emulator runtime for MeeGo''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset-debug.png|800px]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== SSH into QEMU Image ===&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image (step #5 above)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Qt Creator to work with real devices === &lt;br /&gt;
Qt Creator working with QEMU is out of the box, but sometimes we need to work with real device. Here is how: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== More information about QEMU images used by SDK for windows ==&lt;br /&gt;
The QEMU images for SDK on Linux could be built from the [http://meego.gitorious.org/meego-os-base/image-configurations/trees/MeeGo1.1/SDK kick start file] by using mic-image-creator tool (command to run the mic-image-creator could be found in each ks file). Ideally the images are host platform independent, however, due to the booting time and some other issues with kqemu, minor changes were done on the images obtained from ks file so that they could boot up successfully on Windows. Suppose you have had a raw image, say abc.raw, built from kick start file in hand, below are the changes needed:&lt;br /&gt;
&lt;br /&gt;
1, mount into the image&lt;br /&gt;
 sudo mount -o loop,offset=512 abc.raw /mnt&lt;br /&gt;
2, edit usr/sbin/meego-dm to add &amp;quot;sleep 1&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10412 #10412: mouse udev not ready ...]&lt;br /&gt;
 sleep 1    # new added line&lt;br /&gt;
 shopt -s execfail&lt;br /&gt;
3, edit boot/extlinux/extlinux.conf to add kernel option &amp;quot;intel_idle.max-cstate=0&amp;quot; to solve [http://bugs.meego.com/show_bug.cgi?id=10149 #10149: Home screen can't show up ...]&lt;br /&gt;
 append ro root=/dev/sda1 vga=current intel_idle.max-cstate=0 quiet&lt;br /&gt;
4, unmount the image&lt;br /&gt;
 sudo umount /mnt&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Windows</id>
		<title>SDK/Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Windows"/>
				<updated>2010-11-24T10:16:03Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* More information about QEMU images used by SDK for windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note: This page contains instructions on install MeeGo SDK for Windows, and use it to build/deploy/debug apps. MeeGo SDK for Windows has not been released yet, and it is still under development.'''&lt;br /&gt;
&lt;br /&gt;
==Latest status==&lt;br /&gt;
&lt;br /&gt;
===Nov 15, 2010===&lt;br /&gt;
&lt;br /&gt;
* Issues to be closed before official release:&lt;br /&gt;
** Go through license process and sign the installer (bug #9346, #9618, owner: Veli)&lt;br /&gt;
&lt;br /&gt;
===Nov 14, 2010===&lt;br /&gt;
* Latest installer was released at today with version number 1112. Main changes:&lt;br /&gt;
** MADDE updated to commit 14c12d00deb848419b96e5ad5e566d500703c44f. &lt;br /&gt;
*** QEMU IA images updated to latest version.&lt;br /&gt;
** An online installer is included.&lt;br /&gt;
* I did some smoke test with it, while it has not been tested by QA yet. &lt;br /&gt;
&lt;br /&gt;
[[User:Maxayu|Maxayu]] 03:16, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==History status==&lt;br /&gt;
&lt;br /&gt;
Check [[SDK/History Status of MeeGo SDK for Windows]] for more history status.&lt;br /&gt;
&lt;br /&gt;
==How to contribute==&lt;br /&gt;
===Report bugs===&lt;br /&gt;
* URL: http://bugs.meego.com . &lt;br /&gt;
* Product name: MeeGo SDK&lt;br /&gt;
* Bug summary: Please have &amp;quot;[Windows]&amp;quot; in the begining of your bug summary.&lt;br /&gt;
===Update document===&lt;br /&gt;
The current wiki page is the official document for MeeGo SDK for Windows. Feel free to edit it.&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
*Windows XP and Windows 7 are officially supported by MeeGo SDK. MeeGo SDK may work on Windows Vista, but it is not officially supported.&lt;br /&gt;
*MeeGo SDK should be installed to hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable, so they are not supported.&lt;br /&gt;
*Emulator can only work with 32-bit Windows. If you are using 64-bit Windows, you cannot use emulator.&lt;br /&gt;
&lt;br /&gt;
==Known issues and possible workarounds==&lt;br /&gt;
&lt;br /&gt;
* Currently the emulator only works for the IA target.&lt;br /&gt;
* Only one target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot; and one runtime &amp;quot;meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda-runtime&amp;quot; has been tested.&lt;br /&gt;
* All stuff, including targets and runtimes, will be removed if you run the uninstaller of MeeGo SDK.&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;MD5SUM&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-online-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows online installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;14MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;39e15eec6a7ef5a46cbf85fa1a733cae&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-offline-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows offline installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;54MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;57862b2edcd2a694e2443b6273c1bc48&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;After installation, launch MADDE Terminal with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; MADDE Terminal''.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;ol&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run something like &amp;quot;export http_proxy=XXX&amp;quot; if you are in an intranet.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -f meego-handset-ia32-w32-1.1&amp;quot; to create target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -e -f meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot; to create a runtime &amp;quot;meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Configure Qt Creator to support MeeGo sysroot. Inside Qt Creator, follow these steps:&lt;br /&gt;
    &amp;lt;ol&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;From the ''Tools'' menu, choose ''Options''.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click into the ''Qt4'' section, and make sure the ''Qt Versions'' tab is open.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click the ''+'' button, and then fill the ''Version name'' and the ''qmake location'' of the MeeGo target:&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''Version name:'' '''meego-handset'''&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''qmake location:'' '''&amp;amp;lt;MEEGO_SDK&amp;amp;gt;\MADDE\targets\&amp;amp;lt;target name&amp;amp;gt;\bin\qmake.exe'''&amp;lt;br/&amp;gt;&lt;br /&gt;
          Replace &amp;amp;lt;MEEGO_SDK&amp;amp;gt; with the directory where you installed MeeGo SDK; the default is &amp;lt;code&amp;gt;C:\MeeGoSDK_1.1&amp;lt;/code&amp;gt;; replace &amp;amp;lt;target_name&amp;amp;gt; with the name of the target (for example, '''meego-core-ia32''').&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;Once added, select the new entry and click on the ''Rebuild'' button (bottom right) to build the debugging helper for this Qt version. This enables you to use debugging from Qt Creator.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
The result should look like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-qt4.png|800px]]&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Qt Creator to develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-handset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-sdk-project-setup.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create an emulator runtime for MeeGo''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset-debug.png|800px]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== SSH into QEMU Image ===&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image (step #5 above)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Qt Creator to work with real devices === &lt;br /&gt;
Qt Creator working with QEMU is out of the box, but sometimes we need to work with real device. Here is how: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== More information about QEMU images used by SDK for windows ==&lt;br /&gt;
The QEMU images for SDK on Linux could be built from the ks file in http://meego.gitorious.org/meego-os-base/image-configurations/trees/MeeGo1.1/SDK, by using mic-image-creator tool (command to run the mic-image-creator could be found in each ks file). Ideally the images are host platform independent, however, due to the booting time and some other issues with kqemu, minor changes were done on the images obtained from ks file so that they could boot up successfully on Windows. Suppose you have had a raw image, say abc.raw, built from kick start file in hand, below are the changes needed:&lt;br /&gt;
&lt;br /&gt;
1, mount into the image&lt;br /&gt;
 sudo mount -o loop,offset=512 abc.raw /mnt&lt;br /&gt;
2, edit usr/sbin/meego-dm to add &amp;quot;sleep 1&amp;quot; to solve http://bugs.meego.com/show_bug.cgi?id=10412&lt;br /&gt;
 sleep 1    # new added line&lt;br /&gt;
 shopt -s execfail&lt;br /&gt;
3, edit boot/extlinux/extlinux.conf to add kernel option &amp;quot;intel_idle.max-cstate=0&amp;quot; to solve http://bugs.meego.com/show_bug.cgi?id=10149&lt;br /&gt;
 append ro root=/dev/sda1 vga=current intel_idle.max-cstate=0 quiet&lt;br /&gt;
4, unmount the image&lt;br /&gt;
 sudo umount /mnt&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Windows</id>
		<title>SDK/Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Windows"/>
				<updated>2010-11-24T10:06:03Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Use Qt Creator to develop MeeGo Applications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note: This page contains instructions on install MeeGo SDK for Windows, and use it to build/deploy/debug apps. MeeGo SDK for Windows has not been released yet, and it is still under development.'''&lt;br /&gt;
&lt;br /&gt;
==Latest status==&lt;br /&gt;
&lt;br /&gt;
===Nov 15, 2010===&lt;br /&gt;
&lt;br /&gt;
* Issues to be closed before official release:&lt;br /&gt;
** Go through license process and sign the installer (bug #9346, #9618, owner: Veli)&lt;br /&gt;
&lt;br /&gt;
===Nov 14, 2010===&lt;br /&gt;
* Latest installer was released at today with version number 1112. Main changes:&lt;br /&gt;
** MADDE updated to commit 14c12d00deb848419b96e5ad5e566d500703c44f. &lt;br /&gt;
*** QEMU IA images updated to latest version.&lt;br /&gt;
** An online installer is included.&lt;br /&gt;
* I did some smoke test with it, while it has not been tested by QA yet. &lt;br /&gt;
&lt;br /&gt;
[[User:Maxayu|Maxayu]] 03:16, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==History status==&lt;br /&gt;
&lt;br /&gt;
Check [[SDK/History Status of MeeGo SDK for Windows]] for more history status.&lt;br /&gt;
&lt;br /&gt;
==How to contribute==&lt;br /&gt;
===Report bugs===&lt;br /&gt;
* URL: http://bugs.meego.com . &lt;br /&gt;
* Product name: MeeGo SDK&lt;br /&gt;
* Bug summary: Please have &amp;quot;[Windows]&amp;quot; in the begining of your bug summary.&lt;br /&gt;
===Update document===&lt;br /&gt;
The current wiki page is the official document for MeeGo SDK for Windows. Feel free to edit it.&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
*Windows XP and Windows 7 are officially supported by MeeGo SDK. MeeGo SDK may work on Windows Vista, but it is not officially supported.&lt;br /&gt;
*MeeGo SDK should be installed to hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable, so they are not supported.&lt;br /&gt;
*Emulator can only work with 32-bit Windows. If you are using 64-bit Windows, you cannot use emulator.&lt;br /&gt;
&lt;br /&gt;
==Known issues and possible workarounds==&lt;br /&gt;
&lt;br /&gt;
* Currently the emulator only works for the IA target.&lt;br /&gt;
* Only one target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot; and one runtime &amp;quot;meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda-runtime&amp;quot; has been tested.&lt;br /&gt;
* All stuff, including targets and runtimes, will be removed if you run the uninstaller of MeeGo SDK.&lt;br /&gt;
&lt;br /&gt;
== Download and setup the MeeGo SDK ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;Download the MeeGo SDK installer:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;table border='1' cellpadding='3px' style=&amp;quot;padding: 0em&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Size&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;MD5SUM&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-online-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows online installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;14MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;39e15eec6a7ef5a46cbf85fa1a733cae&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; http://download3.meego.com/MeeGoSDK/meego-1.1-sdk-offline-installer-1119-2.exe&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;MeeGo SDK Windows offline installer&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;54MB&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;57862b2edcd2a694e2443b6273c1bc48&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double-click on the downloaded &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; file and follow the prompts to install the SDK.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;After installation, launch MADDE Terminal with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; MADDE Terminal''.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;ol&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run something like &amp;quot;export http_proxy=XXX&amp;quot; if you are in an intranet.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -f meego-handset-ia32-w32-1.1&amp;quot; to create target &amp;quot;meego-handset-ia32-w32-1.1&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Run &amp;quot;mad-admin create -e -f meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot; to create a runtime &amp;quot;meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime&amp;quot;. Some huge files will be downloaded automatically.&amp;lt;/li&amp;gt;&lt;br /&gt;
     &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Launch Qt Creator with ''Start &amp;gt; All Programs &amp;gt; MeeGo SDK &amp;gt; QtCreator''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Configure Qt Creator to support MeeGo sysroot. Inside Qt Creator, follow these steps:&lt;br /&gt;
    &amp;lt;ol&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;From the ''Tools'' menu, choose ''Options''.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click into the ''Qt4'' section, and make sure the ''Qt Versions'' tab is open.&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Click the ''+'' button, and then fill the ''Version name'' and the ''qmake location'' of the MeeGo target:&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''Version name:'' '''meego-handset'''&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;''qmake location:'' '''&amp;amp;lt;MEEGO_SDK&amp;amp;gt;\MADDE\targets\&amp;amp;lt;target name&amp;amp;gt;\bin\qmake.exe'''&amp;lt;br/&amp;gt;&lt;br /&gt;
          Replace &amp;amp;lt;MEEGO_SDK&amp;amp;gt; with the directory where you installed MeeGo SDK; the default is &amp;lt;code&amp;gt;C:\MeeGoSDK_1.1&amp;lt;/code&amp;gt;; replace &amp;amp;lt;target_name&amp;amp;gt; with the name of the target (for example, '''meego-core-ia32''').&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;Once added, select the new entry and click on the ''Rebuild'' button (bottom right) to build the debugging helper for this Qt version. This enables you to use debugging from Qt Creator.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
The result should look like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-qt4.png|800px]]&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Qt Creator to develop MeeGo Applications ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create a MeeGo touch project (for handset) or Qt Gui project (for netbook) ''' &amp;lt;/li&amp;gt;&lt;br /&gt;
Go to the menu: File -&amp;gt; New File or Project -&amp;gt; Qt Application Project -&amp;gt; Meego Touch Framework Application. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Windows_sdk_2.png]]&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Project setup&amp;quot; dialog, choose &amp;quot;meego-handset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-sdk-project-setup.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system'''&amp;lt;/li&amp;gt;&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit Windows. 64-bit Windows could not work with kqemu. You can not use emulator on 64-bit Windows. Use real device instead.&lt;br /&gt;
&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For Windows XP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually. Select ''Start &amp;gt; All Programs &amp;gt; Accessories'', click right mouse button over ''Command Prompt'', and select &amp;quot;Run as administrator&amp;quot;. In Command Prompt, run the following command:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
You need to start kqemu again after you reboot the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Create an emulator runtime for MeeGo''' &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get to the menu: Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations. Click &amp;quot;Add&amp;quot; button to add a runtime for emulator. Set &amp;quot;Device type&amp;quot; to &amp;quot;MeeGo emulator&amp;quot;; set &amp;quot;Authentication type&amp;quot; to &amp;quot;Password&amp;quot;; set &amp;quot;Username&amp;quot; to &amp;quot;root&amp;quot;; set &amp;quot;Password&amp;quot; to &amp;quot;meego&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-emulator.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Set Run Configuration''' &amp;lt;/li&amp;gt; &lt;br /&gt;
Click &amp;quot;Projects&amp;quot; again on the left side.  Select &amp;quot;Run&amp;quot; in the MeeGo Build/Run box at the top.  Make sure that the &amp;quot;Device configuration&amp;quot; is set to &amp;quot;MeeGo Emulator&amp;quot;.  This will ensure that QEMU is started when you run your application.  You can now launch the QEMU MeeGo emulator.  Click the &amp;quot;Start Meego emulator&amp;quot; icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Build, run and deploy the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
After QEMU starts, click the &amp;quot;Run&amp;quot; icon to run your application. Qt Creator will package and deploy your application to QEMU and start it on the target. You can see the window of your application in QEMU.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; '''Debug the application'''&amp;lt;/li&amp;gt;&lt;br /&gt;
You can also debug the application by clicking the &amp;quot;Debug&amp;quot; icon. Setting breakpoints and stepping are the same as local applications.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Qemu-handset-debug.png|800px]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== SSH into QEMU Image ===&lt;br /&gt;
Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Launch QEMU with MeeGo image (step #5 above)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From a terminal on the host, connect to the running image&amp;lt;/li&amp;gt;&lt;br /&gt;
 $ ssh meego@127.0.0.1 -p 6666&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Two user accounts are available in the MeeGo images:&amp;lt;br&amp;gt;&lt;br /&gt;
User: meego Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
User: root    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Password: meego&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Qt Creator to work with real devices === &lt;br /&gt;
Qt Creator working with QEMU is out of the box, but sometimes we need to work with real device. Here is how: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Go to Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; MeeGo Device Configurations and click &amp;quot;Add&amp;quot; button. Select &amp;quot;Remote Device&amp;quot; for &amp;quot;Device type&amp;quot;, input other information and give a name for this configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Open your project and in the &amp;quot;Projects&amp;quot; mode, click &amp;quot;Run&amp;quot; in the little MeeGo target window, and select the configuration you just created in &amp;quot;Device Configuration&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:Meego-sdk-run-settings-real-device.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Launch terminal inside the device, and run command &amp;quot;xhost +&amp;quot; in it. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &amp;quot;Run&amp;quot; or &amp;quot;Debug&amp;quot; on the lower left corner of Qt Creator to run or debug your application on the configured Device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== More information about QEMU images used by SDK for windows ==&lt;br /&gt;
The QEMU images for SDK on Linux could be built from the ks file in http://meego.gitorious.org/meego-os-base/image-configurations/trees/MeeGo1.1/SDK, by using mic-image-creator tool (command to run the mic-image-creator could be found in each ks file). Ideally the images are host platform independent, however, due to the booting time and some other issues with kqemu, minor changes were done on the images obtained from ks file so that they could boot up successfully on Windows. Suppose you have had a raw image, say abc.raw, built from kick start file in hand, below are the changes needed:&lt;br /&gt;
&lt;br /&gt;
1, mount into the image&lt;br /&gt;
 sudo mount -o loop,offset=512 abc.raw /mnt&lt;br /&gt;
2, edit usr/sbin/meego-dm to add &amp;quot;sleep 1&amp;quot; so that mouse udev could be ready before X server starting up.&lt;br /&gt;
 sleep 1    # new added line&lt;br /&gt;
 shopt -s execfail&lt;br /&gt;
3, edit boot/extlinux/extlinux.conf to add kernel option &amp;quot;intel_idle.max-cstate=0&amp;quot; to solve http://bugs.meego.com/show_bug.cgi?id=10149&lt;br /&gt;
 append ro root=/dev/sda1 vga=current intel_idle.max-cstate=0 quiet&lt;br /&gt;
4, unmount the image&lt;br /&gt;
 sudo umount /mnt&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools</id>
		<title>SDK/Docs/1.1/Building QEMU Tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools"/>
				<updated>2010-11-22T10:35:17Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Build QEMUGL from source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Meego-1.1]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build the MeeGo SDK QEMU tools from source, including QEMU binary, patched kernel module, and stub libGL.&lt;br /&gt;
&lt;br /&gt;
It also covers how to convert stock MeeGo images for use with QEMU.&lt;br /&gt;
&lt;br /&gt;
Together, the QEMU tools and a modified image can be used as a [[SDK/Docs/1.1/Creating_Hello_World#Configuring_device_access_in_Qt_Creator|deployment target]] for Qt Creator.&lt;br /&gt;
&lt;br /&gt;
== Build QEMUGL from source ==&lt;br /&gt;
&lt;br /&gt;
'''An alternative to building from source is to install the qemu-gl and/or qemu-arm packages from one of the repositories at http://repo.meego.com/MeeGo/sdk/host/repos/'''&lt;br /&gt;
&lt;br /&gt;
To install on a 64bit system, see [http://wiki.meego.com/MeeGo_SDK_with_QEMU#Installing_qemugl_on_64-bit_ubuntu_10.04 these instructions] (community-maintained).&lt;br /&gt;
&lt;br /&gt;
'''If you still prefer to build QEMUGL from sources, proceed with these steps:'''&lt;br /&gt;
&lt;br /&gt;
Checkout the QEMU GL source code (this is basically QEMU with some patches to enable GL acceleration):&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-qemugl-x86.git&lt;br /&gt;
&lt;br /&gt;
Checkout the qemu-gl branch:&lt;br /&gt;
&lt;br /&gt;
 cd meego-emulator-qemugl-x86&lt;br /&gt;
 git checkout -b meego-emulator --track origin/meego-emulator&lt;br /&gt;
&lt;br /&gt;
Make sure that there is KVM enabled and that the following libraries (development package) are installed on the host machine:&lt;br /&gt;
&lt;br /&gt;
* zlib&lt;br /&gt;
* libSDL&lt;br /&gt;
* Xcomposite.&lt;br /&gt;
&lt;br /&gt;
Configure qemugl:&lt;br /&gt;
&lt;br /&gt;
 ./configure --target-list=i386-softmmu --enable-gl --enable-skinning&lt;br /&gt;
&lt;br /&gt;
Check the output from &amp;lt;code&amp;gt;configure&amp;lt;/code&amp;gt; contains the strings below:&lt;br /&gt;
&lt;br /&gt;
 SDL support   yes&lt;br /&gt;
 ......&lt;br /&gt;
 KVM support   yes&lt;br /&gt;
&lt;br /&gt;
Build qemugl:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
This installs various QEMU binaries (default prefix is &amp;lt;code&amp;gt;/usr/local&amp;lt;/code&amp;gt;), including &amp;lt;code&amp;gt;qemugl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; used in this tutorial.&lt;br /&gt;
&lt;br /&gt;
== Create netbook image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
This section explains how to make a standard MeeGo netbook image run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
=== Install MeeGo netbook to QEMU raw disk image ===&lt;br /&gt;
&lt;br /&gt;
Create raw image file for MeeGo to install on. The &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; command is part of the [[#Build_QEMUGL_from_source|QEMU build]]:&lt;br /&gt;
 qemu-img create -f raw meego-netbook.raw 3.5G&lt;br /&gt;
&lt;br /&gt;
Install MeeGo to the raw hard disk, using the downloaded .img file as the installation CDROM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -boot d -hda meego-netbook.raw \&lt;br /&gt;
-cdrom meego-netbook-ia32-1.1.80.1.20101012.1.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boot into the image:&lt;br /&gt;
 qemugl -m 1024 -vga std -boot c -hda meego-netbook.raw&lt;br /&gt;
&lt;br /&gt;
Go through the installation steps to set up a meego user. The password you set here is also used as the root password, which we'll use below.&lt;br /&gt;
&lt;br /&gt;
Note: occasionally I've halted the system before the meego user is setup. When I then try to boot into the UX, it fails because the user is missing. In this case, you can manually create the user from a root prompt (inside the QEMU image) with:&lt;br /&gt;
 useradd -d /home/meego -M -s /bin/bash meego&lt;br /&gt;
&lt;br /&gt;
Halt the system.&lt;br /&gt;
&lt;br /&gt;
Now boot it again (this time with networking enabled; type the command below, press return, then press tab like crazy so you can get to the boot menu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 \&lt;br /&gt;
-boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, edit the kernel command line on the boot menu screen so it looks like this:&lt;br /&gt;
 vmlinuz-2.6.35.3-8.5-netbook ro root=/dev/sda2 vga=current s&lt;br /&gt;
&lt;br /&gt;
This will get you a root prompt.&lt;br /&gt;
&lt;br /&gt;
=== Install and start openssh server ===&lt;br /&gt;
&lt;br /&gt;
Then install ssh server (this makes the following steps easier, as you can cut and paste into the ssh prompt):&lt;br /&gt;
 zypper install openssh-server&lt;br /&gt;
 chkconfig --add sshd&lt;br /&gt;
 /etc/init.d/sshd start&lt;br /&gt;
&lt;br /&gt;
Use can now use ssh to login to the image with:&lt;br /&gt;
&lt;br /&gt;
 ssh -p 6666 root@127.0.0.1&lt;br /&gt;
&lt;br /&gt;
(password is the same as you entered for your normal user when configuring the system)&lt;br /&gt;
&lt;br /&gt;
=== Set suid bit on Xorg binary ===&lt;br /&gt;
&lt;br /&gt;
Once logged in over ssh, set suid on the Xorg binary (so a normal user can start X):&lt;br /&gt;
&lt;br /&gt;
 chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
=== Install packages from the SDK repo ===&lt;br /&gt;
&lt;br /&gt;
Then install the SDK addons. First, add the MeeGo SDK repo:&lt;br /&gt;
&lt;br /&gt;
 zypper addrepo http://repo.meego.com/MeeGo/sdk/target/repos/meego/1.1/ meego-sdk&lt;br /&gt;
&lt;br /&gt;
(you will need to use the '''trunk''' repo if you are using a trunk netbook image)&lt;br /&gt;
&lt;br /&gt;
'''Another alternative is to [[#Manually build packages for an image running under QEMU GL|manually build the addons, kernel and virtiogl module in a chroot]], then install them into the image.'''&lt;br /&gt;
&lt;br /&gt;
==== Install QEMU addons ====&lt;br /&gt;
&lt;br /&gt;
Install the qemugl addon package into the image:&lt;br /&gt;
&lt;br /&gt;
 zypper install meego-sdk-qemugl-addon-netbook&lt;br /&gt;
&lt;br /&gt;
==== Install kernel and virtiogl module ====&lt;br /&gt;
&lt;br /&gt;
Install virtiogl module for kernel:&lt;br /&gt;
&lt;br /&gt;
 zypper install kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Right now above package only supports kernel version of 2.6.35. If you need to build the SDK addons or a kernel and its modules, [[#Manually build packages for an image running under QEMU GL|instructions are given below]].&lt;br /&gt;
&lt;br /&gt;
=== Run the image under QEMU with GL acceleration ===&lt;br /&gt;
&lt;br /&gt;
The image should now be ready. It can be started in QEMU with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -enable-kvm \&lt;br /&gt;
-vga std -enable-gl -device virtio-gl-pci -boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you should still be able to ssh to this image as above.&lt;br /&gt;
&lt;br /&gt;
== Create handset image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
If you have a handset image downloaded, follow these instructions to enable it to run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
You will need to install '''kpartx''' if you don't have it already:&lt;br /&gt;
 $ sudo yum install kpartx&lt;br /&gt;
(or whatever the equivalent is for your distro).&lt;br /&gt;
&lt;br /&gt;
Download a handset IA32 image (e.g. http://repo.meego.com/MeeGo/builds/trunk/1.1.80.4.20101029.1/handset/images/meego-handset-ia32-mtf/meego-handset-ia32-mtf-1.1.80.4.20101029.1-sda.bin.bz2), and unpack the file:&lt;br /&gt;
 $ bunzip2 meego-handset-ia32-mtf-1.1-sda.bin.bz2&lt;br /&gt;
(Note that this procedure should work for other sda-bin images from http://repo.meego.com/MeeGo/builds/ too.)&lt;br /&gt;
&lt;br /&gt;
A useful shortcut is to define a variable for the path to the image first; this can then be used to make later commands simpler:&lt;br /&gt;
 $ IMAGE=~/images/meego-handset-ia32-mtf-1.1-sda.bin&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt; to map the partitions in the disk image onto devices, which can then be mounted onto directories:&lt;br /&gt;
 $ sudo kpartx -a -v $IMAGE&lt;br /&gt;
 add map loop0p1 (253:4): 0 3320312 linear /dev/loop0 1&lt;br /&gt;
&lt;br /&gt;
The output of &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt; indicates the loop device mapped to the partition; in this case, &amp;lt;code&amp;gt;loop0p1&amp;lt;/code&amp;gt;. The device we want to mount is determined by prefixing this map with &amp;lt;code&amp;gt;/dev/mapper&amp;lt;/code&amp;gt;, i.e.:&lt;br /&gt;
 /dev/mapper/loop0p1&lt;br /&gt;
&lt;br /&gt;
We also need to note the device which this image has been mapped across; in this case, &amp;lt;code&amp;gt;/dev/loop0&amp;lt;/code&amp;gt;. This will be used later to make the image bootable.&lt;br /&gt;
&lt;br /&gt;
You can then mount this on a directory:&lt;br /&gt;
 $ mkdir /tmp/handset&lt;br /&gt;
 $ sudo mount -t ext3 /dev/mapper/loop0p1 /tmp/handset&lt;br /&gt;
'''Attention''': on Ubuntu10.04 should be &lt;br /&gt;
 $ sudo mount /dev/mapper/loop0p1 /tmp/handset&lt;br /&gt;
or we'll get message&lt;br /&gt;
&amp;quot;mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop0p1,missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail  or so&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
And chroot into it:&lt;br /&gt;
 $ sudo mic-chroot /tmp/handset&lt;br /&gt;
&lt;br /&gt;
Next, modify the packages in the image:&lt;br /&gt;
 $ zypper remove kernel-mrst  # if present&lt;br /&gt;
 $ zypper install kernel-netbook mesa-dri-* xorg-x11-drv-vesa syslinux-extlinux&lt;br /&gt;
&lt;br /&gt;
Create symlinks to the Linux kernel for extlinux:&lt;br /&gt;
 $ cd /boot/extlinux&lt;br /&gt;
 $ ln -sf ../vmlinuz-*netbook .&lt;br /&gt;
&lt;br /&gt;
Modify the extlinux configuration:&lt;br /&gt;
 $ MEEGO_KERNEL=`ls /boot/vmlinuz-*netbook | sed -e 's%/boot/%%'` &amp;amp;&amp;amp; echo \&lt;br /&gt;
 &amp;quot;PROMPT 0&lt;br /&gt;
 TIMEOUT 1&lt;br /&gt;
 DEFAULT meego&lt;br /&gt;
 LABEL meego&lt;br /&gt;
   KERNEL $MEEGO_KERNEL&lt;br /&gt;
   APPEND ro root=/dev/sda1 3&amp;quot; \&lt;br /&gt;
 &amp;gt; /boot/extlinux/extlinux.conf&lt;br /&gt;
&lt;br /&gt;
Note that the above command won't work if you have multiple netbook kernels installed: in that case, manually set &amp;lt;code&amp;gt;MEEGO_KERNEL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Also note that the &amp;lt;code&amp;gt;APPEND&amp;lt;/code&amp;gt; configuration line tells the kernel to boot to runlevel 3, which is useful for debugging.&lt;br /&gt;
&lt;br /&gt;
Add SDK repository:&lt;br /&gt;
 $ zypper addrepo http://repo.meego.com/MeeGo/sdk/target/repos/meego/trunk meego-sdk&lt;br /&gt;
You might need to change '''trunk''' to something else, depending on your image (for example, '''1.1''' if using a MeeGo 1.1 image).&lt;br /&gt;
&lt;br /&gt;
Install SDK packages:&lt;br /&gt;
 $ zypper install meego-sdk-qemugl-addon-handset kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Install SSH server and enable it to start on boot:&lt;br /&gt;
 $ zypper install openssh-server&lt;br /&gt;
 $ chkconfig --add sshd&lt;br /&gt;
&lt;br /&gt;
Fix permissions on the Xorg binary:&lt;br /&gt;
 $ chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
Exit the chroot:&lt;br /&gt;
 $ exit&lt;br /&gt;
&lt;br /&gt;
Now, outside the chroot, install the SYSLINUX bootloader on the filesystem:&lt;br /&gt;
 $ sudo extlinux --install /tmp/handset/boot/extlinux&lt;br /&gt;
&lt;br /&gt;
Unmount the device:&lt;br /&gt;
 $ sudo umount /tmp/handset&lt;br /&gt;
&lt;br /&gt;
Make the modified image (still mapped to a device) bootable; NB the device you use with &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt; is the one we made a note of earlier when we ran &amp;lt;code&amp;gt;kpartx&amp;lt;/code&amp;gt;:&lt;br /&gt;
 $ sudo fdisk /dev/loop0&lt;br /&gt;
&lt;br /&gt;
At the fdisk command prompt:&lt;br /&gt;
* Enter ''a'' to toggle the &amp;quot;bootable&amp;quot; flag on a partition.&lt;br /&gt;
* Enter ''1'' to select the first partition as the bootable one.&lt;br /&gt;
* Enter ''w'' to write your changes to the partition table in the image.&lt;br /&gt;
&lt;br /&gt;
Remove the device map:&lt;br /&gt;
 $ sudo kpartx -d -v $IMAGE&lt;br /&gt;
&lt;br /&gt;
This image can now be booted under QEMU with:&lt;br /&gt;
 $ sudo qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -vga std \&lt;br /&gt;
 -boot c -enable-kvm -enable-gl -device virtio-gl-pci -hda $IMAGE&lt;br /&gt;
&lt;br /&gt;
This will boot to runlevel 3 when you run the image under QEMU. When you get a login prompt after booting under QEMU, login with username '''meego''' and password '''meego'''.&lt;br /&gt;
&lt;br /&gt;
To start the UX once logged it:&lt;br /&gt;
 $ uxlaunch&lt;br /&gt;
&lt;br /&gt;
== Manually build packages for an image running under QEMU GL ==&lt;br /&gt;
&lt;br /&gt;
You can manually build the software required to run an image (netbook or handset) under QEMU with GL acceleration. But this is only recommended if a pre-built package for the software you want doesn't already exist (up-to-date packages should be available for both handset and netbook).&lt;br /&gt;
&lt;br /&gt;
The steps below should be followed from ''inside'' a MeeGo image intended to run under QEMU. You could try this inside an emulated image, or by [[Building a MeeGo chroot on Linux|building a chroot]] from the raw disk image and working inside that (the latter is the only reasonable approach for building the kernel).&lt;br /&gt;
&lt;br /&gt;
For building both the qemugl addon and the kernel+modules, you will need to install a toolchain first (either into the QEMU image or the chroot; or into both, if you are building some software directly in the image and some in the chroot):&lt;br /&gt;
 zypper install make gcc git patch diffutils&lt;br /&gt;
&lt;br /&gt;
Alternatively, this command will get you ''all'' the MeeGo developer tools:&lt;br /&gt;
 zypper install -t pattern development-tools&lt;br /&gt;
&lt;br /&gt;
=== Build qemugl addon ===&lt;br /&gt;
&lt;br /&gt;
The addon package installed in above section can also be built from source. These steps are fairly easy to do inside the QEMU image itself.&lt;br /&gt;
&lt;br /&gt;
You don't need to do this if you already installed a &amp;lt;code&amp;gt;meego-sdk-qemugl-addon-*&amp;lt;/code&amp;gt; package (see [[#Install QEMU addons, kernel and virtiogl module|above]]). &lt;br /&gt;
&lt;br /&gt;
Install required packaged first:&lt;br /&gt;
 zypper install libXfixes-devel libX11-devel&lt;br /&gt;
&lt;br /&gt;
Checkout stub libGL source code:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-libgl-x86.git&lt;br /&gt;
&lt;br /&gt;
Build:&lt;br /&gt;
 cd meego-emulator-libgl-x86&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Build and install kernel and modules ===&lt;br /&gt;
&lt;br /&gt;
The approach we take for this is to use a chroot to build an RPM package for the new kernel and modules. This can then be easily transferred to the QEMU image and installed. Building the new kernel directly inside the QEMU image is too slow to be practical.&lt;br /&gt;
&lt;br /&gt;
The first thing you'll need is a MeeGo chroot, built from the same image you're using under QEMU. See [[Building a MeeGo chroot on Linux|this page]] for instructions.&lt;br /&gt;
&lt;br /&gt;
Enter the chroot:&lt;br /&gt;
 sudo mic-chroot &amp;lt;path to chroot&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install &amp;lt;code&amp;gt;rpmbuild&amp;lt;/code&amp;gt; (used to build the RPM from the kernel source):&lt;br /&gt;
 zypper install rpm-build&lt;br /&gt;
&lt;br /&gt;
Get the MeeGo kernel-source (this contains configuration files for building MeeGo kernels):&lt;br /&gt;
 git clone git://gitorious.org/meego-os-base/kernel-source.git&lt;br /&gt;
&lt;br /&gt;
Get the virtio patches for the kernel:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-virtiogl-x86.git&lt;br /&gt;
&lt;br /&gt;
Copy the virtio patch into the patches dir of kernel-source:&lt;br /&gt;
 cp meego-emulator-virtiogl-x86/linux-2.6.35-virtio-for-qemu-gl-acceleration.patch kernel-source/patches&lt;br /&gt;
&lt;br /&gt;
Download the kernel source tarball (NB you want the plain series version, not one with a patch number); in this case, I used a 2.6.35 kernel:&lt;br /&gt;
 cd kernel-source&lt;br /&gt;
 curl -o linux-2.6.35.tar.bz2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remain in the &amp;lt;code&amp;gt;kernel-source&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;series&amp;lt;/code&amp;gt; file to add the virtiogl patch to the list of patches to apply:&lt;br /&gt;
 # Add Virtio-mem module for QEMU GL acceleration&lt;br /&gt;
 linux-2.6.35-virtio-for-qemu-gl-acceleration.patch&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;config-netbook&amp;lt;/code&amp;gt; file (used for both handset and netbook) to enable VIRTIOGL as a module:&lt;br /&gt;
 CONFIG_VIRTIO_PCI=m&lt;br /&gt;
 CONFIG_VIRTIOGL=m&lt;br /&gt;
 # CONFIG_VIRTIO_BLK is not set&lt;br /&gt;
 # CONFIG_VIRTIO_NET is not set&lt;br /&gt;
 # CONFIG_VIRTIO_CONSOLE is not set&lt;br /&gt;
 # CONFIG_HW_RANDOM_VIRTIO is not set&lt;br /&gt;
&lt;br /&gt;
Delete this line from the same file (we want to set a value and it could be confusing otherwise):&lt;br /&gt;
&lt;br /&gt;
 # CONFIG_VIRTIO_PCI is not set&lt;br /&gt;
&lt;br /&gt;
Generate spec files and config files:&lt;br /&gt;
 make&lt;br /&gt;
 make -f Makefile.config&lt;br /&gt;
&lt;br /&gt;
This generates config files with names in the format &amp;lt;code&amp;gt;kernel-xxx.config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Patch the kernel:&lt;br /&gt;
 ./scripts/install-git-hooks&lt;br /&gt;
 ./scripts/sequence-patch.sh --quilt&lt;br /&gt;
&lt;br /&gt;
Copy kernel config file into the source tree:&lt;br /&gt;
 cp kernel-netbook.config tmp/linux-2.6.35-master/.config&lt;br /&gt;
&lt;br /&gt;
Build a kernel RPM package (takes a long time):&lt;br /&gt;
 cd tmp/linux-2.6.35-master&lt;br /&gt;
 make oldconfig (at each prompt, accept the default)&lt;br /&gt;
 make rpm-pkg&lt;br /&gt;
&lt;br /&gt;
The resulting package is in &amp;lt;code&amp;gt;/root/rpmbuild/RPMS/i386/kernel-&amp;lt;kernel version and architecture&amp;gt;.rpm&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Copy this to the QEMU image over ssh or equivalent, for example:&lt;br /&gt;
 scp -P 6666 /root/rpmbuild/RPMS/i386/kernel-2.6.35.3+-1.i386.rpm root@127.0.0.1:/root/&lt;br /&gt;
&lt;br /&gt;
Get a root prompt in the QEMU image (either by booting into single user mode or logging in via ssh) and install the RPM:&lt;br /&gt;
 rpm -ivh /root/kernel-2.6.35.3+-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
Build and install the new initrd (a RAM disk image) for the kernel and modify the boot loader:&lt;br /&gt;
 new-kernel-pkg --mkinitrd --install --make-default --depmod 2.6.35.3+&lt;br /&gt;
(replace 2.6.35.3+ with the version for your new kernel)&lt;br /&gt;
&lt;br /&gt;
Next time you [[#Run the image under QEMU with GL acceleration|boot the image]], it should default to using the new kernel with the virtiogl module.&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Creating_Hello_World</id>
		<title>SDK/Docs/1.1/Creating Hello World</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Creating_Hello_World"/>
				<updated>2010-11-08T08:23:55Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Creating a Hello World */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:meego-1.1]]&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This page is work-in-progress (26 Oct 2010).&lt;br /&gt;
&lt;br /&gt;
This page explains how to create a Hello World application with Qt Creator and run it on a MeeGo device (real or emulated).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* You have [[SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Linux|set up MeeGo SDK environment on Linux]]&lt;br /&gt;
* You have installed the MeeGo image and configured the device access in Qt Creator.&lt;br /&gt;
&lt;br /&gt;
== Creating a Hello World ==&lt;br /&gt;
&lt;br /&gt;
'''To create a project:'''&lt;br /&gt;
# In Qt Creator, select '''File''' &amp;gt; '''New File or Project'''. &lt;br /&gt;
# Select '''Mobile Qt Application''' and click '''Choose...'''.&lt;br /&gt;
#: [[File:Qt Creator creating a new project mobility.png|frame|none|Creating your project]]&lt;br /&gt;
# Name your project, select where you want to save it, and click '''Next'''.&lt;br /&gt;
#: '''Note:''' Make sure that the path to the location does not contain spaces.&lt;br /&gt;
#: [[File:Qt Creator naming mobility project.png|frame|none|Naming your project]]&lt;br /&gt;
# Select MeeGo target(s) and click '''Next'''.&lt;br /&gt;
#: [[File:Qt Creator selecting targets mobility.png|frame|none|Selecting the MeeGo target(s)]]&lt;br /&gt;
# Name the files that will be automatically created for your project.&lt;br /&gt;
#: [[File:Qt Creator naming classes mobility.png|frame|none|Naming classes for your project]]&lt;br /&gt;
# If you want to add the project to version control, do so. Otherwise click '''Finish'''.&lt;br /&gt;
#: [[File:Qt Creator adding mobility project to version control.png|frame|none|Adding your project to version control]]&lt;br /&gt;
:Your project has now been created.&lt;br /&gt;
&lt;br /&gt;
'''To create a Hello World application:'''&lt;br /&gt;
&lt;br /&gt;
For more information on the Hello World created here, see [http://apidocs.meego.com/1.0/qtmobility/quickstart.html the Qt Mobility Quickstart Example].&lt;br /&gt;
&lt;br /&gt;
1. In Qt Creator, select '''Edit''' mode.&lt;br /&gt;
&lt;br /&gt;
2. To view your project files, open '''Forms''', '''Headers''', and '''Sources''' folders in '''Projects''' sidebar.&lt;br /&gt;
&lt;br /&gt;
3. To create an application that uses the QSystemInfo headers to print out the system's current country code, replace the existing example code in your &amp;lt;code&amp;gt;main.cpp&amp;lt;/code&amp;gt; file with the following example code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
#include &amp;lt;QLabel&amp;gt;&lt;br /&gt;
#include &amp;lt;QSystemInfo&amp;gt;&lt;br /&gt;
using namespace QtMobility;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    QApplication app(argc, argv);&lt;br /&gt;
    QSystemInfo s;&lt;br /&gt;
    QLabel *label = new QLabel(QObject::tr(&amp;quot;hello &amp;quot;).append(s.currentCountryCode()));&lt;br /&gt;
    label-&amp;gt;show();&lt;br /&gt;
    label-&amp;gt;resize(100,30);&lt;br /&gt;
    return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Replace the corresponding lines in your &amp;lt;code&amp;gt;.pro&amp;lt;/code&amp;gt; file with the following System Information API declaration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG += mobility&lt;br /&gt;
MOBILITY += systeminfo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not remove the existing code in the file.&lt;br /&gt;
&lt;br /&gt;
5. In the '''File''' menu, select '''Save All'''.&lt;br /&gt;
&lt;br /&gt;
Your application is now ready to be configured for building.&lt;br /&gt;
&lt;br /&gt;
'''To configure your Hello World for building:'''&lt;br /&gt;
# Switch to '''Projects''' mode [[File:Qt Creator Projects mode button.png]].&lt;br /&gt;
# On the target toolbar, select '''MeeGo''' &amp;gt; '''Build''' to configure Build settings.&lt;br /&gt;
# On '''Edit build configuration:''' line, select '''Add''' &amp;gt; '''Using Qt version &amp;quot;MeeGo sysroot&amp;quot;'''.&lt;br /&gt;
# Change '''Debug''' into '''MeeGo sysroot Release'''.&lt;br /&gt;
#: [[File:Qt Creator build settings mobility.png|frame|none|Configuring build settings in Qt Creator]]&lt;br /&gt;
#: Your Hello World is now ready to be configured for running in QEMU or your device.&lt;br /&gt;
&lt;br /&gt;
== Packaging the Hello World ==&lt;br /&gt;
&lt;br /&gt;
If you [[#Running_the_Hello_World|run]] your Hello World application, an .rpm package is created automatically.&lt;br /&gt;
&lt;br /&gt;
If you want to create a package of your Hello World application without running it, click '''Build All''' or select '''Build''' &amp;gt; '''Build Project &amp;quot;&amp;lt;project name&amp;gt;&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
'''Compile Output''' view shows the message &amp;quot;Package created.&amp;quot; and an .rpm package file (&amp;lt;project name&amp;gt;-&amp;lt;project version&amp;gt;-&amp;lt;release version&amp;gt;.&amp;lt;device architecture&amp;gt;.rpm) has been created in the build-specific project subdirectory (&amp;quot;&amp;lt;project name&amp;gt;-build-meego&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Configuring device access in Qt Creator ==&lt;br /&gt;
&lt;br /&gt;
Configuring device access in Qt Creator is slightly different depending on whether you are deploying to a real device or an emulated one.&lt;br /&gt;
&lt;br /&gt;
However, the mode of access is the same: Qt Creator deploys and installs an .rpm package on the device, and runs the executable.&lt;br /&gt;
&lt;br /&gt;
For instructions on configuring device access, see:&lt;br /&gt;
* [[SDK/Docs/1.1/Setting_up_N900_device#Configuring_device_access_in_Qt_Creator|N900]]&lt;br /&gt;
* [[SDK/Docs/1.1/Setting_up_Netbook#Configuring_device_access_in_Qt_Creator|Netbook]]&lt;br /&gt;
* [[SDK/Docs/1.1/Configuring_QEMU_runtimes#Configuring_access_to_an_emulated_device_in_Qt_Creator|QEMU image]]&lt;br /&gt;
&lt;br /&gt;
== Running the Hello World ==&lt;br /&gt;
&lt;br /&gt;
To run your Hello World on your device:&lt;br /&gt;
# Switch to '''Projects''' mode [[File:Qt Creator Projects mode button.png]].&lt;br /&gt;
# On the target toolbar, select '''MeeGo''' &amp;gt; '''Run''' to configure Run settings.&lt;br /&gt;
# In '''Device configuration''' drop-down menu, select the device configuration you created when [[#Configuring device access in Qt Creator|configuring device access]].&lt;br /&gt;
#: [[File:Qt Creator run settings mobility.png|800px]]&lt;br /&gt;
# Click [[File:Qt Creator Run button.png|alt=Run]].&lt;br /&gt;
#: Your Hello World runs on your device.&lt;br /&gt;
&lt;br /&gt;
On a netbook image, the Hello World application runs as shown in the following screenshot:&lt;br /&gt;
&lt;br /&gt;
[[File:sdk-docs-helloworld-on-netbook.png|800px]]&lt;br /&gt;
&lt;br /&gt;
== Debugging the Hello World ==&lt;br /&gt;
&lt;br /&gt;
For more information on debugging, see [[SDK/Docs/1.1/Debugging_with_Qt_Creator|Debugging with Qt Creator]].&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools</id>
		<title>SDK/Docs/1.1/Building QEMU Tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools"/>
				<updated>2010-10-29T09:14:19Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Install packages from the SDK repo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Meego-1.1]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build the [http://wiki.meego.com/MeeGo_SDK_with_QEMU MeeGo SDK QEMU] tools from source, including QEMU binary, patched kernel module, and stub libGL.&lt;br /&gt;
&lt;br /&gt;
== Build QEMUGL from source ==&lt;br /&gt;
&lt;br /&gt;
''Verified on Linux (Fedora 13) on 2010-10-11 by [[User:Elliot|Elliot Smith]]''&lt;br /&gt;
&lt;br /&gt;
'''An alternative to building from source is to install a qemugl package from one of the repositories at http://download.meego.com/live/Tools:/SDK:/Host/'''&lt;br /&gt;
&lt;br /&gt;
Check out http://wiki.meego.com/MeeGo_SDK_with_QEMU#Installing_qemugl_on_64-bit_ubuntu_10.04 for more details.&lt;br /&gt;
&lt;br /&gt;
'''If you still prefer to build QEMUGL from sources, proceed with these steps:'''&lt;br /&gt;
&lt;br /&gt;
Checkout the QEMU GL source code (this is basically QEMU with some patches to enable GL acceleration):&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-qemugl-x86.git&lt;br /&gt;
&lt;br /&gt;
Checkout the qemu-gl branch:&lt;br /&gt;
&lt;br /&gt;
 cd meego-emulator-qemugl-x86&lt;br /&gt;
 git checkout -b qemu-gl --track origin/qemu-gl&lt;br /&gt;
&lt;br /&gt;
Make sure that there is KVM enabled and that the following libraries (development package) are installed on the host machine:&lt;br /&gt;
&lt;br /&gt;
* zlib&lt;br /&gt;
* libSDL&lt;br /&gt;
* Xcomposite.&lt;br /&gt;
&lt;br /&gt;
Configure qemugl:&lt;br /&gt;
&lt;br /&gt;
 ./configure --target-list=i386-softmmu --enable-gl&lt;br /&gt;
&lt;br /&gt;
Check the output from &amp;lt;code&amp;gt;configure&amp;lt;/code&amp;gt; contains the strings below:&lt;br /&gt;
&lt;br /&gt;
 SDL support   yes&lt;br /&gt;
 ......&lt;br /&gt;
 KVM support   yes&lt;br /&gt;
&lt;br /&gt;
Build qemugl:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
This installs various QEMU binaries (default prefix is &amp;lt;code&amp;gt;/usr/local&amp;lt;/code&amp;gt;), including &amp;lt;code&amp;gt;qemugl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; used in this tutorial.&lt;br /&gt;
&lt;br /&gt;
== Create netbook image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
''Verified on Linux (Fedora 13) on 2010-10-13 by [[User:Elliot|Elliot Smith]] using this netbook image:&amp;lt;br/&amp;gt;''&lt;br /&gt;
''http://repo.meego.com/MeeGo/builds/trunk/1.1.80.1.20101012.1/netbook/images/meego-netbook-ia32/meego-netbook-ia32-1.1.80.1.20101012.1.img&amp;lt;br/&amp;gt;''&lt;br /&gt;
''with manually-built QEMU-GL (see above)''&lt;br /&gt;
&lt;br /&gt;
This section explains how to make a standard MeeGo netbook image run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
=== Install MeeGo netbook to QEMU raw disk image ===&lt;br /&gt;
&lt;br /&gt;
Create raw image file for MeeGo to install on. The &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; command is part of the [[#Build_QEMUGL_from_source|QEMU build]]:&lt;br /&gt;
 qemu-img create -f raw meego-netbook.raw 3.5G&lt;br /&gt;
&lt;br /&gt;
Install MeeGo to the raw hard disk, using the downloaded .img file as the installation CDROM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -boot d -hda meego-netbook.raw \&lt;br /&gt;
-cdrom meego-netbook-ia32-1.1.80.1.20101012.1.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boot into the image:&lt;br /&gt;
 qemugl -m 1024 -vga std -boot c -hda meego-netbook.raw&lt;br /&gt;
&lt;br /&gt;
Go through the installation steps to set up a meego user. The password you set here is also used as the root password, which we'll use below.&lt;br /&gt;
&lt;br /&gt;
Note: occasionally I've halted the system before the meego user is setup. When I then try to boot into the UX, it fails because the user is missing. In this case, you can manually create the user from a root prompt (inside the QEMU image) with:&lt;br /&gt;
 useradd -d /home/meego -M -s /bin/bash meego&lt;br /&gt;
&lt;br /&gt;
Halt the system.&lt;br /&gt;
&lt;br /&gt;
Now boot it again (this time with networking enabled; type the command below, press return, then press tab like crazy so you can get to the boot menu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 \&lt;br /&gt;
-boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, edit the kernel command line on the boot menu screen so it looks like this:&lt;br /&gt;
 vmlinuz-2.6.35.3-8.5-netbook ro root=/dev/sda2 vga=current s&lt;br /&gt;
&lt;br /&gt;
This will get you a root prompt.&lt;br /&gt;
&lt;br /&gt;
=== Install and start openssh server ===&lt;br /&gt;
&lt;br /&gt;
Then install ssh server (this makes the following steps easier, as you can cut and paste into the ssh prompt):&lt;br /&gt;
 zypper install openssh-server&lt;br /&gt;
 chkconfig --add sshd&lt;br /&gt;
 /etc/init.d/sshd start&lt;br /&gt;
&lt;br /&gt;
Use can now use ssh to login to the image with:&lt;br /&gt;
&lt;br /&gt;
 ssh -p 6666 root@127.0.0.1&lt;br /&gt;
&lt;br /&gt;
(password is the same as you entered for your normal user when configuring the system)&lt;br /&gt;
&lt;br /&gt;
=== Set suid bit on Xorg binary ===&lt;br /&gt;
&lt;br /&gt;
Once logged in over ssh, set suid on the Xorg binary (so a normal user can start X):&lt;br /&gt;
&lt;br /&gt;
 chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
=== Install packages from the SDK repo ===&lt;br /&gt;
&lt;br /&gt;
Then install the SDK addons. First, add the MeeGo SDK repo:&lt;br /&gt;
&lt;br /&gt;
 zypper addrepo http://repo.meego.com/MeeGo/sdk/target/repos/meego/1.1/ meego-sdk&lt;br /&gt;
&lt;br /&gt;
(you may need to use a different repo, depending on the netbook image you have)&lt;br /&gt;
&lt;br /&gt;
'''Another alternative is to [[#Manually build packages for an image running under QEMU GL|manually build the addons, kernel and virtiogl module in a chroot]], then install them into the image.'''&lt;br /&gt;
&lt;br /&gt;
==== Install QEMU addons ====&lt;br /&gt;
&lt;br /&gt;
Install the qemugl addon package into the image:&lt;br /&gt;
&lt;br /&gt;
 zypper install meego-sdk-qemugl-addon-netbook&lt;br /&gt;
&lt;br /&gt;
==== Install kernel and virtiogl module ====&lt;br /&gt;
&lt;br /&gt;
Install virtiogl module for kernel:&lt;br /&gt;
&lt;br /&gt;
 zypper install kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Right now above package only supports kernel version of 2.6.35. If you need to build the SDK addons or a kernel and its modules, [[#Manually build packages for an image running under QEMU GL|instructions are given below]].&lt;br /&gt;
&lt;br /&gt;
=== Run the image under QEMU with GL acceleration ===&lt;br /&gt;
&lt;br /&gt;
The image should now be ready. It can be started in QEMU with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -enable-kvm \&lt;br /&gt;
-vga std -enable-gl -device virtio-gl-pci -boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you should still be able to ssh to this image as above.&lt;br /&gt;
&lt;br /&gt;
== Create handset image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
If you have a handset image downloaded, follow these instructions to enable it to run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
Download a handset tarball (e.g. from http://meego.com/downloads/releases/1.0.80.8/meego-handset-day1-developer-preview), and untar the file:&lt;br /&gt;
&lt;br /&gt;
 tar xjvf meego-handset-ia32-aava-mtf-1.0.80.8.20100629.1-mrstnand.tar.bz2&lt;br /&gt;
&lt;br /&gt;
(Note that this procedure should work for other images from http://repo.meego.com/MeeGo/builds/trunk/ too.)&lt;br /&gt;
&lt;br /&gt;
Build kernel and modules version 2.6.35 from below section [[#Build packages for image running under QEMU GL]], to get a kernel file and module directory. Supppose the kernel file is &amp;quot;bzImage&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 qemugl -m 1024  -boot c -hda meego-handset-ia32-aava-mtf-1.0.80.8.20100629.1-sda.bin -vga std -kernel bzImage \&lt;br /&gt;
        --append &amp;quot;root=/dev/sda1 init s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Inside the emulated image, install these packages:&lt;br /&gt;
 zypper install xorg-x11-drv-vesa&lt;br /&gt;
 zypper install mesa-dri-swrast-driver&lt;br /&gt;
 zypper install openssh-server&lt;br /&gt;
 zypper install gdb-gdbserver&lt;br /&gt;
&lt;br /&gt;
Copy the kernel modules into the image. Suppose that there have been modules.tgz in host machine built from kernel build step above:&lt;br /&gt;
 scp host@ipaddress:modules.tgz .&lt;br /&gt;
 tar xzvf modules.tgz&lt;br /&gt;
 mv module_directory /lib/modules/&lt;br /&gt;
&lt;br /&gt;
Add a new repo file to &amp;quot;/etc/zypp/repos.d/&amp;quot;. File name could be &amp;quot;meego-sdk.repo&amp;quot;, and content is as below:&lt;br /&gt;
 [meego-sdk]&lt;br /&gt;
 name=meego-sdk&lt;br /&gt;
 failovermethod=priority&lt;br /&gt;
 baseurl=http://download.meego.com/live/Tools:/SDK/Trunk/&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-meego&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 enabled=1&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;zypper&amp;quot; to install qemugl addon package to the image:&lt;br /&gt;
 zypper install meego-sdk-qemugl-addon-handset&lt;br /&gt;
&lt;br /&gt;
We are done now. The new image could be started in QEMU with below command:&lt;br /&gt;
 qemugl -m 1024  -boot c -hda meego-handset-ia32-aava-mtf-1.0.80.8.20100629.1-sda.bin -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net \&lt;br /&gt;
        nic,model=e1000 -vga std -enable-gl -enable-kvm -device virtio-gl-pci -kernel bzImage --append &amp;quot;root=/dev/sda1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Manually build packages for an image running under QEMU GL ==&lt;br /&gt;
&lt;br /&gt;
''Verified on Linux (Fedora 13) on 2010-10-14 by [[User:Elliot|Elliot Smith]] using this netbook image:&amp;lt;br/&amp;gt;''&lt;br /&gt;
''http://repo.meego.com/MeeGo/builds/trunk/1.1.80.1.20101012.1/netbook/images/meego-netbook-ia32/meego-netbook-ia32-1.1.80.1.20101012.1.img''&lt;br /&gt;
&lt;br /&gt;
You can manually build the software required to run an image (netbook or handset) under QEMU with GL acceleration. But this is only recommended if a pre-built package for the software you want doesn't already exist (up-to-date packages should be available for both handset and netbook soon).&lt;br /&gt;
&lt;br /&gt;
The steps below should be followed from ''inside'' a MeeGo image intended to run under QEMU. You could try this inside an emulated image, or by [[Building a MeeGo chroot on Linux|building a chroot]] from the raw disk image and working inside that (the latter is the only reasonable approach for building the kernel).&lt;br /&gt;
&lt;br /&gt;
For building both the qemugl addon and the kernel+modules, you will need to install a toolchain first (either into the QEMU image, the toolchain, or both):&lt;br /&gt;
 zypper install make gcc git patch diffutils&lt;br /&gt;
&lt;br /&gt;
Alternatively, this command will get you ''all'' the MeeGo developer tools:&lt;br /&gt;
 zypper install -t pattern development-tools&lt;br /&gt;
&lt;br /&gt;
=== Build qemugl addon ===&lt;br /&gt;
&lt;br /&gt;
The addon package installed in above section can also be built from source. These steps are fairly easy to do inside the QEMU image itself.&lt;br /&gt;
&lt;br /&gt;
You don't need to do this if you already installed a &amp;lt;code&amp;gt;meego-sdk-qemugl-addon-*&amp;lt;/code&amp;gt; package (see [[#Install QEMU addons, kernel and virtiogl module|above]]). &lt;br /&gt;
&lt;br /&gt;
Install required packaged first:&lt;br /&gt;
 zypper install libXfixes-devel libX11-devel&lt;br /&gt;
&lt;br /&gt;
Checkout stub libGL source code:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-libgl-x86.git&lt;br /&gt;
&lt;br /&gt;
Build:&lt;br /&gt;
 cd meego-emulator-libgl-x86&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Build and install kernel and modules ===&lt;br /&gt;
&lt;br /&gt;
The approach we take for this is to use a chroot to build an RPM package for the new kernel and modules. This can then be easily transferred to the QEMU image and installed. Building the new kernel directly inside the QEMU image is too slow to be practical.&lt;br /&gt;
&lt;br /&gt;
The first thing you'll need is a MeeGo chroot, built from the same image you're using under QEMU. See [[Building a MeeGo chroot on Linux|this page]] for instructions.&lt;br /&gt;
&lt;br /&gt;
Enter the chroot.&lt;br /&gt;
&lt;br /&gt;
Install &amp;lt;code&amp;gt;rpmbuild&amp;lt;/code&amp;gt; (used to build the RPM from the kernel source):&lt;br /&gt;
 zypper install rpm-build&lt;br /&gt;
&lt;br /&gt;
Get the MeeGo kernel-source (this contains configuration files for building MeeGo kernels):&lt;br /&gt;
 git clone git://gitorious.org/meego-os-base/kernel-source.git&lt;br /&gt;
&lt;br /&gt;
Get the virtio patches for the kernel:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-virtiogl-x86.git&lt;br /&gt;
&lt;br /&gt;
Copy the virtio patch into the patches dir of kernel-source:&lt;br /&gt;
 cp meego-emulator-virtiogl-x86/linux-2.6.35-virtio-for-qemu-gl-acceleration.patch kernel-source/patches&lt;br /&gt;
&lt;br /&gt;
Download the kernel source tarball (NB you want the plain series version, not one with a patch number); in this case, I used a 2.6.35 kernel:&lt;br /&gt;
 cd kernel-source&lt;br /&gt;
 curl -o linux-2.6.35.tar.bz2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remain in the &amp;lt;code&amp;gt;kernel-source&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;series&amp;lt;/code&amp;gt; file to add the virtiogl patch to the list of patches to apply:&lt;br /&gt;
 # Add Virtio-mem module for QEMU GL acceleration&lt;br /&gt;
 linux-2.6.35-virtio-for-qemu-gl-acceleration.patch&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;config-netbook&amp;lt;/code&amp;gt; file (used for both handset and netbook) to enable VIRTIOGL as a module:&lt;br /&gt;
 CONFIG_VIRTIO_PCI=m&lt;br /&gt;
 CONFIG_VIRTIOGL=m&lt;br /&gt;
 # CONFIG_VIRTIO_BLK is not set&lt;br /&gt;
 # CONFIG_VIRTIO_NET is not set&lt;br /&gt;
 # CONFIG_VIRTIO_CONSOLE is not set&lt;br /&gt;
 # CONFIG_HW_RANDOM_VIRTIO is not set&lt;br /&gt;
&lt;br /&gt;
Delete this line from the same file (we want to set a value and it could be confusing otherwise):&lt;br /&gt;
&lt;br /&gt;
 # CONFIG_VIRTIO_PCI is not set&lt;br /&gt;
&lt;br /&gt;
Generate spec files and config files:&lt;br /&gt;
 make&lt;br /&gt;
 make -f Makefile.config&lt;br /&gt;
&lt;br /&gt;
This generates config files with names in the format &amp;lt;code&amp;gt;kernel-xxx.config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Patch the kernel:&lt;br /&gt;
 ./scripts/install-git-hooks&lt;br /&gt;
 ./scripts/sequence-patch.sh --quilt&lt;br /&gt;
&lt;br /&gt;
Copy kernel config file into the source tree:&lt;br /&gt;
 cp kernel-netbook.config tmp/linux-2.6.35-master/.config&lt;br /&gt;
&lt;br /&gt;
Build a kernel RPM package (takes a long time):&lt;br /&gt;
 cd tmp/linux-2.6.35-master&lt;br /&gt;
 make oldconfig (at each prompt, accept the default)&lt;br /&gt;
 make rpm-pkg&lt;br /&gt;
&lt;br /&gt;
The resulting package is in &amp;lt;code&amp;gt;/root/rpmbuild/RPMS/i386/kernel-2.6.35.3+-1.i386.rpm&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Copy this to the QEMU image over ssh or equivalent, for example:&lt;br /&gt;
 scp -P 6666 /root/rpmbuild/RPMS/i386/kernel-2.6.35.3+-1.i386.rpm root@127.0.0.1:/root/&lt;br /&gt;
&lt;br /&gt;
Get a root prompt in the QEMU image (either by booting into single user mode or logging in via ssh) and install the RPM:&lt;br /&gt;
 rpm -ivh /root/kernel-2.6.35.3+-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
Build and install the new initrd (a RAM disk image) for the kernel and modify the boot loader:&lt;br /&gt;
 new-kernel-pkg --mkinitrd --install --make-default --depmod 2.6.35.3+&lt;br /&gt;
(replace 2.6.35.3+ with the version for your new kernel)&lt;br /&gt;
&lt;br /&gt;
Next time you [[#Run the image under QEMU with GL acceleration|boot the image]], it should default to using the new kernel with the virtiogl module.&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools</id>
		<title>SDK/Docs/1.1/Building QEMU Tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/Docs/1.1/Building_QEMU_Tools"/>
				<updated>2010-10-29T09:09:48Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Install kernel and virtiogl module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Meego-1.1]]&lt;br /&gt;
&lt;br /&gt;
This page describes how to build the [http://wiki.meego.com/MeeGo_SDK_with_QEMU MeeGo SDK QEMU] tools from source, including QEMU binary, patched kernel module, and stub libGL.&lt;br /&gt;
&lt;br /&gt;
== Build QEMUGL from source ==&lt;br /&gt;
&lt;br /&gt;
''Verified on Linux (Fedora 13) on 2010-10-11 by [[User:Elliot|Elliot Smith]]''&lt;br /&gt;
&lt;br /&gt;
'''An alternative to building from source is to install a qemugl package from one of the repositories at http://download.meego.com/live/Tools:/SDK:/Host/'''&lt;br /&gt;
&lt;br /&gt;
Check out http://wiki.meego.com/MeeGo_SDK_with_QEMU#Installing_qemugl_on_64-bit_ubuntu_10.04 for more details.&lt;br /&gt;
&lt;br /&gt;
'''If you still prefer to build QEMUGL from sources, proceed with these steps:'''&lt;br /&gt;
&lt;br /&gt;
Checkout the QEMU GL source code (this is basically QEMU with some patches to enable GL acceleration):&lt;br /&gt;
&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-qemugl-x86.git&lt;br /&gt;
&lt;br /&gt;
Checkout the qemu-gl branch:&lt;br /&gt;
&lt;br /&gt;
 cd meego-emulator-qemugl-x86&lt;br /&gt;
 git checkout -b qemu-gl --track origin/qemu-gl&lt;br /&gt;
&lt;br /&gt;
Make sure that there is KVM enabled and that the following libraries (development package) are installed on the host machine:&lt;br /&gt;
&lt;br /&gt;
* zlib&lt;br /&gt;
* libSDL&lt;br /&gt;
* Xcomposite.&lt;br /&gt;
&lt;br /&gt;
Configure qemugl:&lt;br /&gt;
&lt;br /&gt;
 ./configure --target-list=i386-softmmu --enable-gl&lt;br /&gt;
&lt;br /&gt;
Check the output from &amp;lt;code&amp;gt;configure&amp;lt;/code&amp;gt; contains the strings below:&lt;br /&gt;
&lt;br /&gt;
 SDL support   yes&lt;br /&gt;
 ......&lt;br /&gt;
 KVM support   yes&lt;br /&gt;
&lt;br /&gt;
Build qemugl:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
This installs various QEMU binaries (default prefix is &amp;lt;code&amp;gt;/usr/local&amp;lt;/code&amp;gt;), including &amp;lt;code&amp;gt;qemugl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; used in this tutorial.&lt;br /&gt;
&lt;br /&gt;
== Create netbook image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
''Verified on Linux (Fedora 13) on 2010-10-13 by [[User:Elliot|Elliot Smith]] using this netbook image:&amp;lt;br/&amp;gt;''&lt;br /&gt;
''http://repo.meego.com/MeeGo/builds/trunk/1.1.80.1.20101012.1/netbook/images/meego-netbook-ia32/meego-netbook-ia32-1.1.80.1.20101012.1.img&amp;lt;br/&amp;gt;''&lt;br /&gt;
''with manually-built QEMU-GL (see above)''&lt;br /&gt;
&lt;br /&gt;
This section explains how to make a standard MeeGo netbook image run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
=== Install MeeGo netbook to QEMU raw disk image ===&lt;br /&gt;
&lt;br /&gt;
Create raw image file for MeeGo to install on. The &amp;lt;code&amp;gt;qemu-img&amp;lt;/code&amp;gt; command is part of the [[#Build_QEMUGL_from_source|QEMU build]]:&lt;br /&gt;
 qemu-img create -f raw meego-netbook.raw 3.5G&lt;br /&gt;
&lt;br /&gt;
Install MeeGo to the raw hard disk, using the downloaded .img file as the installation CDROM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -boot d -hda meego-netbook.raw \&lt;br /&gt;
-cdrom meego-netbook-ia32-1.1.80.1.20101012.1.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boot into the image:&lt;br /&gt;
 qemugl -m 1024 -vga std -boot c -hda meego-netbook.raw&lt;br /&gt;
&lt;br /&gt;
Go through the installation steps to set up a meego user. The password you set here is also used as the root password, which we'll use below.&lt;br /&gt;
&lt;br /&gt;
Note: occasionally I've halted the system before the meego user is setup. When I then try to boot into the UX, it fails because the user is missing. In this case, you can manually create the user from a root prompt (inside the QEMU image) with:&lt;br /&gt;
 useradd -d /home/meego -M -s /bin/bash meego&lt;br /&gt;
&lt;br /&gt;
Halt the system.&lt;br /&gt;
&lt;br /&gt;
Now boot it again (this time with networking enabled; type the command below, press return, then press tab like crazy so you can get to the boot menu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -vga std -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 \&lt;br /&gt;
-boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, edit the kernel command line on the boot menu screen so it looks like this:&lt;br /&gt;
 vmlinuz-2.6.35.3-8.5-netbook ro root=/dev/sda2 vga=current s&lt;br /&gt;
&lt;br /&gt;
This will get you a root prompt.&lt;br /&gt;
&lt;br /&gt;
=== Install and start openssh server ===&lt;br /&gt;
&lt;br /&gt;
Then install ssh server (this makes the following steps easier, as you can cut and paste into the ssh prompt):&lt;br /&gt;
 zypper install openssh-server&lt;br /&gt;
 chkconfig --add sshd&lt;br /&gt;
 /etc/init.d/sshd start&lt;br /&gt;
&lt;br /&gt;
Use can now use ssh to login to the image with:&lt;br /&gt;
&lt;br /&gt;
 ssh -p 6666 root@127.0.0.1&lt;br /&gt;
&lt;br /&gt;
(password is the same as you entered for your normal user when configuring the system)&lt;br /&gt;
&lt;br /&gt;
=== Set suid bit on Xorg binary ===&lt;br /&gt;
&lt;br /&gt;
Once logged in over ssh, set suid on the Xorg binary (so a normal user can start X):&lt;br /&gt;
&lt;br /&gt;
 chmod u+s /usr/bin/Xorg&lt;br /&gt;
&lt;br /&gt;
=== Install packages from the SDK repo ===&lt;br /&gt;
&lt;br /&gt;
Then install the SDK addons. First, add the MeeGo SDK repo:&lt;br /&gt;
&lt;br /&gt;
 zypper addrepo http://download.meego.com/live/devel:/tools:/sdk:/target/Trunk/ meego-sdk&lt;br /&gt;
&lt;br /&gt;
(you may need to use a different repo, depending on the netbook image you have)&lt;br /&gt;
&lt;br /&gt;
'''Another alternative is to [[#Manually build packages for an image running under QEMU GL|manually build the addons, kernel and virtiogl module in a chroot]], then install them into the image.'''&lt;br /&gt;
&lt;br /&gt;
==== Install QEMU addons ====&lt;br /&gt;
&lt;br /&gt;
Install the qemugl addon package into the image:&lt;br /&gt;
&lt;br /&gt;
 zypper install meego-sdk-qemugl-addon-netbook&lt;br /&gt;
&lt;br /&gt;
==== Install kernel and virtiogl module ====&lt;br /&gt;
&lt;br /&gt;
Install virtiogl module for kernel:&lt;br /&gt;
&lt;br /&gt;
 zypper install kmod-virtiogl&lt;br /&gt;
&lt;br /&gt;
Right now above package only supports kernel version of 2.6.35. If you need to build the SDK addons or a kernel and its modules, [[#Manually build packages for an image running under QEMU GL|instructions are given below]].&lt;br /&gt;
&lt;br /&gt;
=== Run the image under QEMU with GL acceleration ===&lt;br /&gt;
&lt;br /&gt;
The image should now be ready. It can be started in QEMU with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemugl -m 1024 -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net nic,model=e1000 -enable-kvm \&lt;br /&gt;
-vga std -enable-gl -device virtio-gl-pci -boot c -hda meego-netbook.raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you should still be able to ssh to this image as above.&lt;br /&gt;
&lt;br /&gt;
== Create handset image for QEMU with GL acceleration ==&lt;br /&gt;
&lt;br /&gt;
If you have a handset image downloaded, follow these instructions to enable it to run in QEMU with GL acceleration.&lt;br /&gt;
&lt;br /&gt;
Download a handset tarball (e.g. from http://meego.com/downloads/releases/1.0.80.8/meego-handset-day1-developer-preview), and untar the file:&lt;br /&gt;
&lt;br /&gt;
 tar xjvf meego-handset-ia32-aava-mtf-1.0.80.8.20100629.1-mrstnand.tar.bz2&lt;br /&gt;
&lt;br /&gt;
(Note that this procedure should work for other images from http://repo.meego.com/MeeGo/builds/trunk/ too.)&lt;br /&gt;
&lt;br /&gt;
Build kernel and modules version 2.6.35 from below section [[#Build packages for image running under QEMU GL]], to get a kernel file and module directory. Supppose the kernel file is &amp;quot;bzImage&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 qemugl -m 1024  -boot c -hda meego-handset-ia32-aava-mtf-1.0.80.8.20100629.1-sda.bin -vga std -kernel bzImage \&lt;br /&gt;
        --append &amp;quot;root=/dev/sda1 init s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Inside the emulated image, install these packages:&lt;br /&gt;
 zypper install xorg-x11-drv-vesa&lt;br /&gt;
 zypper install mesa-dri-swrast-driver&lt;br /&gt;
 zypper install openssh-server&lt;br /&gt;
 zypper install gdb-gdbserver&lt;br /&gt;
&lt;br /&gt;
Copy the kernel modules into the image. Suppose that there have been modules.tgz in host machine built from kernel build step above:&lt;br /&gt;
 scp host@ipaddress:modules.tgz .&lt;br /&gt;
 tar xzvf modules.tgz&lt;br /&gt;
 mv module_directory /lib/modules/&lt;br /&gt;
&lt;br /&gt;
Add a new repo file to &amp;quot;/etc/zypp/repos.d/&amp;quot;. File name could be &amp;quot;meego-sdk.repo&amp;quot;, and content is as below:&lt;br /&gt;
 [meego-sdk]&lt;br /&gt;
 name=meego-sdk&lt;br /&gt;
 failovermethod=priority&lt;br /&gt;
 baseurl=http://download.meego.com/live/Tools:/SDK/Trunk/&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-meego&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 enabled=1&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;zypper&amp;quot; to install qemugl addon package to the image:&lt;br /&gt;
 zypper install meego-sdk-qemugl-addon-handset&lt;br /&gt;
&lt;br /&gt;
We are done now. The new image could be started in QEMU with below command:&lt;br /&gt;
 qemugl -m 1024  -boot c -hda meego-handset-ia32-aava-mtf-1.0.80.8.20100629.1-sda.bin -net user,hostfwd=tcp:127.0.0.1:6666-:22 -net \&lt;br /&gt;
        nic,model=e1000 -vga std -enable-gl -enable-kvm -device virtio-gl-pci -kernel bzImage --append &amp;quot;root=/dev/sda1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Manually build packages for an image running under QEMU GL ==&lt;br /&gt;
&lt;br /&gt;
''Verified on Linux (Fedora 13) on 2010-10-14 by [[User:Elliot|Elliot Smith]] using this netbook image:&amp;lt;br/&amp;gt;''&lt;br /&gt;
''http://repo.meego.com/MeeGo/builds/trunk/1.1.80.1.20101012.1/netbook/images/meego-netbook-ia32/meego-netbook-ia32-1.1.80.1.20101012.1.img''&lt;br /&gt;
&lt;br /&gt;
You can manually build the software required to run an image (netbook or handset) under QEMU with GL acceleration. But this is only recommended if a pre-built package for the software you want doesn't already exist (up-to-date packages should be available for both handset and netbook soon).&lt;br /&gt;
&lt;br /&gt;
The steps below should be followed from ''inside'' a MeeGo image intended to run under QEMU. You could try this inside an emulated image, or by [[Building a MeeGo chroot on Linux|building a chroot]] from the raw disk image and working inside that (the latter is the only reasonable approach for building the kernel).&lt;br /&gt;
&lt;br /&gt;
For building both the qemugl addon and the kernel+modules, you will need to install a toolchain first (either into the QEMU image, the toolchain, or both):&lt;br /&gt;
 zypper install make gcc git patch diffutils&lt;br /&gt;
&lt;br /&gt;
Alternatively, this command will get you ''all'' the MeeGo developer tools:&lt;br /&gt;
 zypper install -t pattern development-tools&lt;br /&gt;
&lt;br /&gt;
=== Build qemugl addon ===&lt;br /&gt;
&lt;br /&gt;
The addon package installed in above section can also be built from source. These steps are fairly easy to do inside the QEMU image itself.&lt;br /&gt;
&lt;br /&gt;
You don't need to do this if you already installed a &amp;lt;code&amp;gt;meego-sdk-qemugl-addon-*&amp;lt;/code&amp;gt; package (see [[#Install QEMU addons, kernel and virtiogl module|above]]). &lt;br /&gt;
&lt;br /&gt;
Install required packaged first:&lt;br /&gt;
 zypper install libXfixes-devel libX11-devel&lt;br /&gt;
&lt;br /&gt;
Checkout stub libGL source code:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-libgl-x86.git&lt;br /&gt;
&lt;br /&gt;
Build:&lt;br /&gt;
 cd meego-emulator-libgl-x86&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Build and install kernel and modules ===&lt;br /&gt;
&lt;br /&gt;
The approach we take for this is to use a chroot to build an RPM package for the new kernel and modules. This can then be easily transferred to the QEMU image and installed. Building the new kernel directly inside the QEMU image is too slow to be practical.&lt;br /&gt;
&lt;br /&gt;
The first thing you'll need is a MeeGo chroot, built from the same image you're using under QEMU. See [[Building a MeeGo chroot on Linux|this page]] for instructions.&lt;br /&gt;
&lt;br /&gt;
Enter the chroot.&lt;br /&gt;
&lt;br /&gt;
Install &amp;lt;code&amp;gt;rpmbuild&amp;lt;/code&amp;gt; (used to build the RPM from the kernel source):&lt;br /&gt;
 zypper install rpm-build&lt;br /&gt;
&lt;br /&gt;
Get the MeeGo kernel-source (this contains configuration files for building MeeGo kernels):&lt;br /&gt;
 git clone git://gitorious.org/meego-os-base/kernel-source.git&lt;br /&gt;
&lt;br /&gt;
Get the virtio patches for the kernel:&lt;br /&gt;
 git clone git://gitorious.org/meego-developer-tools/meego-emulator-virtiogl-x86.git&lt;br /&gt;
&lt;br /&gt;
Copy the virtio patch into the patches dir of kernel-source:&lt;br /&gt;
 cp meego-emulator-virtiogl-x86/linux-2.6.35-virtio-for-qemu-gl-acceleration.patch kernel-source/patches&lt;br /&gt;
&lt;br /&gt;
Download the kernel source tarball (NB you want the plain series version, not one with a patch number); in this case, I used a 2.6.35 kernel:&lt;br /&gt;
 cd kernel-source&lt;br /&gt;
 curl -o linux-2.6.35.tar.bz2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remain in the &amp;lt;code&amp;gt;kernel-source&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;series&amp;lt;/code&amp;gt; file to add the virtiogl patch to the list of patches to apply:&lt;br /&gt;
 # Add Virtio-mem module for QEMU GL acceleration&lt;br /&gt;
 linux-2.6.35-virtio-for-qemu-gl-acceleration.patch&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;code&amp;gt;config-netbook&amp;lt;/code&amp;gt; file (used for both handset and netbook) to enable VIRTIOGL as a module:&lt;br /&gt;
 CONFIG_VIRTIO_PCI=m&lt;br /&gt;
 CONFIG_VIRTIOGL=m&lt;br /&gt;
 # CONFIG_VIRTIO_BLK is not set&lt;br /&gt;
 # CONFIG_VIRTIO_NET is not set&lt;br /&gt;
 # CONFIG_VIRTIO_CONSOLE is not set&lt;br /&gt;
 # CONFIG_HW_RANDOM_VIRTIO is not set&lt;br /&gt;
&lt;br /&gt;
Delete this line from the same file (we want to set a value and it could be confusing otherwise):&lt;br /&gt;
&lt;br /&gt;
 # CONFIG_VIRTIO_PCI is not set&lt;br /&gt;
&lt;br /&gt;
Generate spec files and config files:&lt;br /&gt;
 make&lt;br /&gt;
 make -f Makefile.config&lt;br /&gt;
&lt;br /&gt;
This generates config files with names in the format &amp;lt;code&amp;gt;kernel-xxx.config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Patch the kernel:&lt;br /&gt;
 ./scripts/install-git-hooks&lt;br /&gt;
 ./scripts/sequence-patch.sh --quilt&lt;br /&gt;
&lt;br /&gt;
Copy kernel config file into the source tree:&lt;br /&gt;
 cp kernel-netbook.config tmp/linux-2.6.35-master/.config&lt;br /&gt;
&lt;br /&gt;
Build a kernel RPM package (takes a long time):&lt;br /&gt;
 cd tmp/linux-2.6.35-master&lt;br /&gt;
 make oldconfig (at each prompt, accept the default)&lt;br /&gt;
 make rpm-pkg&lt;br /&gt;
&lt;br /&gt;
The resulting package is in &amp;lt;code&amp;gt;/root/rpmbuild/RPMS/i386/kernel-2.6.35.3+-1.i386.rpm&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Copy this to the QEMU image over ssh or equivalent, for example:&lt;br /&gt;
 scp -P 6666 /root/rpmbuild/RPMS/i386/kernel-2.6.35.3+-1.i386.rpm root@127.0.0.1:/root/&lt;br /&gt;
&lt;br /&gt;
Get a root prompt in the QEMU image (either by booting into single user mode or logging in via ssh) and install the RPM:&lt;br /&gt;
 rpm -ivh /root/kernel-2.6.35.3+-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
Build and install the new initrd (a RAM disk image) for the kernel and modify the boot loader:&lt;br /&gt;
 new-kernel-pkg --mkinitrd --install --make-default --depmod 2.6.35.3+&lt;br /&gt;
(replace 2.6.35.3+ with the version for your new kernel)&lt;br /&gt;
&lt;br /&gt;
Next time you [[#Run the image under QEMU with GL acceleration|boot the image]], it should default to using the new kernel with the virtiogl module.&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/MeeGo_Image_On_Windows_With_QEMU</id>
		<title>SDK/MeeGo Image On Windows With QEMU</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/MeeGo_Image_On_Windows_With_QEMU"/>
				<updated>2010-10-24T12:12:42Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Run meego image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to run MeeGo image.&lt;br /&gt;
&lt;br /&gt;
== Prepare environment ==&lt;br /&gt;
(Suppose there is shell window available in you system, although it not really necessary)&lt;br /&gt;
&lt;br /&gt;
Download QEMU binary from http://osve-files.sh.intel.com/pub/misc/sdk/windows/qemu.tgz and get binary with &lt;br /&gt;
 tar xzvf qemu.tgz&lt;br /&gt;
&lt;br /&gt;
Download image file from http://osve-files.sh.intel.com/pub/misc/sdk/windows/meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda.raw.bz2, and get the image with:&lt;br /&gt;
 bunzip2 meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda.raw.bz2&lt;br /&gt;
&lt;br /&gt;
Download the command line option from http://osve-files.sh.intel.com/pub/misc/sdk/windows/command.sh&lt;br /&gt;
&lt;br /&gt;
===(optional) install kqemu accelerator for QEMU on Windows ===&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For WindowsXP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For WindowsVista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit windows system. 64-bit Win7 or WinXP could not work with kqemu&lt;br /&gt;
&lt;br /&gt;
== Run meego image ==&lt;br /&gt;
edit the command.sh to set the correct path for qemu.exe and pc-bios. Then run the command:&lt;br /&gt;
&lt;br /&gt;
./command.sh&lt;br /&gt;
&lt;br /&gt;
This command will boot into command line window. Log in with &amp;quot;meego&amp;quot; account and password &amp;quot;meego&amp;quot;, then start the UI by running:&lt;br /&gt;
&lt;br /&gt;
 uxlaunch&lt;br /&gt;
&lt;br /&gt;
UI will show up.&lt;br /&gt;
&lt;br /&gt;
This is verified on WindowsXP 32-bit with kqemu enabled on Dell OPTIPLEX 760.&lt;br /&gt;
&lt;br /&gt;
Notice:&lt;br /&gt;
&lt;br /&gt;
Screen output will be in the same directory as qemu.exe, in the two files of stderr.txt and stdout.ext&lt;br /&gt;
&lt;br /&gt;
GL acceleration is *not* enabled&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/MeeGo_Image_On_Windows_With_QEMU</id>
		<title>SDK/MeeGo Image On Windows With QEMU</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/MeeGo_Image_On_Windows_With_QEMU"/>
				<updated>2010-10-24T12:12:30Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Run meego image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to run MeeGo image.&lt;br /&gt;
&lt;br /&gt;
== Prepare environment ==&lt;br /&gt;
(Suppose there is shell window available in you system, although it not really necessary)&lt;br /&gt;
&lt;br /&gt;
Download QEMU binary from http://osve-files.sh.intel.com/pub/misc/sdk/windows/qemu.tgz and get binary with &lt;br /&gt;
 tar xzvf qemu.tgz&lt;br /&gt;
&lt;br /&gt;
Download image file from http://osve-files.sh.intel.com/pub/misc/sdk/windows/meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda.raw.bz2, and get the image with:&lt;br /&gt;
 bunzip2 meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda.raw.bz2&lt;br /&gt;
&lt;br /&gt;
Download the command line option from http://osve-files.sh.intel.com/pub/misc/sdk/windows/command.sh&lt;br /&gt;
&lt;br /&gt;
===(optional) install kqemu accelerator for QEMU on Windows ===&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For WindowsXP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For WindowsVista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit windows system. 64-bit Win7 or WinXP could not work with kqemu&lt;br /&gt;
&lt;br /&gt;
== Run meego image ==&lt;br /&gt;
edit the command.sh to set the correct path for qemu.exe and pc-bios. Then run the command:&lt;br /&gt;
&lt;br /&gt;
./command.sh&lt;br /&gt;
&lt;br /&gt;
This command will boot into command line window. Log in with &amp;quot;meego&amp;quot; account and password &amp;quot;meego&amp;quot;, then start the UI by running:&lt;br /&gt;
&lt;br /&gt;
 uxlaunch&lt;br /&gt;
&lt;br /&gt;
UI will show up.&lt;br /&gt;
&lt;br /&gt;
This is verified on WindowsXP 32-bit with kqemu enabled on Dell OPTIPLEX 760.&lt;br /&gt;
&lt;br /&gt;
Notice:&lt;br /&gt;
&lt;br /&gt;
Screen output will be in the same directory as qemu.exe, in the two files of stderr.txt and stdout.ext&lt;br /&gt;
GL acceleration is *not* enabled&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/SDK/MeeGo_Image_On_Windows_With_QEMU</id>
		<title>SDK/MeeGo Image On Windows With QEMU</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/SDK/MeeGo_Image_On_Windows_With_QEMU"/>
				<updated>2010-10-24T12:11:36Z</updated>
		
		<summary type="html">&lt;p&gt;Zhiyuan: /* Prepare environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to run MeeGo image.&lt;br /&gt;
&lt;br /&gt;
== Prepare environment ==&lt;br /&gt;
(Suppose there is shell window available in you system, although it not really necessary)&lt;br /&gt;
&lt;br /&gt;
Download QEMU binary from http://osve-files.sh.intel.com/pub/misc/sdk/windows/qemu.tgz and get binary with &lt;br /&gt;
 tar xzvf qemu.tgz&lt;br /&gt;
&lt;br /&gt;
Download image file from http://osve-files.sh.intel.com/pub/misc/sdk/windows/meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda.raw.bz2, and get the image with:&lt;br /&gt;
 bunzip2 meego-handset-ia32-pinetrail-mtf-1.0.90.2.20100914.1-sdk-1.1.80.20101023.1936-sda.raw.bz2&lt;br /&gt;
&lt;br /&gt;
Download the command line option from http://osve-files.sh.intel.com/pub/misc/sdk/windows/command.sh&lt;br /&gt;
&lt;br /&gt;
===(optional) install kqemu accelerator for QEMU on Windows ===&lt;br /&gt;
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Get the kqemu.inf and kqemu.sys files from above package&lt;br /&gt;
&lt;br /&gt;
For WindowsXP system, right click the kqemu.inf file and select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For WindowsVista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select &amp;quot;install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [DefaultInstall.NT] --&amp;gt; [DefaultInstall]&lt;br /&gt;
   [DefaultInstall.NT.Services] --&amp;gt; [DefaultInstall.Services]&lt;br /&gt;
   [Uninstall.NT] --&amp;gt; [Uninstall]&lt;br /&gt;
   [Uninstall.NT.Services] --&amp;gt; [Uninstall.Services]&lt;br /&gt;
&lt;br /&gt;
Start the kqemu manually:&lt;br /&gt;
 net start kqemu&lt;br /&gt;
&lt;br /&gt;
Notice: The kqemu could only be used on 32-bit windows system. 64-bit Win7 or WinXP could not work with kqemu&lt;br /&gt;
&lt;br /&gt;
== Run meego image ==&lt;br /&gt;
edit the command.sh to set the correct path for qemu.exe and pc-bios. Then run the command:&lt;br /&gt;
&lt;br /&gt;
./command.sh&lt;br /&gt;
&lt;br /&gt;
This command will boot into command line window. Log in with &amp;quot;meego&amp;quot; account and password &amp;quot;meego&amp;quot;, then start the UI by running:&lt;br /&gt;
&lt;br /&gt;
 uxlaunch&lt;br /&gt;
&lt;br /&gt;
UI will show up.&lt;br /&gt;
&lt;br /&gt;
This is verified on WindowsXP 32-bit with kqemu enabled on Dell OPTIPLEX 760.&lt;br /&gt;
&lt;br /&gt;
Notice:&lt;br /&gt;
&lt;br /&gt;
Screen output will be in the same directory as qemu.exe, in the two files of stderr.txt and stdout.ext&lt;/div&gt;</summary>
		<author><name>Zhiyuan</name></author>	</entry>

	</feed>