(→Creating a runtime) |
|||
| (38 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
| + | [[category:Meego-1.1]] | ||
| + | |||
[http://wiki.qemu.org/ 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. | [http://wiki.qemu.org/ 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: | If you haven't already installed the SDK, see: | ||
| - | * [[SDK/Docs/1.1/Getting started with the MeeGo SDK for Linux|Installing the SDK on Linux]] | + | * [[SDK/Docs/1.1/Getting started with the MeeGo SDK for Linux|Installing the SDK on Linux]] or [[SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Windows|Installing the SDK on Windows]] |
| - | + | For QEMU, it is important to check your graphics capability. See [[SDK/Docs/1.1/MeeGo SDK Graphics Acceleration|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.''' | |
| - | + | It is also possible to build and install QEMU manually. See the [[SDK/Docs/1.1/Building_QEMU_Tools|QEMU tools page]] for details. | |
| - | == | + | The best and simplest way to use a MeeGo OS image with QEMU is to use <code>mad-admin</code> to download a runtime, and <code>mad</code> to run it. See the instructions below for how to do this. |
| + | |||
| + | == Install a MeeGo Runtime == | ||
You can get a list of available runtimes for your version of MADDE with: | You can get a list of available runtimes for your version of MADDE with: | ||
| - | + | $ sudo mad-admin list runtimes | |
| - | $ mad-admin list runtimes | + | meego-handset-ia32-qemu-1.1.2-runtime (installable) |
| - | + | meego-netbook-ia32-qemu-1.1.2-runtime (installable) | |
| - | + | ||
| - | meego-handset-ia32-qemu-1.1. | + | |
| - | meego-netbook-ia32-qemu-1.1. | + | |
| - | + | ||
| - | + | ||
| - | + | Run the command below. Replace '''<runtime name>''' with one of | |
| - | + | * '''meego-handset-ia32-qemu-1.1.2-runtime''': Run the MeeGo OS with handset UI. | |
| + | * '''meego-netbook-ia32-qemu-1.1.2-runtime''': Run the MeeGo OS with netbook UI. | ||
| - | + | $ sudo mad-admin create -f -e '''<runtime name>''' | |
| - | + | This will download the runtime (a ~650+ MB .bz2 file) into MADDE's <code>cache</code> directory and decompress it in the <code>runtimes</code> directory. If network/proxy issues prevent the image from downloading, the url for the runtime can be extracted from the MADDE's <code>cache/madde.conf.d/<runtime>.conf</code> file, downloaded manually, and copied into the <code>cache</code> directory. Re-running the above command will now bypass the download and directly decompress the runtime. | |
| - | < | + | After installing, you can check that the runtime is installed by running <code>mad-admin list</code> again. |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | </ | + | |
| - | Note that '''installed''' | + | $ sudo mad-admin list runtimes |
| + | meego-handset-ia32-qemu-1.1.2-runtime (installed) | ||
| + | meego-netbook-ia32-qemu-1.1.2-runtime (installable) | ||
| + | |||
| + | Note that '''installed''' above indicates that the handset runtime was successfully downloaded and configured for QEMU. | ||
== Using a runtime == | == Using a runtime == | ||
| - | To start an installed runtime, | + | To start an installed runtime, use the <code>mad</code> command to boot the image inside QEMU. |
| - | + | ||
| - | + | To start the IA32 handset runtime: | |
| + | $ sudo mad remote -r '''<handset runtime name>''' poweron | ||
| - | Here's what | + | Here's what the handset image looks like (this is the ''Applications'' zone): |
[[File:Sdk-docs-ia32-handset-under-qemu.png|600px]] | [[File:Sdk-docs-ia32-handset-under-qemu.png|600px]] | ||
| + | |||
| + | To start the IA32 netbook runtime: | ||
| + | $ sudo mad remote -r '''<netbook runtime name>''' poweron | ||
| + | |||
| + | Here's what the netbook image looks like (this is ''Myzone''): | ||
| + | |||
| + | [[File:Sdk-docs-ia32-netbook-under-qemu.png|600px]] | ||
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). | ||
| - | When you've finished, use the power off icon in the emulator to switch it off. | + | 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 <code>QEMU_NOGRAPHIC=yes</code> 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. | ||
| + | |||
| + | === Shortcut button in the MeeGo SDK for Windows === | ||
| + | |||
| + | If you are using the MeeGo SDK for Windows, Qt Creator provides a shortcut button to start a QEMU runtime associated with a project, in the bottom left corner: | ||
| + | |||
| + | [[File:Meego-sdk-qtcreator-start-emulator-button.png]] | ||
| + | |||
| + | Clicking on this has the same effect as starting the QEMU runtime manually (as described above). | ||
| + | |||
| + | Once the emulator is running, the button shows a red square. When it is in this state, clicking on the button again stops the emulator. | ||
== SSH into QEMU Image == | == SSH into QEMU Image == | ||
| Line 79: | Line 102: | ||
#* Host name: 127.0.0.1 | #* Host name: 127.0.0.1 | ||
#* Ports, SSH: 6666 | #* Ports, SSH: 6666 | ||
| - | #*: Note that the emulator is | + | #*: Note that the emulator is set up with a redirect from port 6666 on localhost to the SSH port (22) of the emulated device. |
#* Ports, Gdb Server: 13219 (the default) | #* Ports, Gdb Server: 13219 (the default) | ||
#: '''Note:''' If this port is not free, you can select another one. | #: '''Note:''' If this port is not free, you can select another one. | ||
| Line 86: | Line 109: | ||
#* Password: meego | #* Password: meego | ||
# Click '''Apply'''. | # Click '''Apply'''. | ||
| - | # To test the settings, | + | # To test the settings, make sure that the emulated device is running, then click '''Test'''. |
#: If successful, you'll see a dialog box with the message "Device configuration successful". | #: 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. | #: If the message "Could not connect to host" is displayed, check your setting selections and make sure that the network is connected. | ||
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.
It is also possible to build and install QEMU manually. See the QEMU tools page for details.
The best and simplest way to use a MeeGo OS image with QEMU is to use mad-admin to download a runtime, and mad to run it. See the instructions below for how to do this.
Contents |
You can get a list of available runtimes for your version of MADDE with:
$ sudo mad-admin list runtimes meego-handset-ia32-qemu-1.1.2-runtime (installable) meego-netbook-ia32-qemu-1.1.2-runtime (installable)
Run the command below. Replace <runtime name> with one of
$ sudo mad-admin create -f -e <runtime name>
This will download the runtime (a ~650+ MB .bz2 file) into MADDE's cache directory and decompress it in the runtimes directory. If network/proxy issues prevent the image from downloading, the url for the runtime can be extracted from the MADDE's cache/madde.conf.d/<runtime>.conf file, downloaded manually, and copied into the cache directory. Re-running the above command will now bypass the download and directly decompress the runtime.
After installing, you can check that the runtime is installed by running mad-admin list again.
$ sudo mad-admin list runtimes meego-handset-ia32-qemu-1.1.2-runtime (installed) meego-netbook-ia32-qemu-1.1.2-runtime (installable)
Note that installed above indicates that the handset runtime was successfully downloaded and configured for QEMU.
To start an installed runtime, use the mad command to boot the image inside QEMU.
To start the IA32 handset runtime:
$ sudo mad remote -r <handset runtime name> poweron
Here's what the handset image looks like (this is the Applications zone):
To start the IA32 netbook runtime:
$ sudo mad remote -r <netbook runtime name> poweron
Here's what the netbook image looks like (this is Myzone):
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
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.
If you are using the MeeGo SDK for Windows, Qt Creator provides a shortcut button to start a QEMU runtime associated with a project, in the bottom left corner:
Clicking on this has the same effect as starting the QEMU runtime manually (as described above).
Once the emulator is running, the button shows a red square. When it is in this state, clicking on the button again stops the emulator.
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 MADDE 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:
To configure access to an emulated device: