MeeGo Operating System

Chapter 1

INTRODUCTION
MeeGo is a Linux-based platform that is capable of running on multiple computing devices, including handsets, netbooks, tablets, connected TVs and in-vehicle infotainment systems. The primary goal of the merger of the Maemo and Moblin projects was to unify the efforts of the Moblin and Maemo communities and to enable a next generation open source Linux-platform suited for a variety of client devices. Most importantly, MeeGo will be doing so while maintaining freedom for innovation. y Continuing the tradition of community involvement (inherited from Maemo and Moblin). y Accelerating time-to-market for a new set of applications, services and user experiences With the merger, the MeeGo project has now the opportunity to significantly expand the market opportunities on a wide range of devices and support multiple chip architectures (ARM and x86) from the get go. MeeGo includes: y Performance optimizations and features which enable rich computational and graphically oriented applications and connected services development. y y y y No-compromise internet standards support delivering the best web experiences . Easy to use, flexible and powerful UI/app development environment based on Qt Open source project organization managed by the Linux Foundation State of the Art Linux stack optimized for the size and capabilities of small footprint platforms and mobile devices, but delivering broad linux software application compatibility. MeeGo also provide a rich cross-platform development environment so applications can span multiple platforms and will unify developers providing a wealth of applications and services. Such opportunities for instances were out of reach for Maemo and Moblin individually. Furthermore, MeeGo is committed to work in the upstream projects so that everyone using those upstream projects can benefit from MeeGo¶s contributions to it.

1

MeeGo Operating System

Chapter 2

OVERVIEW
2.1 OPERATING SYSTEM An operating system (OS) is software, consisting of programs and data that runs on computers and manages computer hardware resources and provides common services for efficient execution of various application software. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between application programs and the computer hardware, although the application code is usually executed directly by the hardware and will frequently call the OS or be interrupted by it. Operating systems are found on almost any device that contains a computer² from cellular phones and video game consoles to supercomputers and web servers. Examples of popular modern operating systems for personal computers are GNU/Linux, Mac OS X, Microsoft Windows and Unix.

Fig 2.1 operating system

2

MeeGo Operating System

Common feature of OS are y y y y y y y y Process management Interrupt Memory management File management Device driver Networking(TCP/IP,UDP) Security(Process/Memory management) I/O

2.2 MOBILE OPERATING SYSTEM A mobile operating system, also known as a mobile OS, a mobile platform, or a handheld operating system, is the operating system that controls a mobile device or information appliance²similar in principle to an operating system such as Windows, Mac OS, or Linux that controls a desktop computer or laptop. However, they are currently somewhat simpler, and deal more with the wireless versions of broadband and local connectivity, mobile multimedia formats, and different input methods. Typical examples of devices running a mobile operating system are smartphones, personal digital assistants (PDAs), tablet computers and information appliances, or what are sometimes referred to as smart devices, which may also include embedded systems, or other mobile devices and wireless devices. The increasing importance of mobile devices has triggered intense competition amongst software giants such as Google, Microsoft, and Apple, as well as mobile industry leaders Nokia, Research In Motion (RIM), and Palm, in a bid to capture the largest market share pre-emptively. With the release of the iPhone in 2007, Apple significantly disrupted the mobile industry and effectively ushered in a new era of smartphone operating systems that focus on user experience and rely on touch-based interaction. In November 2007, Google formed the Open Handset Alliance with 79 other hardware, software, and telecom companies to make inroads into the smartphone market through its new Android operating system.
3

MeeGo Operating System

Though its reception was mainly positive from the media and public, the release of Android created a rift between Apple and Google, eventually leading to the resignation of Google's CEO, Eric Schmidt, from Apple's board of directors. Since the launch of both Apple's iOS and Google's Android, the smartphone market has exploded in popularity and in May 2010, accounted for more than 17.3% of all mobile phones sold. This has led to greater consumer awareness of the various mobile operating systems, with telecoms and manufacturers regularly advertising the advantages of their OS. As of January 2011, Google holds 33.3% of the smartphone market worldwide, demonstrating amazing growth for Android which held only 4.7% a year earlier. Nokia, Apple, RIM, and Microsoft hold 31%, 16.2%, 14.6%, and 3.1% respectively.

4

MeeGo Operating System

Chapter 3

