Meego Wiki
Views

ARM/Meego on Qemu

From MeeGo wiki
< ARM
Revision as of 16:03, 10 March 2011 by Suihkulokki (Talk | contribs)
Jump to: navigation, search

Under construction, experimental and unsupported

QEMU offers one an easy way to try out MeeGo on ARM

Contents

Building QEMU

Prerequisites

  • git (to get the source code)
  • build-essential
  • zlib (called zlib-bin and zlib1g-dev under Debian Squeeze)
  • SDL-devel libraries.
  • OsMesa (in case hardware opengl acceleration doesn't work).

First we compile OpenGL ES to OpenGL acceleration library.

git clone git://gitorious.org/qemu-maemo/gles-libs.git
cd gles-libs/dgles2
./configure --enable-glx --enable-x11 --enable-osmesa --prefix=/opt/dgles2 --enable-offscreen
make
sudo make install

Then we build MeeGo Qemu:

git clone git://gitorious.org/qemu-maemo/qemu.git 
cd qemu
./configure --target-list="arm-softmmu" --enable-gles2 --gles2dir=/opt/dgles2
make
cp arm-softmmu/qemu-system-arm ~/bin/meego-qemu

(Note: if you experience this message "cc1: warnings being treated as errors" during compilation, you can get around it with passing "--disable-werror" to "configure" as an argument)

Downloading MeeGo image

Qemu tarball is found from:

http://repo.meego.com/MeeGo/builds/trunk/latest/images/meego-handset-armv7l-qemu/

Starting QEMU

When starting Qemu, you need decide if you want to use Hardware acceleration for graphics, or software rendering. Hardware rendering is known to crash qemu with Mesa-based Intel and Ati radeon drivers, While proprietary nvidia drivers are known to work. Replace VERSION with the version from the filename downloaded.

tar xvjf meego-handset-armv7l-qemu-VERSION-raw.tar.bz2
cd meego-handset-armv7l-qemu-VERSION
LD_LIBRARY_PATH=/opt/dgles2/lib DGLES_BACKEND=glx qemu-system-arm -M n900 \
 -mtdblock meego-handset-armv7l-qemu-VERSION-nand.raw -sd /dev/null -sd meego-handset-armv7l-qemu-VERSION-mmcblk0p.raw \
 -serial stdio -clock unix

If qemu crashes while initializing User interface, use DGLES_BACKEND=osmesa.

You can then log in with root/meego.

Personal tools