Meego Wiki
Views

SDK/Docs/1.1/Getting started with the MeeGo SDK for Windows

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Undo revision 25627 by Maxayu (Talk))
(Download and setup the MeeGo SDK)
Line 57: Line 57:
         <li> 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.</li>
         <li> 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.</li>
         <ul>
         <ul>
-
             <li><b>Problems:</b> If there is error like "/bin/mad-admin: line 25: __ml_path__/madlib/madlib.sh:" No such file or directory.". Run the /postinstall/postinstall.sh to fix paths and try again.</li>
+
             <li><b>Known issue:</b> If there is error like "/bin/mad-admin: line 25: __ml_path__/madlib/madlib.sh:" No such file or directory.". Run the /postinstall/postinstall.sh to fix paths and try again.</li>
         </ul>
         </ul>
     </ol>
     </ol>

Revision as of 01:31, 22 December 2010


This page describes how to install and configure the MeeGo 1.1 SDK on your Windows development system. For more information about MeeGo SDK for Windows, check SDK/MeeGo_SDK_for_Windows.

Contents

Prerequisites

  • 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:
    • Targets:
      • meego-handset-ia32-w32-1.1
      • meego-netbook-ia32-w32-1.1
      • meego-core-armv7l-1.1
    • Runtimes:
      • meego-handset-ia32-w32-qemu-1.1.20101031.2201-sda-runtime
      • meego-netbook-ia32-w32-qemu-1.1.20101031.2037-sda-runtime
    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

  1. Download the MeeGo SDK installer:
  2. FileDescriptionSizeMD5SUM
    http://download3.meego.com/MeeGoSDK/1.1/meego-1.1-sdk-beta-online-installer.exe MeeGo SDK Windows online installer 14MB 0d1f92c90232641f8b638727886e6874
    http://download3.meego.com/MeeGoSDK/1.1/meego-1.1-sdk-beta-offline-installer.exe MeeGo SDK Windows offline installer 54MB be824c3e19e849aa69582689f65eaafa
  3. Double-click on the downloaded .exe file and follow the prompts to install the SDK.
  4. 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.
  5. Launch MADDE Terminal with Start > All Programs > MeeGo SDK > MADDE Terminal.
    1. Run something like "export http_proxy=XXX" if you are in an intranet.
    2. 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.
    3. 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.
      • Known issue: If there is error like "/bin/mad-admin: line 25: __ml_path__/madlib/madlib.sh:" No such file or directory.". Run the /postinstall/postinstall.sh to fix paths and try again.
  6. Launch Qt Creator with Start > All Programs > MeeGo SDK > QtCreator.
  7. Configure Qt Creator to support MeeGo sysroot. Inside Qt Creator, follow these steps:
    1. From the Tools menu, choose Options.
    2. Click into the Qt4 section, and make sure the Qt Versions tab is open.
    3. 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:
      Meego-sdk-qt4.png

Use Qt Creator to develop MeeGo Applications

  1. Create a MeeGo touch project (for handset) or Qt Gui project (for netbook)
  2. Go to the menu: File -> New File or Project -> Qt Application Project -> Meego Touch Framework Application.
    Windows sdk 2.png

    In "Project setup" dialog, choose "meego-handset".

    Meego-sdk-project-setup.png

  3. Set up emulator: Install kqemu accelerator for QEMU on 32-bit Windows system
  4. 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.


  5. Configuration for a MeeGo Emulator device

  6. 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".
    Meego-sdk-emulator.png

  7. Set Run Configuration
  8. 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).
    Meego-sdk-run-settings.png

  9. Build, run and deploy the application
  10. 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.
    Qemu-handset.png


  11. Debug the application
  12. You can also debug the application by clicking the "Debug" icon. Setting breakpoints and stepping are the same as local applications.
    Qemu-handset-debug.png

Configure Qt Creator to work with real devices

  1. 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
  2. Real-device.png

  3. 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"
  4. Meego-sdk-run-settings-real-device.png

  5. Launch terminal inside the device, and run command "xhost +" in it.
  6. Click "Run" or "Debug" on the lower left corner of Qt Creator to run or debug your application on the configured Device.

How to SSH into QEMU Image

Anytime MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system.

  1. Launch QEMU with MeeGo image
  2. From a terminal on the host, connect to the running image
  3. $ ssh meego@127.0.0.1 -p 6666
    

Two user accounts are available in the MeeGo images:
User: meego Password: meego
User: root      Password: meego

Known issues about QEMU image and workarounds for them

  1. SSH into QEMU runtime as root user.
  2. edit /usr/sbin/meego-dm to add "sleep 5"
  3. sleep 5    # new added line
    shopt -s execfail
    
  1. SSH into QEMU runtime as root user.
  2. Invoke the following command:
  3. rm -rf /etc/ssh/*key*
    

For advanced users only: How to create 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 bug #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 bug #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
Personal tools