MeeGo OPERATING SYSTEM
MeeGo is a Linux-based open source mobile operating system project. Primarily targeted at mobile devices and information appliances in the consumer electronics market, MeeGo is designed to act as an operating system for hardware platforms such as netbooks, entry-level desktops, nettops, tablet computers, mobile computing and communications devices, in-vehicle infotainment devices, SmartTV / ConnectedTV, IPTV-boxes, smart phones, and other embedded systems. MeeGo is today hosted by the Linux Foundation. It was first announced at Mobile World Congress in February 2010 by Intel and Nokia in a joint press conference. The stated aim is to merge the efforts of Intel's Moblin and Nokia's Maemo former projects into one new common project. According to Intel, MeeGo was developed because Microsoft did not offer comprehensive Windows 7 support for the Atom processor. Novell also plays a large part in the MeeGo effort, working with the Linux Foundation on their build infrastructure and official MeeGo products, and MeeGo is increasingly using more of Novell's technology that was originally developed for openSUSE, (including openSUSE Build Service, ZYpp for package management, and other system management tools). In November 2010, AMD also joined the alliance of companies that are actively developing MeeGo. Harmattan, originally slated to become Maemo 6, is now considered to be a MeeGo instance (though not a MeeGo product), and Nokia is giving up the Maemo branding for Harmattan and beyond (Maemo 5, aka Fremantle, and previous versions will still be referred to as Maemo).

5

MeeGo Operating System

Table 3.1 MeeGo Details

Company/Developer Programed in OS Family Working State Initial release Latest stable release Marketing Target Package manager Supported Platforms Kernel type Licence Official website

Linux foundation,Intel,Nokia,Novell,AMD C++ Linux Current 26 may 2010 1.1.2 7 January 2011 Mobile RPM Package Manager ARM and x86 Monolithic(Linux) Various Meego.com

Fig. 3.2 Logo of MeeGo

6

MeeGo Operating System

3.2 WHAT IS MeeGo? Meego is best of Nokia¶s Debian based Maemo and Intel¶s Fedora based Moblin. Maemo is a software platform developed by Nokia for smartphones and Internet tablets. It is based on the Debian Linux distribution. The platform comprises the Maemo operating system and the Maemo SDK. Maemo is mostly based on open source code, and has been developed by Maemo Devices within Nokia in collaboration with many open source projects such as the Linux kernel, Debian, and GNOME. Maemo is based on Debian GNU/Linux and draws much of its GUI, frameworks, and libraries from the GNOME project. It uses the Matchbox window manager, and the GTKbased Hildon as its GUI and application framework. The UI in Maemo 4 is similar to many handheld interfaces, and features a "home" screen, which acts as a central point from which all applications and settings are accessed. The home screen is divided into areas for launching applications, a menu bar, and a large customisable area that can display information such as an RSS reader, Internet radio player, and Google search box. The Maemo 5 UI is slightly different. The menu bar and info area are consolidated to the top of the display, and the four desktops can be customized with shortcuts and widgets. At the Mobile World Congress in February 2010, it was announced that the Maemo project would be merging with Moblin to create the MeeGo mobile software platform. Moblin, short for 'mobile Linux', was an open source operating system and application stack for Mobile Internet Devices (MIDs), netbooks, nettops and embedded devices. Now it is called MeeGo. Built around the Intel Atom processor, current builds are designed to minimize boot times and power consumption to create a netbook and MID-centric operating system. The netbook/desktop version of Moblin currently supports other chipsets based on

the SSSE3 instruction set, such as the Core2 and some Celeron processors. Commercial products built around Moblin 2 include a Foxconn netbook and an InvenTech smartphone, both announced at Computex 2009. Acer has also announced the replacement of Linpus Linux with Moblin on their Acer Aspire One netbooks.

7

MeeGo Operating System

For its mobile Internet deviceclass smartphone LG GW990, LG Electronics chose Moblin OS 2.1. More recently, Dell began accepting orders for its Ubuntu Moblin Remix, a Canonical Ltd. project that builds Moblin using a more full-featured Ubuntu distribution as base. Mandriva has started to offer Moblin's v2 version to all Mandriva distribution and netbook owners. At the Consumer Electronics Show in January 2010, MSI and Novell announced the upcoming availability of SUSE Moblin preloaded on the MSI U135 netbook. Following the recent release of Moblin version 2.1, this marks the first original equipment manufacturer (OEM) to sell a fully-supported Intel Atom processor-based netbook running Moblin-based technology to consumers. It was demonstrated at both the MSI and Intel booths at the show. In addition, Samsung showed four netbooks preloaded with SUSE Moblin. At the Mobile World Congress in February 2010, it was announced that the Moblin project would be merging with Maemo to create the MeeGo mobile software platform

