This page describes how to install and configure the MeeGo 1.1 SDK on your Windows development system.
- Hardware: Any reasonably modern IA hardware, such as 32-bit Intel Atom or Intel Core 2 CPU.
- 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:
- Known to work: Intel(R) Core(TM) 2 Quad CPU, Q8200; Intel(R) i5 and i7
- Known not to work: Intel(R) Core(TM) 2 Duo P9400 in Thinkpad T400; Intel(R) Core(TM)2 Q9400 in HP7900 Ultra-slim
- Software: Only Windows XP 32-bit and Windows 7 32-bit are officially supported.
- Currently the QEMU emulator only works for IA targets on 32-bit Windows. If you are using 64-bit Windows, QEMU is not available.
- For support status and issues using other host operating systems, see this page.
- Filesystem: MeeGo SDK should be installed on a hardlink-capable filesystem such as NTFS. FAT* filesystems are not hardlink-capable and not supported.
Notes and caveats
- QEMU runtimes and targets: The following pre-defined targets and runtimes are the only ones which have been verified on Windows:
- Others may be listed by MADDE, but are not guaranteed to work.
- 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.
- Commands: Terminal commands in the instructions below are prefaced with "$". Do not include $ when entering the commands in your terminal.
Download and setup the MeeGo SDK
- Download the MeeGo SDK installer:
- Double-click on the downloaded
.exe file and follow the prompts to install the SDK.
- 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.
- Launch MADDE Terminal with Start > All Programs > MeeGo SDK > MADDE Terminal.
- Run something like "export http_proxy=XXX" if you are in an intranet.
- Run "mad-admin create -f meego-handset-ia32-w32-1.1" to create target "meego-handset-ia32-w32-1.1". Some huge files will be downloaded automatically.
- Run "mad-admin create -e -f meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime" to create a runtime "meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime". Some huge files will be downloaded automatically.
- Launch Qt Creator with Start > All Programs > MeeGo SDK > QtCreator.
- Configure Qt Creator to support MeeGo sysroot. Inside Qt Creator, follow these steps:
- From the Tools menu, choose Options.
- Click into the Qt4 section, and make sure the Qt Versions tab is open.
- Click the + button, and then fill the Version name and the qmake location of the MeeGo target:
- Version name: meego-handset
- qmake location: <MEEGO_SDK>\MADDE\targets\<target name>\bin\qmake.exe
Replace <MEEGO_SDK> with the directory where you installed MeeGo SDK; the default is
C:\MeeGoSDK_1.1; replace <target_name> with the name of the target (for example, meego-handset-ia32-w32-1.1).
- 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.
The result should look like this:
Use Qt Creator to develop MeeGo Applications
- Create a MeeGo touch project (for handset) or Qt Gui project (for netbook)
Go to the menu: File -> New File or Project -> Qt Application Project -> Meego Touch Framework Application.
In "Project setup" dialog, choose "meego-handset".
- Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system
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.
Download package from http://wiki.qemu.org/download/kqemu-1.4.0pre1.tar.gz
Get the kqemu.inf and kqemu.sys files from above package
For Windows XP system, right click the kqemu.inf file and select "install".
For Windows 7 or Windows Vista system, edit the kqemu.inf file to do below changes, and then right click the kqemu.inf, select "install".
[DefaultInstall.NT] --> [DefaultInstall]
[DefaultInstall.NT.Services] --> [DefaultInstall.Services]
[Uninstall.NT] --> [Uninstall]
[Uninstall.NT.Services] --> [Uninstall.Services]
Start the kqemu manually. Select Start > All Programs > Accessories, click right mouse button over Command Prompt, and select "Run as administrator". In Command Prompt, run the following command:
net start kqemu
You need to start kqemu again after you reboot the system.
- Configuration for a MeeGo Emulator device
Get to the menu: Tools -> Options -> Projects -> MeeGo Device Configurations. Click "Add" button to add a runtime for emulator. Set "Device type" to "MeeGo emulator"; set "Authentication type" to "Password"; set "Username" to "root"; set "Password" to "meego".
- Set Run Configuration
Click "Projects" again on the left side. Select "Run" in the MeeGo Build/Run box at the top. Make sure that the "Device configuration" is set to "MeeGo Emulator". This will ensure that QEMU is started when you run your application. You can now launch the QEMU MeeGo emulator. Click the "Start Meego emulator" icon near the bottom left corner of Qt Creator (circled in red in the screenshot below).
- Build, run and deploy the application
After QEMU starts, click the "Run" 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.
- Debug the application
You can also debug the application by clicking the "Debug" icon. Setting breakpoints and stepping are the same as local applications.
Configure Qt Creator to work with real devices
- Go to Tools -> Options -> Projects -> MeeGo Device Configurations and click "Add" button. Select "Remote Device" for "Device type", input other information and give a name for this configuration
- Open your project and in the "Projects" mode, click "Run" in the little MeeGo target window, and select the configuration you just created in "Device Configuration"
- Launch terminal inside the device, and run command "xhost +" in it.
- Click "Run" or "Debug" on the lower left corner of Qt Creator to run or debug your application on the configured Device.
For advanced users: more information about QEMU images used by SDK for windows
The QEMU images for SDK on Linux could be built from the 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:
1, mount into the image
sudo mount -o loop,offset=512 abc.raw /mnt
2, edit /mnt/usr/sbin/meego-dm to add "sleep 5" to solve #10412: mouse udev not ready before starting X server while running handset image on QEMU windows
sleep 5 # new added line
shopt -s execfail
3, edit /mnt/boot/extlinux/extlinux.conf to add kernel option "intel_idle.max-cstate=0" to solve #10149: Home screen can't show up after starting emulator from Qt Creator on Windows7 32bit
append ro root=/dev/sda1 vga=current intel_idle.max-cstate=0 quiet
4, unmount the image
sudo umount /mnt