Meego Wiki
Views

SDK/Docs/1.2/Using a MeeGo runtime with QEMU

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Using a runtime from Qt Creator)
(Using a runtime)
Line 17: Line 17:
Some MeeGo targets include a runtime: a virtual machine image to run under QEMU. You can get a install a target by using the MeeGo SDK Maintenance Tool. See [[SDK/Docs/1.2/Installing_and_configuring_MeeGo_SDK_for_Linux#Finding_and_installing_targets|these instructions]] for installation details.
Some MeeGo targets include a runtime: a virtual machine image to run under QEMU. You can get a install a target by using the MeeGo SDK Maintenance Tool. See [[SDK/Docs/1.2/Installing_and_configuring_MeeGo_SDK_for_Linux#Finding_and_installing_targets|these instructions]] for installation details.
-
== Using a runtime ==
+
== Using a runtime with QEMU outside Qt Creator ==
-
There are two ways to start a runtime with QEMU:
+
The usual approach to using a runtime with QEMU is to start it from inside Qt Creator. The Qt Creator tutorials explain how to do this.
-
* Using the command line.
+
This page explains an alternative approach: starting a runtime from the command line. This can be useful to verify that a runtime is working correctly (for example, if it doesn't work from Qt Creator); and also useful for general testing of images.
-
* From inside a Qt Creator project.
+
-
=== Using a runtime from Qt Creator ===
+
=== Using a runtime from the command line ===
-
Qt Creator provides a shortcut button to start a QEMU runtime associated with a project, in the bottom left corner:
+
To start an installed runtime, use the <code>mad</code> command to boot the image inside QEMU.
-
[[File:Meego-sdk-qtcreator-start-emulator-button.png]]
+
You can get a list of installed runtimes with:
-
Clicking on this has the same effect as starting the QEMU runtime manually (as described above).
+
<pre>
 +
$ mad list runtimes
 +
meego-tablet-ia32-qemu-1.2.0.0.0.20110516.6-runtime       (installed)
 +
meego-netbook-ia32-qemu-1.2.0.0.0.20110516.6-runtime      (installed)
 +
...
 +
</pre>
-
Once the emulator is running, the button shows a red square: when it is in this state, clicking on it again stops the emulator.
+
(You may get different output depending on which runtimes you installed.)
-
=== Using a runtime from the command line ===
+
The <code>installed</code> runtimes are available to run. To run one, do:
 +
$ sudo mad remote -r <runtime name> poweron -fg
-
???normally you do this in Qt Creator; but here are the manual instructions
+
The <code>-fg</code> flag puts the process into the foreground, which is useful for debugging.
-
 
+
-
To start an installed runtime, use the <code>mad</code> command to boot the image inside QEMU.
+
-
To start the IA32 handset runtime:
+
For example, to start the tablet runtime above, do:
-
  $ sudo mad remote -r '''<handset runtime name>''' poweron
+
  $ sudo mad remote -r meego-tablet-ia32-qemu-1.2.0.0.0.20110516.6-runtime poweron -fg
-
Here's what the handset image looks like (this is the ''Applications'' zone):
+
Here's what the tablet image looks like (this is the ''Applications'' zone):
-
[[File:Sdk-docs-ia32-handset-under-qemu.png|600px]] ???verify screenshot
+
[[File:sdk-1.2-tablet-under-qemu.png|600px]]
-
To start the IA32 netbook runtime:
+
And the IA32 netbook runtime:
-
  $ sudo mad remote -r '''<netbook runtime name>''' poweron
+
  $ sudo mad remote -r meego-netbook-ia32-qemu-1.2.0.0.0.20110516.6-runtime poweron -fg
Here's what the netbook image looks like (this is ''Myzone''):
Here's what the netbook image looks like (this is ''Myzone''):
-
[[File:Sdk-docs-ia32-netbook-under-qemu.png|600px]] ???verify screenshot
+
[[File:sdk-1.2-netbook-under-qemu.png|600px]] ???verify screenshot
You can now use this running image as a deployment target for Qt Creator, or log into it manually over SSH (see below).
You can now use this running image as a deployment target for Qt Creator, or log into it manually over SSH (see below).

Revision as of 09:01, 20 May 2011


This page is in progress and is likely to contain incorrect instructions at present -- Elliot Smith 11:25, 4 May 2011 (UTC)

QEMU is a component of the MeeGo SDK. It can run handset or netbook images under an emulator, so you can test your applications on a MeeGo operating system, even if you don't have a MeeGo device.

If you haven't already installed the SDK, see:

For QEMU, it is important to check your graphics capability. See this page about graphics acceleration for details. Please read this page carefully and follow the instructions on it if you are having issues starting runtimes under QEMU.

The best and simplest way to use a MeeGo OS image with QEMU is to use the SDK maintenance tool to download a runtime, and Qt Creator to run it. See the instructions below for how to do this.

Contents

Install a MeeGo Runtime

Some MeeGo targets include a runtime: a virtual machine image to run under QEMU. You can get a install a target by using the MeeGo SDK Maintenance Tool. See these instructions for installation details.

Using a runtime with QEMU outside Qt Creator

The usual approach to using a runtime with QEMU is to start it from inside Qt Creator. The Qt Creator tutorials explain how to do this.

This page explains an alternative approach: starting a runtime from the command line. This can be useful to verify that a runtime is working correctly (for example, if it doesn't work from Qt Creator); and also useful for general testing of images.

Using a runtime from the command line

To start an installed runtime, use the mad command to boot the image inside QEMU.

You can get a list of installed runtimes with:

$ mad list runtimes
meego-tablet-ia32-qemu-1.2.0.0.0.20110516.6-runtime        (installed)
meego-netbook-ia32-qemu-1.2.0.0.0.20110516.6-runtime       (installed)
...

(You may get different output depending on which runtimes you installed.)

The installed runtimes are available to run. To run one, do:

$ sudo mad remote -r <runtime name> poweron -fg

The -fg flag puts the process into the foreground, which is useful for debugging.

For example, to start the tablet runtime above, do:

$ sudo mad remote -r meego-tablet-ia32-qemu-1.2.0.0.0.20110516.6-runtime poweron -fg

Here's what the tablet image looks like (this is the Applications zone):

Sdk-1.2-tablet-under-qemu.png

And the IA32 netbook runtime:

$ sudo mad remote -r meego-netbook-ia32-qemu-1.2.0.0.0.20110516.6-runtime poweron -fg

Here's what the netbook image looks like (this is Myzone):

Sdk-1.2-netbook-under-qemu.png ???verify screenshot

You can now use this running image as a deployment target for Qt Creator, or log into it manually over SSH (see below).

When you've finished, use the power off icon in the emulator to switch it off (if available); or from the command line, do:

$ sudo mad remote -r <netbook runtime name> poweroff

Using a runtime without graphics

If you are having issues with running QEMU, you can try running the image without graphics to help isolate the problem. To do this, set QEMU_NOGRAPHIC=yes in the environment before running the emulator. For example:

$ QEMU_NOGRAPHIC=yes mad remote -r <handset runtime name> poweron

If you are then able to ssh into the running image, you can be fairly certain that your issues are graphics-related, rather than anything to do with the image itself.

SSH into QEMU Image

Any time MeeGo is running in QEMU, you can use SSH to connect to the image from a command-line terminal on the host system.

When the SDK starts QEMU, it sets up a redirect from port 6666 on the host to the SSH port (port 22) on the guest (MeeGo on QEMU). So you can log into the running QEMU image with:

$ ssh meego@127.0.0.1 -p 6666

Two user accounts are available:

  1. User: meego, password: meego
  2. User: root, password: meego

Configuring access to an emulated device in Qt Creator

Sdk-docs-QtCreator-configuring-emulator-access.png
 ???verify screenshot

To configure access to an emulated device:

  1. Open Tools > Options > Projects > MeeGo Device Configurations.
  2. In the dialog box, create a new Device Configuration by clicking on Add.
  3. Give the new Device Configuration a name in the Configuration Name text field, and add the following settings in the other test fields:
    • Device type: choose MeeGo emulator
    • Authentication type: Password
    • Host name: 127.0.0.1
    • Ports, SSH: 6666
      Note that the emulator is setup with a redirect from port 6666 on localhost to the SSH port (22) of the emulated device.
    • Ports, Gdb Server: 13219 (the default)
    Note: If this port is not free, you can select another one.
    • Connection Timeout: 30
    • User Name: root
    • Password: meego
  4. Click Apply.
  5. To test the settings, ensure that the emulated device is running, then click Test.
    If successful, you'll see a dialog box with the message "Device configuration successful".
    If the message "Could not connect to host" is displayed, check your setting selections and make sure that the network is connected.
  6. Click Close and OK.

Screen rotation

???check this

If you are using a handset image with QEMU, you can rotate the screen with Alt+Shift+R (???does R have to be uppercase?):

???screenshot

Personal tools