How to get the Meego distribution

From IGEP - ISEE Wiki

Jump to: navigation, search

How to get the Meego distribution

Warning icon.png A user reported that this page might contain some broken, wrong or missing links to external pages.

Thank you for your patience as it is being fixed.

MeeGo is an open source, Linux project which brings together the Moblin project, headed up by Intel, and Maemo, by Nokia, into a single open source activity. MeeGo integrates the experience and skills of two significant development ecosystems, versed in communications and computing technologies. The MeeGo project believes these two pillars form the technical foundations for next generation platforms and usages in the mobile and device platforms space.

MeeGo includes:

  • Performance optimizations and features which enable rich computational and graphically oriented applications and connected services development
  • 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

More information about Meego project at

Overview of How-To

This How-To is meant to be a starting point for people to learn install an Meego image for OMAP3-based IGEP platforms as quickly and easily as possible.

This How-To works with an Ubuntu 10.04 (Lucid Lynx) distribution but most of the contents are valid also for other GNU/Linux distributions. We do not issue any guarantee that this will work on other distributions.


  • A SD card at least 2GB ( recommended 4GB ) formatted with a dual-partion, a boot (fat) partition and a rootfs (ext3)

Feedback and Contributing

Creating articles in the wiki is a collaborative process, at any point, if you see a mistake you can contribute to this article.

Please, use the discussion tab for user comments. This is useful to separate page content and the discussion thereof and also, if you don't want to give normal users the right to edit the page but still want user contributed notes.

Editing permissions are restricted to registered users. Register in the main IGEP site and you will have single sign-on.

Consult the User's Guide for information on using the wiki software.

There is a set of Wiki contribution guidelines.


Much of this How-To is extracted from different sources. If you would like to read some of the original articles or resources, please visit them and thank the authors:

Prepare SGX/GLES libraries

First of all create a working directory

$ mkdir meego && cd meego

Therefore the SGX/GLES libraries are vital to get this running, download the script named

Then run

$ chmod +x
$ ./

Putting a copy of a Meego root file system on SD card

When using ubuntu 10.04 you'll need to install qemu using the qemu-kvm-extras-static package.

$ sudo apt-get install qemu-kvm-extras-static

Let's start with building the rootfs, download and install pykickstart

$ git clone git://
$ cd pykickstart
$ make
$ make install
$ sudo fakeroot cp -fr usr/local/lib/python2.6/dist-packages/pykickstart /usr/bin/
$ sudo fakeroot cp -fr usr/local/lib/python2.6/dist-packages/pykickstart /usr/lib/python2.6/dist-packages/
$ sudo make -C po install
$ cd ..

and, download and install the mic image creator

$ git clone git://
$ cd image-creator
$ make clean
$ make
$ sudo make install
$ sudo ./tools/mic-check-alldeps
$ cd ..

This tool is used to create MeeGo images, for that purpose you will need a Kickstart file. Kickstart files specify what repos to pull from, what packages to include, what post-scripts to run and what type of images to create.

$ wget
$ mv Handset-armv7l-beagle.ks handset-armv7l-beagle.ks

and build the image with

$ sudo LANG=C mic-image-creator --run-mode=0 --cache=mycachedir --format=loop --arch=armv7l --release=daily  --compress-disk-image=none --config=handset-armv7l-beagle.ks

Afterwards, the entire file system will be present as a file system image under


The resulting image can be mounted via loopbak and the contents then rsync'ed to the card.

$ mkdir ./image
$ sudo mount -o loop ./daily/handset/images/meego-handset-armv7l-beagle/meego-handset-armv7l-beagle-daily.img ./image
$ sudo rsync -aHx --progress --delete ./image/* /media/rootfs

Install kernel and kernel modules

You can install the Codesourcery arm toolchain. Just download that package, unpack it somewhere and add the bin directory contained in this into your path environment variable and build the kernel.

To generate the uImage file at the end of the build process, the tool 'uboot-mkimage' is needed:

$ sudo apt-get install uboot-mkimage 

Clone the kernel GIT repository from and switch to latest development 2.6.33.y branch

$ git clone git://
$ cd linux-omap-2.6
$ git checkout origin/linux-2.6.33.y linux-2.6.33.y

and build with

$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- igep0020_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage modules

The result will be an uImage file in arch/arm/boot directory. You can install the kernel modules to your target rootfs

$ cp arch/arm/boot/uImage /media/boot
$ sudo make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules_install INSTALL_MOD_PATH=/media/rootfs

See also