I wrote this before etch release and have not kept this page up to date since. You may be interested to know that etch has official support for QEMU, see Aurelien Jarno's page for details.
apt-get install gxemul
- or get it from
http://gavare.se/gxemul/
Get a mipsel image from http://www.debian.org/devel/debian-installer/
I used the etch beta3 release netinst CD image.
For some reason I've been unable to run the Debian provided kernels within GXemul - they crash soon after booting. This seems to be an issue with the serial driver in Debian's kernel, thought there might be other issues too. Anyway, I've been able to install using a custom kernel.
If you already have a mips system you can follow these instructions:
make menuconfig
- load my config file and exityes 'foo bar' | head -n 1048576 > arch/mips/ramdisk/dummy_initrd
make vmlinux
Otherwise, get and unzip my compiled image from http://zoy.org/~walken/gxemul-etch/vmlinux-2.4.33.2.gz
The custom kernel contains a dummy initrd image. The idea is that before booting it, you replace the dummy image with something useful - such as the Debian installer initrd image for example. The initrd you use must be smaller than the dummy initrd, but I made the dummy initrd 8MB which should be plenty enough.
First locate the offset where the dummy initrd data was placed:
hd vmlinux-2.4.33.2 | grep 'foo bar'
(In Debian, hd is part of the bsdmainutils package).
In my kernel, the initrd data starts at offset 0x001df000 = 1961984
Mount the Debian iso image and make a copy of /boot/initrd.gz
Copy the install initrd over the custom kernel's dummy initrd:
dd if=initrd.gz of=vmlinux-2.4.33.2 bs=1961984 seek=1 conv=notrunc
gxemul -X -e3max -M 128 -d etch_pmax.img
-d debian-testing-mipsel-netinst.iso
vmlinux-2.4.33.2 -o "DEBCONF_PRIORITY=medium"
At this point, the kernel starts running. It will ponder a little, and then etch installer starts.
There is not much to note that would be different from installing etch on a physical machine. A few minor poinst worth mentioning however:
mount -t devfs devfs /dev
gxemul -X -e3max -M 128 -d etch_pmax.img
vmlinux-2.4.33.2 -o "devfs=nomount root=/dev/sda1"
You now have a working etch installation running on an emulated DECstation. Have fun !
I want to thank: