| Line 62: | Line 62: | ||
</ol> | </ol> | ||
| - | == Start the MeeGo UI in Xephyr == | + | === Start the MeeGo UI in Xephyr === |
<ol> | <ol> | ||
<li>Set the DISPLAY environment variable</li> | <li>Set the DISPLAY environment variable</li> | ||
| Line 75: | Line 75: | ||
This starts the Xephyr server and runs a script to start the MeeGo UI. | This starts the Xephyr server and runs a script to start the MeeGo UI. | ||
| - | < | + | <table><tr><td>[[File:qemu-handset.jpg|thumb|MeeGo Handset UI in QEMU]]</td> |
| - | + | <td>[[File:qemu-netbook.jpg|thumb|MeeGo Netbook UI in QEMU]]</td> | |
| - | + | </tr></table> | |
| - | </ | + | |
| - | + | <li>Exit the Simulator</li> | |
| - | If you are having issues | + | You can stop Xephyr by closing the Xephyr window (click X in the upper corner). You can exit the MeeGo chroot terminal with: |
| + | # exit | ||
| + | This closes down any processes started inside the chroot and unmounts directories used by the chroot environment. The output should look something like this: | ||
| + | <pre> | ||
| + | exit | ||
| + | umount /home/ell/meego-sdk-0524/proc | ||
| + | umount /home/ell/meego-sdk-0524/sys | ||
| + | umount /home/ell/meego-sdk-0524/dev/pts | ||
| + | umount /home/ell/meego-sdk-0524/dev | ||
| + | umount /home/ell/meego-sdk-0524/tmp | ||
| + | umount /home/ell/meego-sdk-0524/var/lib/dbus | ||
| + | umount /home/ell/meego-sdk-0524/var/run/dbus | ||
| + | </pre> | ||
| + | </ol> | ||
| + | === Debugging the Simulator === | ||
| + | If you are having issues running Xephyr, use the debug script to see what's happening: | ||
startmeego-debug | startmeego-debug | ||
| Line 88: | Line 102: | ||
This shows the console output from the script, which may give you some clues if it's not working correctly. | This shows the console output from the script, which may give you some clues if it's not working correctly. | ||
| - | === | + | === Application Development === |
| - | + | Your MeeGo application can be built and run from the MeeGo chroot terminal. By default, your application UI will display in a new window on your desktop. To configure your application to show up inside the MeeGo UI in Xephyr, start your application as follows in the MeeGo chroot terminal: | |
| - | + | # DISPLAY=:2 <your application> | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | < | + | |
| - | + | ||
| + | </ol> | ||
=== Installing other software === | === Installing other software === | ||
You can install additional software into the MeeGo chroot environment. From the MeeGo chroot terminal: | You can install additional software into the MeeGo chroot environment. From the MeeGo chroot terminal: | ||
| Line 109: | Line 117: | ||
| - | Known issues | + | === Known issues === |
* Panels which rely on DBus (like the battery, networking) don't report devices properly. | * Panels which rely on DBus (like the battery, networking) don't report devices properly. | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
The MeeGo SDK with Xephyr provides a development environment on Linux workstations for Netbook and Handheld applications.
Contents |
$ lspci | grep VGA
Desired output: 00:02.0 VGA compatible controller: Intel Corporation ...
If your system does not have Intel graphics, see the other SDK options.
The meego-sdk-chroot script sets up mountpoints for the chroot environment, then starts the chroot proper; it also attempts to unmount everything when it exits and clear up any processes started in the chroot. Get it with:
$ wget http://download3.meego.com/meego-sdk-chroot
Make the chroot script executable:
$ chmod +x ./meego-sdk-chroot
$ xhost +SI:localuser:<user name>
Example for user named "bob":
$ xhost +SI:localuser:bob
(You need to do this once before running Xephyr or Qt Creator after each reboot)
Create a directory for the MeeGo image contents:
$ mkdir <image destination directory>
Mount the image into the directory:
$ sudo mount -o loop,offset=512 <image file> <image destination directory>
Change the root of the terminal to the MeeGo OS root:
$ sudo ./meego-sdk-chroot <image destination directory>
Example:
$ sudo mkdir /opt/meego-handset $ sudo mount -o loop,offset=512 ./meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0721.raw /opt/meego-handset $ sudo ./meego-sdk-chroot /opt/meego-handset
The output from running meego-sdk-chroot should look like this:
mount --bind /proc /home/ell/meego-sdk-0524/proc mount --bind /sys /home/ell/meego-sdk-0524/sys mount --bind /dev /home/ell/meego-sdk-0524/dev mount --bind /dev/pts /home/ell/meego-sdk-0524/dev/pts mount --bind /tmp /home/ell/meego-sdk-0524/tmp mount --bind /var/lib/dbus /home/ell/meego-sdk-0524/var/lib/dbus mount --bind /var/run/dbus /home/ell/meego-sdk-0524/var/run/dbus cp /etc/resolv.conf /home/ell/meego-sdk-0524/etc/resolv.conf root@meego-handset-sdk:/#
This is now a MeeGo chroot terminal. It behaves just like a terminal running in the MeeGo OS: paths, programs, libraries, and environment are all the same as those on a MeeGo OS netbook or handset.
Note: meego-sdk-chroot uses the chroot command. Be sure it is in your path or create an alias:
$ alias chroot='/usr/sbin/chroot'
Xephyr does not see DISPLAY env variable from host system since Xephyr is running from the MeeGo chroot terminal. In the MeeGo chroot terminal, set the DISPLAY variable before running the startmeego script below.
# export DISPLAY=:0
From inside the MeeGo chroot terminal:
# startmeego &
This starts the Xephyr server and runs a script to start the MeeGo UI.
You can stop Xephyr by closing the Xephyr window (click X in the upper corner). You can exit the MeeGo chroot terminal with:
# exit
This closes down any processes started inside the chroot and unmounts directories used by the chroot environment. The output should look something like this:
exit umount /home/ell/meego-sdk-0524/proc umount /home/ell/meego-sdk-0524/sys umount /home/ell/meego-sdk-0524/dev/pts umount /home/ell/meego-sdk-0524/dev umount /home/ell/meego-sdk-0524/tmp umount /home/ell/meego-sdk-0524/var/lib/dbus umount /home/ell/meego-sdk-0524/var/run/dbus
If you are having issues running Xephyr, use the debug script to see what's happening:
startmeego-debug
This shows the console output from the script, which may give you some clues if it's not working correctly.
Your MeeGo application can be built and run from the MeeGo chroot terminal. By default, your application UI will display in a new window on your desktop. To configure your application to show up inside the MeeGo UI in Xephyr, start your application as follows in the MeeGo chroot terminal:
# DISPLAY=:2 <your application>
</ol>
You can install additional software into the MeeGo chroot environment. From the MeeGo chroot terminal:
# zypper install <package>
You can also upgrade the whole MeeGo image using:
# zypper dist-upgrade