Download debian iso
http://cdimage.debian.org/cdimage/release/current/mipsel/iso-cd/debian-9.1.0-mipsel-netinst.iso
Download initrd & vmlinux
Create a new hard disk
$ qemu-img create -f qcow2 hda.qcow 10G
Install debian
$ qemu-system-mipsel -cdrom debian-9.1.0-mipsel-netinst.iso \
-hda hda.qcow \
-M malta \
-kernel vmlinux-4.9.0-3-4kc-malta \
-boot d \
-initrd initrd.gz \
-m 512 \
-nographic \
-append "root=/dev/sda1 nokaslr"
Allow for the installation to complete. When done copy over the vmlinux-4.9.0-3-4kc-malta
file from the Debian VM to the host machine. See references [4] on how to copy vmlinux-4.9.0-3-4kc-malta
from hda.qcow
to your host.
Boot from hda
$ qemu-system-mipsel -hda hda.qcow \
-M malta \
-kernel vmlinux-4.9.0-3-4kc-malta \
-initrd initrd.gz \
-m 512 \
-nographic \
-append "root=/dev/sda1 nokaslr"
Important note: vmlinux-4.9.0-3-4kc-malta
is the file copied from hda.qcow
in the previous step and NOT the original one downloaded from ftp.debian.org. If you use the original file the Debian installer will rerun.
References
Possible I could get you to write something similar for a generic armv7 32 bit installation using qemu? This one for mips was perfect, although I had to add some changes to get it to not boot to the installer the second time through:
bear in mind that this is not showing the \s in the comments!!
wget https://cdimage.debian.org/debian-cd/current/mips/iso-cd/debian-9.3.0-mips-netinst.iso
wget http://ftp.debian.org/debian/dists/jessie/main/installer-mipsel/current/images/malta/netboot/initrd.gz
wget http://ftp.debian.org/debian/dists/jessie/main/installer-mipsel/current/images/malta/netboot/vmlinux-3.16.0-4-4kc-malta
qemu-img create -f qcow2 hda.qcow 10G
qemu-system-mipsel -cdrom debian-9.3.0-mips-netinst.iso
-hda hda.qcow
-M malta
-kernel vmlinux-3.16.0-4-4kc-malta
-boot d
-initrd initrd.gz
-m 512
-nographic
-append "root=/dev/sda1 nokaslr"
qemu-system-mipsel -hda hda.qcow
-M malta
-kernel vmlinux-3.16.0-4-4kc-malta
-m 512
-nographic
-append "root=/dev/sda1 nokaslr"