I assume that you're on Ubuntu or any other Debian Linux but it should work with any Linux, you then just need to adjust a few commands.
- Install qemu on your host system:
$ sudo apt-get install qemu qemu-kvm-extras
- Download the Debian netinstaller from:
http://ftp.de.debian.org/debian/dists/squeeze/main/installer-armel/current/images/versatile/netboot/
- Download initrd and vmlinuz 2.6.32-5 from:
http://people.debian.org/~aurel32/qemu/armel/
- Create a qemu harddisk:
$ qemu-img create -f qcow hda.img 10G
- Boot qemu with the debian netinstaller:
$ qemu-system-arm -m 256 -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda armdisk.img -append "root=/dev/ram"
- Follow the Debian installer and install it. Once the installation finishes, run the q emulator with the following command:
$ qemu-system-arm -m 256 -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda armdisk.img -append "root=/dev/sda1"
References: http://www.aurel32.net/info/debian_arm_qemu.php