Meego Wiki
Views

ARM/Meego on Qemu

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Prerequisites)
(update to latest images)
Line 10: Line 10:
* zlib (called zlib-bin and zlib1g-dev under Debian Squeeze)
* zlib (called zlib-bin and zlib1g-dev under Debian Squeeze)
* SDL-devel libraries.
* 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  
  git clone git://gitorious.org/qemu-maemo/qemu.git  
  cd qemu
  cd qemu
-
  ./configure --target-list=arm-softmmu --enable-sdl
+
  ./configure --target-list="arm-softmmu" --enable-gles2 --gles2dir=/opt/dgles2
  make
  make
 +
cp arm-softmmu/qemu-system-arm ~/bin/meego-qemu
-
The qemu binary will appear as arm-softmmu/qemu-system-arm
 
(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)
(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 ==
== Downloading MeeGo image ==
-
The MeeGo QEMU needs a NAND image prepared for QEMU ( meego_qemu_nand.img.gz ), which is available for N900 owners from:
+
Qemu tarball is found from:
-
http://tablets-dev.nokia.com/meego-codedrop.php
+
http://repo.meego.com/MeeGo/builds/trunk/latest/images/meego-handset-armv7l-qemu/
-
 
+
-
Uncompress the image with "gunzip" command.
+
== Starting QEMU ==  
== Starting QEMU ==  
-
  qemu-system-arm -M n900 -mtdblock meego_qemu_nand.img  -serial stdio -clock unix
+
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.
You can then log in with root/meego.

Revision as of 16:03, 10 March 2011

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