Fig. 3.3 View of MeeGo OS

3.2 HISTORY OF MeeGo At the Mobile World Congress in February 2010, it was announced that to create the MeeGo mobile software platform. MeeGo is the open source operating system hosted by the linux and it formed by the collaboration of Nokia and Intel. As it¶s work still in progress we can¶t say many more about it¶s history.In December 2010 it is announced that MeeGo will be launched in the half of 2011. MeeGo 1.1.2 is recentaly launched in 7 January 2011.The other
8

MeeGo Operating System

version also will be launched soon. MeeGo is licensed by many vendors, git, bugzilla, repos, garage are the infrastructure developer of MeeGo. 3.3 FEATURES MeeGo operating system supports following features y y y y y y y y y y y y Segment specific user experience Connection Manager for data connectivity Telephony Framework Cloud device synchronization of PIM Data Integrated Social Networking Application Development Envioroment Improve power Management Fastboot and Shutdown Optimization Support for Multipal Multimedia Framework Internationlization with UI guidelines Gesture and Multi-Touch Framework Sensor Framewor

9

MeeGo Operating System

Fig. 3.4 Features of MeeGo OS

10

MeeGo Operating System

Chapter 4

TECHNICAL OVERVIEW
4.1 CORE OS The MeeGo Core operating system is a Linux distribution, drawing on Nokia¶s Debianbased Maemo and Intel¶s Fedora-based Moblin. MeeGo is one of the first Linux distributions to use the Btrfs file system as default, and uses RPM repositories. 4.2 ARCHITECTURE OF MeeGo The MeeGo platform has been carefully created to provide the components necessary for the best device user experience. The MeeGo platform architecture can be viewed in three different ways:
y

Layer view : It shows the separation of different layers and user experience (UX) verticals

y

Domain view : It shows the grouping of subsystems into architecture domains, based on similarities in technology and functionality

y

API view

: It shows the grouping of MeeGo API into functional areas

Layer View : The Layer view consists of three layers: User Experience, Application API, and Core OS layers. The user experience layer contains the UX verticals. It provides reference user experiences for multiple platform segments. MeeGo 1.1 contains reference user experiences for handhelds and netbooks. Additional platform segments will be supported over time. The User experience layer provides the Application Framework for each device profile. Netbook UX uses Clutter and MX Libraries. The Handset UX uses MeeGo Touch Framework with haptics, gestures, and input methods .Application API layer contains the MeeGo API. It provides the interface for application development. The current release includes Qt 4.7, Qt mobility 1.0, Open GL ES 1.1, and Open GL ES 2.0. Additional features are under development.

11

MeeGo Operating System

Core OS layer contains all the middleware/OS service domains and the hardware adaptation services. It includes the Linux kernel and all the middleware needed to define hardware and usage model independent API for building both native applications and web run time applications. The Hardware Adaptation API is for adapting MeeGo to support various hardware architectures.

Fig. 4.1 Architecture of MeeGo (Layer View) MeeGo Core OS architecture is grouped into domains, based on functionality in that area:
y y y y y

Security - Security framework and enablers Data Management - Meta-data storage Software Management - Package Management and software lifecycle System - Device State and Resource Policy Managmeent, Sensor, Context Location - Location Framework
12

MeeGo Operating System

y y y y y y y

Graphics - X11, OpenGL, input and Display drivers Essentials - System essential libraries Multimedia - Multimedia related enablers and drivers Personal Information Management - Calendar, Contacts, Backup, and Sync Communication - VOIP, IM, Presence, Cellular Telephony, and IP Connectivity Qt - Qt, QtWRT, Qt Mobility Kernel - Linux Kernel and core drivers

