Getting started with the MeeGo SDK for Linux

Introduction to the Software Developments on Meego ™

Student Workbook v.10

___________________________________________________________________

Intel® Academic Community






Disclaimer

The information contained in this document is provided for informational purposes only and represents the current view of Intel Corporation ("Intel") and its contributors ("Contributors") on, as of the date of publication. Intel and the Contributors make no commitment to update the information contained in this document, and Intel reserves the right to make changes at any time, without notice.

DISCLAIMER. THIS DOCUMENT, IS PROVIDED "AS IS." NEITHER INTEL, NOR THE CONTRIBUTORS MAKE ANY REPRESENTATIONS OF ANY KIND WITH RESPECT TO PRODUCTS REFERENCED HEREIN, WHETHER SUCH PRODUCTS ARE THOSE OF INTEL, THE CONTRIBUTORS, OR THIRD PARTIES. INTEL, AND ITS CONTRIBUTORS EXPRESSLY DISCLAIM ANY AND ALL WARRANTIES, IMPLIED OR EXPRESS, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE, NON-INFRINGEMENT, AND ANY WARRANTY ARISING OUT OF THE INFORMATION CONTAINED HEREIN, INCLUDING WITHOUT LIMITATION, ANY PRODUCTS, SPECIFICATIONS, OR OTHER MATERIALS REFERENCED HEREIN. INTEL, AND ITS CONTRIBUTORS DO NOT WARRANT THAT THIS DOCUMENT IS FREE FROM ERRORS, OR THAT ANY PRODUCTS OR OTHER TECHNOLOGY DEVELOPED IN CONFORMANCE WITH THIS DOCUMENT WILL PERFORM IN THE INTENDED MANNER, OR WILL BE FREE FROM INFRINGEMENT OF THIRD PARTY PROPRIETARY RIGHTS, AND INTEL, AND ITS CONTRIBUTORS DISCLAIM ALL LIABILITY THEREFOR. INTEL, AND ITS CONTRIBUTORS DO NOT WARRANT THAT ANY PRODUCT REFERENCED HEREIN OR ANY PRODUCT OR TECHNOLOGY DEVELOPED IN RELIANCE UPON THIS DOCUMENT, IN WHOLE OR IN PART, WILL BE SUFFICIENT, ACCURATE, RELIABLE, COMPLETE, FREE FROM DEFECTS OR SAFE FOR ITS INTENDED PURPOSE, AND HEREBY DISCLAIM ALL LIABILITIES THEREFOR. ANY PERSON MAKING, USING OR SELLING SUCH PRODUCT OR TECHNOLOGY DOES SO AT HIS OR HER OWN RISK.

Licenses may be required. Intel, its contributors and others may have patents or pending patent applications, trademarks, copyrights or other intellectual proprietary rights covering subject matter contained or described in this document. No license, express, implied, by estoppels or otherwise, to any intellectual property rights of Intel or any other party is granted herein. It is your responsibility to seek licenses for such intellectual property rights from Intel and others where appropriate. Limited License Grant. Intel hereby grants you a limited copyright license to copy this document for your use and internal distribution only. You may not distribute this document externally, in whole or in part, to any other person or entity. LIMITED LIABILITY. IN NO EVENT SHALL INTEL, OR ITS CONTRIBUTORS HAVE ANY LIABILITY TO YOU OR TO ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF YOUR USE OF THIS DOCUMENT OR RELIANCE UPON THE INFORMATION CONTAINED HEREIN, UNDER ANY CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL, OR ANY CONTRIBUTOR HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.

Intel and Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

*Other names and brands may be claimed as the property of others.

Copyright © 2008, Intel Corporation. All Rights Reserved.
Table of Contents

Getting started with the MeeGo SDK for Linux 1

Disclaimer 2

Prerequisites 1

Configuring distributions package manager 1

On Ubuntu or Debian 1

On Fedora 1

On MeeGo 2

On openSUSE 2

Installing the MeeGo SDK 2

Install MeeGo Target 3

Determine the target you want to use 3

Create the target 3

Verify target installation 3

Verify correct build 4

Install MeeGo Runtime 4

Configuring Qt Creator to use the MeeGo toolchain(s) 4

Using the MeeGo SDK Qt version 5

Developing with the SDK 5

Removing components 5

On Ubuntu 6

On Fedora 6

