Meego Wiki
Views

ARM/Meego on Qemu

From MeeGo wiki
< ARM
Revision as of 12:00, 11 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/

get nolo-qemu and qflasher packages from non-oss repository:

http://repo.meego.com/MeeGo/builds/trunk/latest/repos/non-oss/ia32/packages/i586/

Preparing MeeGo image for Qemu

Since NAND images are missing from current autobuilds, one needs to create it manually. Replace VERSION with the version from the filename downloaded. extract qflasher and nolo-qemu rpm to current directory and:

tar xvjf meego-handset-armv7l-qemu-VERSION-raw.tar.bz2
cd meego-handset-armv7l-qemu-VERSION
./qflasher -m rx51 -p 3072 -x xloader-qemu.bin -s secondary-qemu.bin -k meego-handset-armv7l-qemu-vmlinuz-version-n900 -o meego-handset-armv7l-qemu-VERSION-nand.raw


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.

LD_LIBRARY_PATH=/opt/dgles2/lib DGLES_BACKEND=glx ~/bin/meego-qemu -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 -redir tcp:5555:10.0.2.15:22

If qemu crashes while initializing User interface, use DGLES_BACKEND=osmesa. The "-redir" option is for convinience, allowing you to ssh inside the qemu with ssh -p 5555 root@localhost.

You can then log in with root/meego.

Personal tools