Hardware Adaptation Software There are multiple software components that a hardware vendor must provide for MeeGo to run successfully on their platform architecture, including platform kernel drivers, core architecture additions, kernel configuration, X software additions and configuration, modem support, and hardware specific media components. You can learn more about the hardware enabling process here. These specific software components are called the hardware adaptation software and are detailed below. The MeeGo Core OS defines interfaces for platform dependent hardware. It's the responsibility of a chipset's hardware adaptation software to implement these interfaces. The hardware adaptation software is divided into to the following adaptation subsystems:
y y y y y y y y y y y

Security Sensor Device Mode Haptics and Vibra Audio Camera Imaging and Video Location Cellular Connectivity Input
13

MeeGo Operating System

y

Display and Graphics

The MeeGo Porting Guide is available to provide valuable information for porting the adaptation subsystems in MeeGo to a new device. Domain View : The Domain view expands each domain and details the subsystems required to provide that functionality.

Fig. 4.2 Architecture of MeeGo (Domain View) Security (*): Security domain is responsible of security deployment across the system. It provides enablers for platform security and user identity.
y

Accounts - Provides a storage solution for user accounts. Applications which need to store and access user settings for the service they provide over a user account will use

14

MeeGo Operating System

the Accounts API. Instant messaging, e-mail, calendar, and sharing are examples of such applications.
y

Single Sign-On - Responsible for providing secure storage for credentials and framework for authentication plugins to different services

y

Integrity Protection Framework - Integrity protection of executables, configuration, and data files.

y

Certfificate Manager - Services for storing and validation of security certificates for various purposes (such as email, wifi, and browsing).

y

Software Distribution Security - Security aspects of software distribution including new application installations and updates.

y

Access Control Framework - Access control enforcement and access control policy for the device

y

Security Adaptation - Platform specific abstraction of security and crypto services.

Data Management: Data Management domain provides services for extracting and managing file meta-data (for example to support extracting and searching metadata for media files). The Data Management domain includes the following subsystem:
y

Content Framework - Tracker provides indexing, meta-data extraction, and search capabilities for a variety of data types, including media files, and documents.

Software Management: Software Management domain is responsible for package manager and its backend functionality.
y

Package Manager - PackageKit uses distribution package management tools to make installing and updating software on devices easier. It is a system activated daemon meaning that it is only run when the user is using the tools, and quits when it is no longer used.

15

MeeGo Operating System

System: System domain is responsible for device state/mode handling, time management,
policy control, startup services, and sensor abstraction.

y y

System Control - Device state and time management Resource Policy - Plugin based framework for audio, video, and system policy management.

y y y

Startup Services - Components related to system startup. Context Framework - High level API to numerous context properties of the device. Sensor Framework - Provides an interface to hardware sensors through logical sensors.

y y

Sensor Adaptation - Sensor specific plugins for sensor framework Device Mode Adaptation - Hardware abstraction layer for device mode related information (such as watchdogs, temperature sensors)

y

Haptics and Vibra Adaptation - Hardware abstraction layer for vibra and haptics devices

Location: Location domain provides location services.
y

Location Framework - GeoClue provides location data combined from number of sources, such as GPS, GSM cell, or wifi network.

y

Location Adaptation - Hardware abstraction layer for location source devices such as GPS.

Kernel: Kernel domain contains Linux kernel and device drivers.
y

Linux Kernel - Linux kernel 2.6.35 or newer.

Personal Information Management:

16

MeeGo Operating System

Personal Information Management domain enables managing user data on the device, including managing calendar, contacts, tasks, and retrieving data about the device context (such as device position, cable status). The domain includes the following subsystems:
y y y y y

Calendar Engine - Calendar engine provides an interface for accessing calendar data. Contacts Engine - Contacts engine provides an interface for accessing contact data. Email Engine - Email engine provides an interface for accessing emails. Backup Framework (*) Syncronization Framework - Synchronizing calendar, email, and contacts data between different devices via various transport layers like USB and Bluetooth

Multimedia: Multimedia domain provides audio and video playback, streaming, and imaging functionality to the system. In general, the domain takes care of the actual audio and video data handling (retrieval, demuxing, decoding and encoding, seeking, etc.). The domain includes the following subsystems:
y

Imaging and Video Adaptation - Platform specific codecs and containers for GStreamer

y

Camera Adaptation - Platform specific codecs and containers for GStreamer. Adaptation interface is Camera Bin.

y

UPnP - Universal Plug and Play provides a UPnP stack, the UPnP profile for audio and video.