On openSUSE / MeeGo 6

Introduction to the Software Development on Meego ™ Intel® Academic Community
Student Workbook © 2011 Intel® Corporation

1


Prerequisites

· Hardware: Any reasonably modern hardware, such as 32-bits Intel Core 2 CPU. To use QEMU to run MeeGo in a virtual machine your system must have support for Virtualization Technology (VT). See the Graphics Acceleration page for details.

· Software: The MeeGo 1.1 SDK has been validated on 32-bit versions of Fedora 12, [Fedora 13, Ubuntu 9.10, and Ubuntu 10.04 LTS. For support status and issues using other host OS's see this page.

· Root privileges: To install the SDK you will need to have root privileges. Commands that require root privileges are prefaced with "sudo". For convenience, you may wish to setup "sudo" capabilities to easily switch between root and normal user privileges (see sudoers manpage.)

· Commands: Terminal commands are prefaced with "$". Do not enter $ when entering the commands in your terminal.

System Requirements

The process will use around 4G of hard disk space, and the system requirement is same as Oracle Virtualbox:

· Any x86 compatible processor from Intel or AMD, with or without VT-x or AMD-V support, and with at least 1GB RAM.

· Windows 7 or Windows XP (Intel Meego SDK for Appup is ready)

· 4G Hard disk

· Intel Integrated Graphic

Download and Install Oracle Virtualbox

Go to Oracle website to download the Open Sourced Virtualbox: Download VirtualBox . (http://www.virtualbox.org/wiki/Downloads). You need to read and accept the agreements of using Oracle Open Source Virtualbox. The version that has been verified is VirtualBox 4.0.6 for Windows hosts. You will also find out that Oracle Virtualbox is also cross platforms, and you can find Windows, Apple IOS, Linux and Solaris which also mean that you can run Virtual Meego Tablet on those Platform once you are done with this step by step. Follow the default instruction to install Virtualbox in your system, and get ready for next step.

Create Meego Image that is Compatible with Oracle Virtual Box

Go directly to the backyard repository of Meego.com to grab the latest Meego Tablet image:

http://repo.meego.com/MeeGo/builds/trunk/latest/images/meego-tablet-ia32-qemu/

After download the ~700M image, you can use Winzip or Winrar to unpack the package, you will get four files as below:

Here are the tricks that several of my Intel expert peers have uncovered, and I got it work after several tries. This time we will use the Virtualbox Management Tool (VBoxManage.exe) that is provided by Oracle to directly convert the Meego Tablet's raw image to Oracle's vdi image VirtualBox Disk Image (VDI), and by-pass the installation based on iso/img. When you install Oracle VirtualBox, the VBoxManage.exe is placed at default installation folder at C:\Program Files\Oracle\VirtualBox ). I tried copyVBoxManage.exe out of this folder to do the conversion , but always got .dll missing error after several tries, and could not figure out the solution. So I get out of trouble shooting mood, and do the following:

· Copy the entire folder that you unzipped Meego image from your download above, and contains the .raw image Meego to C:\Program Files\Oracle\VirtualBox . For convenience, rename the folder name to meego.

· Start your DOS Window by Run as Administrator and cd to C:\Program Files\Oracle\VirtualBox

· As the version of Meego image has being updated frequently, the version # is always changing. However, the format is same: meego-tablet-ia32-qemu-${version}-sda-raw。The version I used is 1.1.99.4.20110426.4 as below, You will need to use your version # of your download, and execute command below :

C:\Program Files\Oracle\VirtualBox>VBoxManage convertfromraw meego\meego-tablet-ia32-qemu-1.1.99.4.20110426.4-sda.raw meego\meego-tablet-ia32-qemu-1.1.99.4.20110426.4-sda.vdi

The terminal outputs will be:

Converting from raw image file="meego\meego-tablet-ia32-qemu-1.1.99.4.20110426.4-sda.raw" to file="meego\meego-tablet-ia32-qemu-1.1.99.4.20110426.4-sda.vdi"...

Creating dynamic image with size 3145728001 bytes (3001MB)...

After conversion is complete,prompt will return to C:\Program Files\Oracle\VirtualBox>

Congratulation! you have just made a Oracle Meego VDI image based on the latest Meego Tablet image just published at Meego Repository. After this step, you can copy and move the vdi image ( around 1.7G) to the location of your choice, and get ready for the next step(A sweet reminder, same vdi can also be used in the VirtualBox on Linux, IOS and Solaris etc ).

Create Virtual Meego Tablet in Oracle Virtual Box

Start Virtualbox and click NEW to create the new Meego Tablet Release:

If you have use Oracle Virtualbox before for Meego Netbook before, you know you will choose Fedora as the OS. This time is different; you will need to choose Operating System as Linux and Version as Linux 2.6 as above.

The RAM of laptop tested is 2GB, it is recommended to select 360M of memory for Virtual Meego Tablet.

For Virtual Hard Disk, make sure Boot Hard Disk is selected. Select Use Existing Hard Disk, and then open and select the Oracle .vdi image just created above by clicking and open the folder icon.

To fully utilize the CPU virtual technology, you will need to select Extended Features Enable PAE/NX. And also under Acceleration menu, you will need to select both Enable VT-x/AMD-V and Enable Nested Paging.

If VT on your laptop’s VT is not turned on yet, you can enable it in BIOS when you power on your laptop. Most laptops have VT support long time ago. Then, have a quick check of your configuration at the Summary page

Now, let's start the Virtual Meego Tablet:

Running Virtual Meego Tablet

Oracle Virtualbox is loading about 3G of Software, so the system will take 2-4 minutes to start:

Now, with a Virtual Meego Tablet operating system , touch screen, which is the major way of input and interaction for mobile device and tablet, is not an option. Instead, the Mouse is used to simulate the touch screen. Just move the mouse to the lock-like Icon on the middle right of the screen, and press the left mouse button, you will see a blue moon-like shape coming out. Continue to press the left mouse button and pull to the left, magically, you can put out the Meego Menu:

If you are using the real Meego Tablet ( like an ExoPC, a Lenovo S10, or Webtab tablet etc), what you actually do is use your finger to press the white lock-like icon to pull out the menu ( if you have not setup the user password, or you will need to enter the password). In comparison with the real device and the Virtual Meego tablet, the advantage of Oracle Virtualbox is more responsive and user friendly virtual environment much better than the Meego emulator running under Qemu.

User Interface on Virtual Meego Tablet

Unlike the typical Windows application, the application in Virtual Meego Tablet (Web browser, Photo Album, Movie, email etc) all are started without typical minimize/maximize/close option as below:

Instead, closing an application is done by pressing the Home Key. In Virtual Meego Tablet on Oracle Virtualbox, the key that emulate "HOME" key is Window Home key:

By pressing the "Window" key, you will be able to exit any app that you are currently running and enter the following interface:

On top left is the regular menu that displays the frequently used items, and on the right is the complete menu of the system (see below). The top left displays the currently running Terminal window.

With more apps added, the menu will extend to the top side and a page menu will appear.

By default, Virtual Meego Tablet interface will automatically catch the Keyboard and Mouse input, if you want to go back to your Windows host interface, just uses the right Ctrl key:

Networking Virtual Meego Tablet with your Windows Host System

As Intel Appup(SM) Store already launched Intel Appup Meego SDK for Windows, you can start to develop Meego Apps using Meego SDK 1.2 and use real Meego tablet or Virtual Meego tablet for testing, validation and packaging for Intel Appup Store. By networking Virtual Meego Tablet with your Windows Host system ( two OS on same systems), you will be able to directly test any Meego Apps you are developing directly on the same laptop, just like testing on a real Meego tablet device on your local IP network.

To set up the Network connection, do below:

· Start Oracle VirtualBox and then Setting -->Network

· Change Network Adapter Attached to to: Host-only Adapter, and then change Name:to VirtualBox Host-only Ethernet Adapter. Then start the Meego Tablet, Open a terminal Window, use ifconfig command to find the IP address of your Meego Tablet Virtual OS:

· Start WinSCP ( If you haven't yet install WinSCP, you can download from http://winscp.net/eng/download.php)。 Make sure you set the port # as 22, and the password for default User Meego account is meego (latter we will also learn how to setup and push apps directly from QT to VirtualBox):

Once the connection is established, you can upload the Development environment, update, Meego SDK and your apps into your Virtual Meego Tablet, and directly test and validate your apps.

Introduction to the Software Development on Meego ™ Intel® Academic Community
Student Workbook © 2011 Intel® Corporation

1