[Université Paris Diderot, INRIA]

Pierre Letouzey

Emulateurs: Debian Mipsel via GXemul

TODO: Désolé, la traduction française reste à faire

If you're not coming from there, please check first my main emulation page, and in particular its DISCLAIMER section.

This page describes the emulation of a Debian Mips (little endian) system using the GXemul emulator.

GXemul

I'm using GXemul 0.4.2:

apt-get install gxemul

For the impatients

You can fetch my ready-to-run Debian Mipsel image:

debian-mipsel-gxemul-0.4.tar size:71MB
debian-mipsel-gxemul-0.4.md5
debian-mipsel-gxemul-0.4.md5.asc PGP sign of MD5

Then do typically:

md5sum -c debian-mipsel-gxemul-0.4.md5
gpg --recv 9E4A9C9D --keyserver subkeys.pgp.net
gpg --verify debian-mipsel-gxemul-0.4.md5.asc debian-mipsel-gxemul-0.4.md5
tar -xf debian-mipsel-gxemul-0.4.tar
cd debian-mipsel-gxemul-0.4
cat README
./extract  ##you need qemu-img to be installed (see qemu distr)
./run
And enjoy !

For building the image yourself

Well, do as I've done, follow the instructions of this very nice page.

Here are two direct links to the needed stuff:

After the debian installation, I advise to install the openssh package and configure the server part. This way you will be able to reach (indirectly, see limitations below) your virtual machine from the real one, with is _really_ convenient: no more keyboard/mouse issues.

Limitations

Currently, GXemul emulates the network in a way that may be nice for the average user, but is in fact quite annoying: it does NAT translation itself, so the emulated machine can reach the internet, but it's not possible to contact directly the emulated machine from the real one. For contacting it nonetheless via ssh, and be able to open several consoles, we need to play with port forwarding:

  • First, from inside the emulated machine, reach once the outside world this way, and live this connection running:
    ssh somebody@somewhere -q -N -R 2222:localhost:22
    
  • Now, connecting to port 2222 of machine "somewhere" via ssh leads to the emulated debian:
    ssh -p 2222 -o HostKeyAlias=debianmips guest@localhost
    
    The HostKeyAlias prevents a conflict between the true key of localhost and the one this session will use (the one of debianmips).

The emulator takes 100% CPU even when the emulated machine is idle!

I haven't tried to install and run Xorg in the emulated machine. A console is enough for my needs (playing with gcc).