y

G streamer - GStreamer, through its plugins, provides playback, streaming, and imaging functionality to the system.

y y

Audio Adaptation - Platform specific modules for Pulse Audio Pulse Audio - The audio subsystem handles audio inputs, post and pre processing, and outputs in a system. The purpose is to provide a proxy between audio applications and audio hardware.

17

MeeGo Operating System

Essentials: Essentials domain provides all system essential packages.
y

Base Essentials - Fundamental system tools and libraries

Communications: Communications domain provides Cellular and IP Telephony, Instant Messaging, Presence, Bluetooth, and Internet Connectivity services.
y

IP Telephony, Instant Messaging and Presence - Telepathy is a modular communications framework that enables real-time communication via pluggable protocol backends.

y

Cellular Framework - oFono provides cellular telephony stack and services in MeeGo. Plugin based architecture supports multiple platforms and modems.

y

ConnMan - Connection Manager provides services for managing internet connections.

y

Bluetooth - The Bluetooth subsystem consists of the Linux Bluetooth stack BlueZ, as well as related extensions.

y

Communication Adaptation - Platform specific modules for WiFi and Bluetooth devices and oFono plugins for different platforms and modems.

Qt: Qt domain contains cross platform toolkits such as Qt, Qt Mobility, Qt Web-Kit, and Qt Web runtime.
y y y

Qt - Qt application and UI toolkit. Qt Mobility - Qt Mobility APIs for MeeGo. Qt Web-kit - MeeGo provides Qt Web-kit as a layout engine. It renders web content (HTML, XML, XHTML, SVG, CSS, JavaScript, etc.) for on-screen display within applications.

18

MeeGo Operating System

y

Web Runtime - Provides an execution environment for Web Widgets and extends the standard JavaScript environment with device-specific APIs providing access to other subsystems.

Graphics: Graphics domain enables the core 2D and 3D graphics capabilities for the platform, including support for rendering internationalized text and taking advantage of underlying hardware platform acceleration for graphics. The Graphics domain includes the following subsystems:
y

Font Management - Service to locate fonts within the system and select them according to requirements specified by applications

y

Input Adaptation - Input adaptation abstracts the hardware behind drivers and exposes an input event interface for user space. Hardware buttons, qwerty keyboard, and touch screen are provided as input devices. Typical HW buttons are: power button, camera, volume up, and volume down.

y

X11 - Implementation of the X11 Window system with architecture specific drivers, patches and configuration.

y

OpenGL ES - Provides Khronos interfaces and implementation of OpenGL, OpenGLES and EGL. Includes also platform specific implementation of GL/ES driver and libraries.

y

Display and Graphics Adaptation ± Frame buffer and display panel related platform specific abstraction.

API view: The API view illustrates the contents of MeeGo API.

19

MeeGo Operating System

Fig. 4.3 Architecture of MeeGo (API View) MeeGo API is based on Qt and Qt Mobility. Qt: Qt provides application developers with the functionality to build applications with stateof-the-art graphical user interfaces. Qt is fully object-oriented, easily extensible, and allows true component programming. Qt mobility: Qt Mobility delivers a set of APIs to Qt, with features that are well known from the mobile device world. However, these APIs allow the developer to, with ease, use features from one framework and apply them to phones, netbooks, and non-mobile personal computers. 4.3 WORKING ENVIOROMENT MeeGo is completely open source hoasted by Linux. All user who are interested can do there own changes with the project, based on these facts the working envioroment of operating system is define. Firstly the Upstream open source project vendors and MeeGo Hosted open source vendors provide code to the build system. In the build system different module of the operating system are defined and develop and then it is send to the operating syatem vendors. In
20

MeeGo Operating System

operating system vendors the new ideas from different users third party vendors, closed source and codecs wil be add and then it is provided to the device vendors.

Fig. 4.4 MeeGo Working Model 4.4 SOFTWARE DEVELOPMENT The officially endorsed way to develop MeeGo applications is to use the Qt framework and Qt Creator as development environment, but writing GTK applications is also supported. openSUSE¶s Build Service is used to compile the applications. Qt Framework: It is produced by Nokia's Qt Development Frameworks division, which came into being after Nokia's acquisition of the Norwegian companyTrolltech, the original producer of Qt. Nokia announced that it is going to drop Symbian technologies and base their future smartphones onMicrosoft platform instead at February 2011, raising questions on Qt's fate. One month later Nokia announced the acquisition of Qt's commercial licensing and professional services by Digia PLC, although Nokia will remain the main development force behind the framework.. Qt uses standard C++ but makes extensive use of a special code generator (called the Meta Object Compiler, or moc) together with several macros to enrich the language. Qt can also be used in several other programming languages via language bindings.
21

