Bochs
"Bochs is a program that simulates a complete Intel x86 computer. It can be configured to act like a 386, 486, Pentium, or Pentium Pro. Bochs interprets every instruction from power-up to reboot, and has device models for all of the standard PC peripherals: keyboard, mouse, VGA card/monitor, disks, timer chips, network card, etc. Because Bochs simulates the whole PC environment, the software running in the simulation "believes" it is running on a real machine. This approach allows Bochs to run a wide variety of software with no modification, include most popular x86 operating systems: Windows 95/98/NT, all Linux flavors, all BSD flavors, and more."
Kindly extracted from the User guide
Screenshots: Compiling "Hello World" / Download PHP / Active SSH Connection
compiling
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bochs login cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bochs checkout bochs Updated - 20081114 cvs -d:pserver:anonymous@bochs.cvs.sourceforge.net:/cvsroot/bochs login cvs -z3 -d:pserver:anonymous@bochs.cvs.sourceforge.net:/cvsroot/bochs co -P bochs
Use this settings for optimizing the performance on my PowerBook G4.
CFLAGS="-O3 -faltivec -mtune=7450 -maltivec -mabi=altivec -pipe -I/sw/include -mcpu=7450 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -falign-loops=16 -falign-jumps=16 -falign-functions=16" CPATH="/sw/include" CPPFLAGS="" CXXFLAGS="$CFLAGS" LDFLAGS="-L/sw/lib" export CFLAGS export CPATH export CPPFLAGS export CXXFLAGS export LDFLAGS ./configure --enable-cdrom --enable-ne2000 --enable-vbe --enable-all-optimizations --enable-pci --enable-mmx --with-carbon --enable-icache --enable-repeat-speedups
permissions
On MacOsX root permissions are needed for accessing the devices.
$ su # cd /Applications/Bochs # chown -R root bochs.app # chmod -R a+s bochs.app
From now, bochs will be executed using the usercontext of root and therefor can access the devices.
dvd-rom device access
ata0-slave: type=cdrom, path="drive", status=inserted, biosdetect=auto, model="PowerBook"
links
Website (changes) / Help Forum