Qemu and other emulators
This note covers setting up Qemu on an x86-based development system running Linux. This allows native (rather than cross) development tools to be run, which can be useful where the target system has performance/resource issues (e.g. some ARM systems), is not run natively due to company policy (older versions of Microsoft Windows) or is quite simply unavailable at a reasonable price (e.g. SGI MIPS systems). It also briefly mentions User Mode Linux and the Hercules emulator for IBM zSeries mainframes.
The Host System
In the current case, the host is a Compaq ML530 running at around 3GHz. It has two internal drive cages, the first is connected to a RAID controller and is used for the host operating system and tools, the second is connected to a SCSI controller and contains 6x discs each of which is used for a different guest system.
The host IP address is 192.168.1.22 and is called pye-dev-07, the default gateway and name server are on 192.168.1.1. Guest systems are on the 192.168.22.x subnet and are named pye-dev-07a, pye-dev-07b and so on, they have their own gateway 192.168.22.1 which is known to the site router and firewalls.
The host operating system is Debian "Squeeze", the host normally runs headless and may be accessed by SSH, X using XDMCP, or VNC. The display manager is gdm since this has a better XDMCP than the alternatives, however in practice graphical login is most often handled by VNC.
The following guests are implemented:
- pye-dev-07a
- Debian on ARM (big-endian) using Qemu
- pye-dev-07b
- Debian on ARM (little-endian, armel) using Qemu
- pye-dev-07c
- Debian on MIPS (little-endian, mipsel) using Qemu
- pye-dev-07d
- Slackware 13.37 using User Mode Linux
- pye-dev-07e
- Windows 2K using Qemu
- pye-dev-07f
- Debian on zSeries using the Hercules emulator