MeeGo Operating System

It runs on all major platforms and has extensive internationalization support. Non-GUI features include SQL database access, XML parsing, thread management, network support, and a unified cross-platform API for file handling.

Fig. 4.5 The Qt designer used for GUI designing Qt Creator: Qt Creator is a cross-platform C++ integrated development environment which is part of the Qt SDK. It includes a visual debugger and an integrated GUI layout and forms designer. The editor's features includes syntax highlighting and auto completion, but not tabs. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux and FreeBSD. On Windows it can use Min-GW or MSVC with the default install and can also use cdb when compiled from source.

22

MeeGo Operating System

Fig. 4.6 Screen shot of Qt Creator 2.0.1 openSUSE¶S Build Service: The openSUSE Build Service is an open and complete distribution development platform designed to encourage developers to compile packages for multiple Linux distributions including openSUSE,RedHat,Mandriva, Ubuntu, Fedora and Debian.It typically simplifies the packaging process, so developers can more easily package a single program for many distributions, and many openSUSE releases, making more packages available to users regardless of what distribution they use. Also product and appliance bu ilding is supported by OBS. The build service software is published under the GPL. In an acknowledgement of its usefulness to the wider Linux community, the Linux Foundation has announced that the project will be added to the Linux Developer Network (LDN).. Also various companies and the MeeGo project is using it for developing their distribution. Example: 1) Create your own web browser To create web browser follow the following steps:
23

MeeGo Operating System

y y

Create UI using designer Setup object (.pro) for web kit and networking support QT+= core qui webkit network Symbian { TARGET.CAPABILITY+=NetworkServices ««« }

y

Optional: Setup proxy use during app startup #include<QNetworkProxyFactory> QNetworkProxyFactory::setUseSystemConFiguration(true);

y

On clicked() signal of push button; load URL into web view Ui->webview->Load(QUrl::FromUserInput(ui->linEdit->text()));

y

Full page zoom slider, Adapt properties to set range, on value Changed() Signal: conver the floating point and set zoom factor Qreal zoom =(qreal) value/10.0; Ui->webview->Setzommfactor(zoom);

y

And your web browser is finished.

2) Location API , Shows current GPS position y y Create UI using designer Setup project (.pro) using mobility CONFIG += mobility MOBILITY = location
24

MeeGo Operating System

Symbian { TARGET.CAPABILITY + = Location ««« } y Code: from next slide, plus #include #include <QGeoPositionInfoSource> QTM_USE_NAMESPACE y Request position information QGeoPositionInfoSource* src = QGeoPositionInfoSource:: CreateDefaultSource(this); Connect(Src, SIGNAL (PositionUpdated(QGeoPositionInfo)), this, SLOT, (UpdatePosition(QGeoPositionInfo)); Src->StartUpdates; y Handel Co-ordinates Private slots: Void UpdatePosition(Const QGeoPositionInfo &Info) { Ui->PositionEdit->SetPlaneText(info.coordinate.() toString()); } y And our location API is created.

3) Visual designing using Qt creater y y Describe UI by tree structure of property binding Properties dynamically evaluated
25

MeeGo Operating System

y y y

Communication througt signals and slots Binding to C++ code is possible Animate properties using slates and transition Import Qt 4.7 Rectangle { Width:200 Height:200 Image { Source: ³QtLogo.png´ Anchors.CenterIn:parents } }

Fig. 4.7 Output of Visual Designer

26

MeeGo Operating System

4.5 INSTALLATION Linux developers Follow the steps on this page for downloads and installing MeeGo on your Netbook and you'll be ready to go mobile. Windows InstructionS Use a Windows app to install the MeeGo OS on your currently Windows OS computer. Overview: Steps for loading the MeeGo live image on your netbook, nettop, or PC: 1. Download the latest live image. 2. Byte-copy the image to a USB drive. 3. Boot the image on your netbook, nettop, or PC. System Requirements: CPU: Intel Atom or Intel Core 2 CPU (support for SSSE3)

