Meego Wiki
Views

ARM/Meego on Qemu

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(update to latest images)
(add notes about creating nand image)
Line 36: Line 36:
http://repo.meego.com/MeeGo/builds/trunk/latest/images/meego-handset-armv7l-qemu/
http://repo.meego.com/MeeGo/builds/trunk/latest/images/meego-handset-armv7l-qemu/
-
== Starting QEMU ==
+
get nolo-qemu and qflasher packages from non-oss repository (e.g. http://repo.meego.com/MeeGo/builds/trunk/daily/non-oss/repos/ia32/packages/i586/)
-
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.
+
== 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
  tar xvjf meego-handset-armv7l-qemu-VERSION-raw.tar.bz2
  cd meego-handset-armv7l-qemu-VERSION
  cd meego-handset-armv7l-qemu-VERSION
 +
./qflasher -m rx51 -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 qemu-system-arm -M n900 \
  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 \
   -mtdblock meego-handset-armv7l-qemu-VERSION-nand.raw -sd /dev/null -sd meego-handset-armv7l-qemu-VERSION-mmcblk0p.raw \
-
   -serial stdio -clock unix
+
   -serial stdio -clock unix -redir tcp:5555:10.0.2.15:22
-
If qemu crashes while initializing User interface, use DGLES_BACKEND=osmesa.
+
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.
You can then log in with root/meego.

Revision as of 09:37, 11 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/

get nolo-qemu and qflasher packages from non-oss repository (e.g. http://repo.meego.com/MeeGo/builds/trunk/daily/non-oss/repos/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 -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 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 -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