Virtual machines

Bochs

Available to: Linux, Windows

An IA-32 (x86) PC emulator, it emulates ALL of the PC hardware including the CPU as a result it is slow.
It can however potentially run any OS that a real PC can run.

Cooperative Linux

Available to: Windows (2000/XP)

A port of the Linux kernel to run inside a Windows OS, it dos't emulate the CPU and only emulates a subset of hardware devices. As a result of this it can run Linux with excellent performance on a machine running Windows.

Fun fact: This allows you to compile windows programs faster using a Debian version of Mingw that is possible using a native version of Mingw!!!
This is probably caused by some sort of POSIX emulation going on inside the the Win32 version that doesn't have to be performed in the Linus version. At least that is my guess.

Mac-on-Linux

Available to: Linux (PPC)

Emulates an entire PowerPC PC on an PowerPC PC, no CPU emulation eg. fast.
Capable of running MAC OS (PPC versions) and PPC versions of Linux. As with PearPC there might be some legal issues with MAC OS if the PPC machine is not a MAC (here you by a non MAC PPC I don't known).

PearPC

Available to: Linux, Windows

Emulates an entire PowerPC PC on an IA32 PC, this of course requires it to emulate a PPC CPU as well as the hardware devices. Just as with Bochs this means that the emulated computer wont be lightning fast.
Capable of running some PPC versions of Linux and some versions of MAC OSX. There might however be some technical licensing problems with this, as the OSX license apparently doesn't allow you to run it on anything but an "real" MAC.

User Mode Linux

Available to: Linux

A port of the Linux kernel to run inside a Linux OS. Kinda the same deal as Cooperative Linux, just for Linux instead of Windows. Which one came first I don't know.
Quite useful for testing Linux related stuff, for instance an excellent place to test the Linux installers/packages you created for your software.

vmware

Available to: Linux, Windows

Commercial IA32 PC emulator, doesn't emulate the entire CPU (a lot of the CPU cycles run freely on the host machine), as such it should perform almost as good as the host computer.
I should be capable of running any IA32 PC OS, just like Bochs just a lot faster (also a lot more expensive)

How I did it

User Mode Linux

addgroup tun
adduser talpa tun

chmod g+rw /dev/net/tun
tuntap,,,192.168.0.254
mount -n -o remount,rw /
auto lo
iface lo inet loopback

iface eth0 inet static
        address 192.168.0.100
        gateway 192.168.0.20
        netmask 255.255.255.0
Kernel setup
Device Drivers ---> Networking support ---> Universal TUN/TAP device driver support