y

Note: MeeGo will not work on non-SSSE3 CPUs
y y

Platforms with the GMA-500, Nvidia, or ATI graphics chipsets are not supported A tested netbook or nettop platform

About Live Images: The MeeGo live image is designed to be used with a USB drive. A netbook or PC can be booted from the USB drive without modifying its hard drive or configuration. This lets you test drive an image before installing it. When you are done, just remove the USB drive and reboot. If you like what you see, you can then install MeeGo from the same live image. 1 Download the Live Image The live image is available from the netbook downloads page. Save the image to a known location, so you can access it in step 2. 2 Byte-copy the image to a USB drive
27

MeeGo Operating System

You will need a USB drive with at least the capacity of the downloaded image. Note: A byte-exact copy of the image must be placed on the USB drive. It is not sufficient to simply copy the image file to the drive. Be aware that the contents of the USB drive will be completely erased. Linux Instructions: Be sure the USB drive is unmounted before proceeding. Some Linux distributions auto mount the USB drive when it is inserted, which can cause corruption when writing. # umount <usb-drive> Use either of these two methods:
y

Image Writer (recommended, requires Python >=2.4).Image Writer is a small python executable script that detects your USB drive and writes the image to it. The advantage of using image writer is that it will not inadvertently overwrite your system hard drive. Download Image Writer. # cd <directory with downloaded image-writer file> # chmod a+x. / image-writer # . / image-writer <image file>

y

Use 'dd' from the command-line. Caution: 'dd' will overwrite any destination including your system hard disk. Make sure you know the correct value of <usb drive> before proceeding. # dd bs=4096 if=<image file> of=<usb drive>

Proceed to Step 3: Boot the image

28

MeeGo Operating System

Windows Instructions: There is a simple way to put the MeeGo image on a USB drive. 1. Download the Win32 DiskImager.exe program https://launchpad.net/win32-imagewriter/+download (zip file) 2. Unzip the file and extract the contents to a known directory 3. Run W32DiskImager.exe (screenshot) 4. Select the MeeGo image file (.img) 5. Select the drive letter which corresponds to the USB key 6. Click the "Write" button to byte-copy the image to the USB drive. Proceed to Step 3: Boot the image Mac OS X Instructions Be sure the USB drive is unmounted before proceeding. OS X auto mounts the USB drive when it is inserted, which can cause corruption when writing. You can press the eject icon in Finder or drag the USB icon to the trash. Use this method (thanks to Many Ayromlou for the instructions): 1. Open a Terminal (Applications -> Utilities -> Terminal) 2. Run disk util list to get the current list of devices 3. Insert your flash media 4. Run disk util list again and determine the device node assigned to your flash media (for example /dev/disk2) 5. Run disk util unmount Disk /dev/diskN (replace N with the disk number from the last command; in the previous example, N would be 2) 6. Run psudo dd if=/path/to/downloaded.img of=/dev/diskN bs=1m (replace

/path/to/downloaded.img with the place you downloaded the image. You'll need your password for this. 7. Run diskutil eject /dev/diskN (where N is the number we found above) and remove your flash media when the command completes
29

MeeGo Operating System

8. You're done! Proceed to Step 3: Boot the image 3 Boot the image on your netbook, nettop, or PC Insert the USB drive into your netbook, nettop, or PC and reboot. Make sure that the boot order tries the USB drive first.

30

MeeGo Operating System

Chapter 5

DERIVATIVES
As with Moblin before, MeeGo also serves as a technology pool that software vendors can access to build their products from. So far only ports of the graphical user interfaces to other Linux distributions have been announced. 5.1 MeeGo/HARMATTAN Even though MeeGo was initiated as collaboration between Nokia and Intel, the collaboration was formed when Nokia was already developing the next incarnation of its Maemo Linux distribution. As a result, the Maemo 6 base operating system will be kept intact while the Handset UX will be shared, with the name changed to ³MeeGo/Harmattan´. 5.2 SUSE AND Smeegol LINUX Novell has recently announced that they will soon ship a SUSE Linux incarnation with MeeGo¶s Netbook UX (MeeGo User Experience) graphical user interface. A MeeGo-based Linux distribution with this user interface is already available from openSUSE's Goblin Team under the name Smeegol Linux this project combines MeeGo with openSUSE to get a new netbook-designed Linux distribution. What makes Smeegol Linux unique when compared to the upstream MeeGo or openSUSE is that this distribution is at its core based on openSUSE but has the MeeGo User Experience as well as a few other changes such as adding the Mono-based Banshee media player, NetworkManager-powered network configuration, a newer version of Evolution Express and more. Any end-users can also build their own customized Smeegol Linux OS using SUSE Studio. 5.3 FEDORA Fedora 14 contains a selection of software from the MeeGo project. 5.4 LINPUS Linpus Technologies is working on bringing their services on top of MeeGo Netbook and MeeGo Tablet.

