If you'd like to try a new twist on virtualization, FAUmachine might be the next cool thing.
For those of you who don’t already know about FAUmachine (FAU), it’s a virtual machine that allows you to install full operating systems and run them as if they were independent computers. FAUmachine is similar to VirtualBox, QEMU, and other full virtualization technologies. It is a project sponsored by the Friedrich Alexander University Computer Science Department in Germany (Erlangen-Nuremberg*). FAU is a computer simulator that is an independent virtual machine project. The CPU is based on the virtual CPU in QEMU.
FAU distinguishes itself from other virtualization technologies in the following ways:
- FAU runs as a normal user process. Root privileges and kernel modules not required.
- Fault injection capability for experimentation.
- VHDL interpreter and several example scripts for the VHDL interpreter.
From the FAUmachine web site:
FAUmachine simulates a large variety of different hardware components, including several x86 and x86_64 CPUs,
- IDE and SCSI controllers,
- NE2000- and Intel eepro100 network interface adapters,
- a Sound Blaster 16 sound card,
- a generic VGA and a Cirrus GD5446 graphics adapter,
- a 24 and a 48 pin direct-I/O PCI-card,
but also peripherals such as
- networking hubs and routers,
- serial terminals,
- USB-to-Serial adapters,
- and even a three-story elevator.***
FAU also simulates the whole PC environment, like the power switch, the monitor, the power supply, and more. You can also configure memory module bank numbers and PCI card slots.
If you’re using a Debian-based distribution, you can install FAUmachine from your software repository. I used the graphical Ubuntu Software Center to install it onto my Ubuntu 11.04 laptop system. Alternatively, you can download the source and compile it yourself. For those who use Red Hat-based or SUSE systems, you can find installable RPMs from various locations around the Net. Check your repository first, if you’re using an RPM-based distribution.
Once installed, find FAUmachine under System Tools and launch it to start the new virtual machine creation wizard. The first screen prompts you to enter a directory to store your virtual machines. I created a directory named FM under my home directory for this purpose.****
The next prompt asks you which PC architecture to simulate (i386 or amd64). Naturally, I chose the cooler amd64 (i386 is so last century). Click OK to continue. See Figure 1.
Figure 1: Selecting a PC Architecture for Your VM.
The screen shown in Figure 2 prompts you to enter a size in megabytes (MB) for the new virtual machine’s disk. I entered 2000 (2 GB). Click OK to continue.
Figure 2: Entering a Virtual Disk Size.
Figure 3′s screen prompts you to enter an amount of RAM for your new virtual machine. Select one of the presented choices and click OK to continue. Note that you might see different values at this step depending on the amount of available RAM you have to offer a virtual machine.
Figure 3: Configuring Memory for a VM.
Figure 4 presents you with a configured virtual machine ready for an operating system.
Figure 4: The FAUmachine VM Interface.
Power on the virtual machine by clicking the Power button. Of course, you have no operating system installed so the boot process fails as shown in Figure 5.
Figure 5: Booting the VM – No Operating System.
You’ll have to direct FAU to an ISO file for your favorite distribution to begin the installation. Reset (reboot) the virtual machine (VM) by clicking the Reset button and press the DEL key on your host system’s keyboard when you see the BIOS message during boot.
Pressing the DEL takes you into the BIOS setting for the VM. See Figure 6. Once in BIOS, arrow down to BIOS FEATURES SETUP and press ENTER to view those settings. Be sure that your system’s Boot Order is CDROM,C,A. If the system isn’t set to boot from the CDROM, you won’t be able to boot from an ISO image. Make your changes, if needed, pres ESC, when finished, arrow right and down to SAVE & EXIT SETUP to save your settings and reboot the computer.
Figure 6: Configuring FAUmachine’s BIOS Settings.
System boot fails again because you haven’t pointed the VM to an ISO file or a CD/DVD drive containing a bootable CD. On the FAUmachine menu, click Media>Create CD. Set the media type, the size, the contents, browse to your ISO file and select it, and name the media (For example, CD) and click the Create button as shown in Figure 7.
Figure 7: Setting up a Bootable ISO image.
In the upper right corner of the FAUmachine interface, you see a label: hdc and below it a button labeled, Insert. Click that button to insert the CDROM you just created. Select your media (CD) from the list. See Figure 8.
Figure 8: Inserting the Boot Media for a VM.
Boot the system by clicking the Reset button. Once the system boots to your media (See Figure 9), proceed with installation of the operating system as you normally would. Note that when you need to release your mouse from FAU, press ALT-CTRL-ESC on your host system’s keyboard to release it. A mouse click inside the VM will grab your mouse again for use in the VM’s operating system.
Figure 9: ISO Image Successfully Booted – OS Ready to Install.
FAUmachine is easy to install via repository, easy to use, and a pleasure to work with. You’ll like FAU. If this were an actual review, I’d give FAU a solid 8.5/10. It has some very cool features and performs very well on a system with limited resources.
And, I did all of this without using the command line. There’s hope for me yet in the graphical world. I hope you enjoy discovering and using the Friedrich Alexander University (FAU) FAUmachine virtual machine and its unique capabilities. Be sure to write back in the comments and tell everyone about your experiences with it.
* Nuremberg is the birthplace and home of SUSE Linux. It’s also well known for the post-WWII Nazi war crimes trials that featured Rudolf Hess** and his famous single word answer, “Nein!”, to the list of charges against him.
** No relation, I hope.
*** I think they’re serious.
**** In my excitement about FAUmachine, I failed to take a screenshot for this step. So, sue me.