Meego Wiki
Views

ARM/OMAP4 Panda/private-demo

From MeeGo wiki
Jump to: navigation, search

Contents

Introduction

PLEASE NOTE: This page is currently under construction!

IMPORTANT This "private-demo" uses components which are NOT upstreamed - intent here is purely to showcase capability of PandaBoard and MeeGo at this point of time.

The following page describes how to create a bootable Meego image for the OMAP4 based Pandaboard. More information on this board can be found at pandaboard.org

Additionally, the image creation steps are also manual, owing to the very particular CHS requirements of the OMAP4 boards (255 heads/63 sectors). This is due to the limitation of the latest libgparted libraries which are used by mic2 currently. To resolve this mic2 will need support of external utility such as sfdisk.

In this wiki, we shall explain building a rootfs from scratch and explain how to use it on PandaBoard

Prerequisites

MIC2

To create the image, you need Mic2. See here for further information on setting up Mic2 utility on your system.

Proxy Settings

If you need to add proxy settings, you can place them in ${HOME}/.mic2.conf like this:

[main]
proxy=http://PROXY_SERVER:PORT

Get Kickstart and wrapper files

Pandaboard Kickstart file and mic wrapper scripts are now hosted in PandaBoard Gitorious here

git clone git://gitorious.org/pandaboard/meego-image-configurations.git
cd meego-image-configurations
git checkout -b pandaboard --track origin/pandaboard

Build

MeeGo rootfs and getting the boot images

It is pretty simple :)

If you are not already in meego-image-configurations directory(the place where you downloaded the git repository as explained before),

cd meego-image-configurations
git branch (ensure that you are on pandaboard branch
git reset --hard

To build your filesystem:

sudo ./scripts/create.sh 1.1.80.4.20101102.1 1 pandaboard

Note: The 1.1.80.4.20101102.1 is the version on the MeeGo trunk we froze at the time of development of this demo, but, as expected, this will pretty much disappear soon.

WARNING: this takes a whilllleeee... depending on your PC speed and network connection - It downloads the rpms and does the following

  • updates the board/handset-armv7l-panda.ks
  • fires up mic-image-creator to download the rpms and create the rootfs with all necessary packages
  • output looks something as follows:
1.1.80.4.20101102.1
`-- handset
    `-- images
        `-- meego-handset-armv7l-panda
            `-- meego-handset-armv7l-panda-rootfs <-entire filesystem
                |-- bin
                |-- boot <- Bootfiles
                |-- dev
                |-- etc
                |-- home
                |-- lib
                |-- media
                |-- mnt
                |-- opt
                |-- proc
                |-- root
                |-- sbin
                |-- srv
                |-- sys
                |-- tmp
                |-- usr
                `-- var
  • To copy the fs,
 cd 1.1.80.4.20101102.1/handset/images/meego-handset-armv7l-panda/meego-handset-armv7l-panda-rootfs
 
 sudo tar -cvjf ../rootfs.tar.bz2 *
  • To copy the boot
 cd boot
 tar -cvjf ../../boot.tar.bz2 *

Creating the MeeGo PandaBoard SDCard

Steps involved here are:

  1. format the SDcard to make it bootable (yep we have a simple script to do it as well ;) ).
  2. Copy the files to the SD Card.

Format SD

Reference http://www.omappedia.org/wiki/SD_Configuration to format SD card.

Script: File:Omap3-mkcard.sh. you could use this with the above instructions to format a card for making it ready for copy. This script creates two partitions:

  1. boot - which is a bootable vfat partition
  2. rootfs - which is where the meego filesystem will finally reside - this is ext3 currently (yep, we need to move to brtfs sometime soon).

Insert formated bootable SD card, /media/boot & /media/rootfs should be mounted automatically, assuming you are logged in a GUI.

/media/boot and /media/rootfs is the location of the partitions (boot being the boot partition and rootfs being the rootfs - ofcourse ;) ).

Install binaries to SD

If you are not already in the directory where you created the tar archives mentioned above,

cd 1.1.80.4.20101102.1/handset/images/meego-handset-armv7l-panda

First copy the boot files to the boot partition

tar -xvjf boot.tar.bz2 -C /media/boot

Next copy the rest of the filesystem to the sd rootfs partition

sudo tar -xvjf rootfs.tar.bz2 -C /media/rootfs

and thats it - it is done :)

Booting setup

  • Plug in MMC card in PandaBoard
  • plug in a USB mouse and keyboard in USB host port
  • plug in a HDMI/DVI display on to the HDMI port of PandaBoard(not DVI port)
  • optional - connect serial cable to PC. (login is root, password: meego as configured in the ks file)
  • connect power supply

Caveats

The following caveats exist

  1. Wlan does not work at this point of time
  2. Multimedia probably wont work
  3. No SGX graphics acceleration
  4. Minimal X
  5. Icons dont scale as per screen size

Resolved

  1. The Panda-demo.ks.in contains the display size and width - X=1280 and Y=1024 and does not use EDID to configure that dynamically - This now has an elegant fix - Thanks to Víctor M. Jáquez L.

Sources

kernel

GIT

git://dev.omapzoom.org/pub/scm/integration/kernel-omap4.git
tag: ti-2.6.35-omap4-L24.11-p2
config: omap4_panda_defconfig

Patch Contribution: here

OBS

home:nm:pandademo2/kernel-panda

U-Boot

GIT

git://dev.omapzoom.org/pub/scm/bootloader/u-boot.git
tag: L24.11
config: omap4_panda_config

Patch Contribution: here

OBS

home:nm:pandademo2/u-boot-omap4panda

X-Loader

GIT

git://dev.omapzoom.org/pub/scm/bootloader/x-loader.git
tag: L24.11
config: omap4430panda_config

Patch Contribution: here

OBS

home:nm:pandademo2/x-loader-omap4panda

mic scripts

GIT: here

git://gitorious.org/pandaboard/meego-image-configurations.git
or
http://git.gitorious.org/pandaboard/meego-image-configurations.git
branch: pandaboard

Patch Contribution: here

Personal tools