31

MeeGo Operating System

5.5 SPLASHTOP The latest version of the instant-on OS Splashtop platform (by Splashtop Inc. which was previously named DeviceVM Inc.) is compliant with MeeGo, and future version of Splashtop will be based on MeeGo and will be available for commercial use in the first half of 20.

32

MeeGo Operating System

Chapter 6

USER INTERFACES
Within the MeeGo project there are several graphical user interfaces ± internally called User Experiences (³UX´). 6.1 NETBOOK The Netbook UX is a continuation of the Moblin interface. It is written using the Clutter based Mx toolkit. MeeGo¶s netbook version uses several Linux applications in the background, such as Evolution (Email, calendar), Empathy (instant messaging), Gwibber (microblogging), Chromium (web browser), and Banshee (multimedia player), all integrated into the graphical user interface.

Fig. 6.1 Screenshot of MeeGo¶s Netbook UX 6.2 HANDSET The Handset UX is based on Qt, but GTK+ and Clutter will be included to provide compatibility for Moblin applications. To support the hundreds of Hildon based Maemo

33

MeeGo Operating System

applications, users have to install the Hildon library ported by the maemo.org community. Depending on the device, applications will be provided from either the Intel App-Up or the Nokia Ovi digital software distribution systems. The MeeGo Handset UX¶s ³Day 1´ prerelease was on June 30, 2010. The preview was initially available for the Aava Mobile Intel Moorestown platform, and a µkick start¶ file provided for developers to build an image for the Nokia N900.

Fig. 6.2 Handset UX 6.3 TABLET Intel demonstrated the Tablet UX on a Moorestown-based tablet PC at COMPUTEX Taipei in early June 2010. Since then some information appeared on MeeGo website indicating there will be a Tablet UX part of the MeeGo project, but it is not known if this UX will be the one demonstrated by Intel. This Tablet UX will be fully open source like the rest of the MeeGo project and will be coded with Qt and the MeeGo Touch Framework. Intel has revealed interest in combining Qt with Wayland display server instead of the often seen Qt/X11 combination in MeeGo Touch in order to utilize the latest graphics technologies supported by Linux kernel, which should improve user experiences and reduce system complexity.
34

MeeGo Operating System

Minimum hardware requirements are currently unknown. The WeTab runs MeeGo and is available since September 2010

Fig. 6.3 MeeGo¶s Tablet UX as a pre-alpha version 6.4 IN VEHICAL INFONTAINMENT The GENIVI Alliance, a consortium of several car makers and their industry partners, uses Moblin with Qt as base for its 'GENIVI 1.0 Reference Platform' for In-Vehicle Infotainment (IVI) and automotive navigation system as a uniformed mobile computing platform. Graham Smethurst of GENIVI Alliance and BMW Group announced in April 2010 the switch from Moblin to MeeGo.

Fig. 6.4 MeeGo¶s IVI UX as shipped with MeeGo 1.1

35

MeeGo Operating System

Chapter 7

CONCLUSION
The objective of the seminar report was to study and enhance our knowledge about MeeGo OS mobile operating system. I have learnt about the new features of the MeeGo operating system, what·s new in it, how is it different from previous versions of OS, what the technicality behind the MeeGo OS is and some more information about it. So I have learnt about the layers of MeeGo OS technology viz. core os, core services, and technologies. I have studied about some aspects of the OS that will help us in developing the applications , via this report. Hence I am now acquainted with MeeGo operating system. I have learnt many things about the MeeGo OS, which I can implement on our own with just alittle effort. Hence my objective has been achieved through this report

36

Sign up to vote on this title
UsefulNot useful