Meego Wiki
Views

ARM/Meego on Qemu

From MeeGo wiki
< ARM(Difference between revisions)
Jump to: navigation, search
(Undo revision 49819 by Shanieley (talk) Spam)
 
(6 intermediate revisions not shown)
Line 1: Line 1:
'''Under construction, experimental and unsupported'''
'''Under construction, experimental and unsupported'''
-
QEMU offers one an easy way to try out MeeGo on ARM
+
QEMU offers you an easy way to try out MeeGo on ARM.
== Building QEMU ==
== Building QEMU ==
Line 7: Line 7:
=== Prerequisites ===  
=== Prerequisites ===  
* git (to get the source code)
* git (to get the source code)
-
* build-essential
+
* build-essential
* 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.
Line 28: Line 28:
  cp arm-softmmu/qemu-system-arm ~/bin/meego-qemu
  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)
+
(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 ==
Line 34: Line 34:
Qemu tarball is found from:
Qemu tarball is found from:
-
http://repo.meego.com/MeeGo/builds/trunk/latest/images/meego-handset-armv7l-qemu/
+
http://repo.meego.com/MeeGo/builds/trunk/latest/images/meego-handset-armv7hl-qemu/
get nolo-qemu and qflasher packages from non-oss repository:
get nolo-qemu and qflasher packages from non-oss repository:
Line 46: Line 46:
  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
+
  ./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 ==  
== 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.  
+
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 \
  LD_LIBRARY_PATH=/opt/dgles2/lib DGLES_BACKEND=glx ~/bin/meego-qemu -M n900 \
Line 57: Line 57:
   -serial stdio -clock unix -redir tcp:5555:10.0.2.15:22
   -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.
+
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.

Latest revision as of 10:26, 12 April 2012

Under construction, experimental and unsupported

QEMU offers you 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-armv7hl-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