Differences between revisions 6 and 7
Revision 6 as of 2006-02-16 23:10:22
Size: 1796
Editor: ?DavideViti
Revision 7 as of 2006-02-16 23:22:21
Size: 1690
Editor: ?DavideViti
Comment: Removed "eject" command. I remember using "change" to do that
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:
$ qemu -cdrom mini.iso -hda hd_image.img -boot d $ qemu -user-net -cdrom mini.iso -hda hd_image.img -boot d
Line 47: Line 47:
 * "eject" is useful when you want to (virtually) change disk
  (for example you want to use another iso image)


[http://fabrice.bellard.free.fr/qemu/ Official page]

#qemu IRC channel on irc.freenode.net


Qemu can be used to simulate various hardware configurations and to easily test the debian installer in various conditions; it's great for testing "delicate" things like a partitioner, since disk devices are usually represented by files.

It can be used also to emulate other architectures: I tested amd64 and powerpc versions on the installer on my i386 host machine. At the moment (qemu-0.8.0) sparc and ARM are being worked on and have some basic support.

Here some possible d-i boot configurations:

  • floppy installs
  • installs from USB (??)
  • lowmem installs

Basic setup

First of all, you need to create a file which will acts as an hard disk for the virtual machine:

$ qemu-img create hd_img.img 500M

You can then download an iso image of the installer, or create one yourself; you can then run a g-i session by running the following command:

$ qemu -user-net -cdrom mini.iso -hda hd_image.img -boot d

Qemu monitor

Qemu has a "monitor" (ctrl-alt-2) which can be used to access various funcionalities such as:

  • "screendump" which can be used to take a screenshot of
    • the VM screen
  • "sendkey" is very useful when you want to switch to VT2 during
    • a g-i vession ("sendkey ctrl-alt-f2)
  • "gdbserver" is useful for attaching gdb to a process running inside
    • the VM
  • "loadmem/savemem" used to save/restore the state of the VM, saves you alot
    • of time when you have performed all the steps needed to reproduce a bug