Terms
Emulation: “Emulation refers to the ability of a program or device to imitate another program or device. Many printers, for example, are designed to emulate Hewlett-Packard LaserJet printers because so much software is written for HP printers. By emulating an HP printer, a printer can work with any software written for a real HP printer. Emulation "tricks" the software into believing that a device is really some other device.â€
http://en.wikipedia.org/wiki/Emulation
Virtualization: “In computing, virtualization is a broad term that refers to the abstraction of computer resources. One useful definition, from independent IT analyst firm Enterprise Management Associates, is "a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources. This includes making a single physical resource (such as a server, an operating system, an application, or storage device) appear to function as multiple logical resources; or it can include making multiple physical resources (such as storage devices or servers) appear as a single logical resource." “
http://en.wikipedia.org/wiki/Virtualization
Paravirtualization: “In computing, paravirtualization is a virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware. This requires operating systems to be explicitly ported to run on top of the virtual machine monitor (VMM), which the owner of exclusive rights in a proprietary operating system may decline to allow for strategic purposes, but may enable the VMM itself to be simpler and for the virtual machines that run on it to achieve higher performance.â€
http://en.wikipedia.org/wiki/Paravirtualization
Short and sweet, Virtualization involves full hardware and software emulation (pretending), while Paravirtualization involves partial. Although many mistakenly believe that full virtualization is possible on average x86 systems, it is in fact, not. Full Virtualization involves a total and complete emulation of an entire operating system including all of its abilities – networking, printing, sound, fully functional apps, etc. What is possible is various forms of Paravirtualization to varying degree's of usability. Examples of this are VMWare, Virtual Machine, Win4Lin, Parrallels, Mac-on-Linux, Crossover, Cedega, wine, Xen, Qemu/Kqemu, KVM, and others.
http://en.wikipedia.org/wiki/Full_virtualization
Wikipedia
Advantages and uses
As commented above, its advantages are many. Software debugging, resource sharing, networking, optimized use of available resources, or just playing around and testing other operating systems without actually rebooting or installing. Plus, its a lot of fun!
Techniques “How toâ€
For this to work, you need to have an .iso file handy. Download any distro .iso file and place it on your Desktop. The SL .iso will not work with this, sorry.
1.Lets start with the onboard Virtual Machine Hypervisor that comes packaged with your new SL 3.3 install (full version). Double click it and the first window pops up which includes the “Open Connection†dialoque wizard. Click the down arrow and select “KVM/QEMUâ€, as SL 3.3 does not have a XEN kernel so it wont work. You also have two other options, “Local host†and “Other hypervisorâ€. Were going to use “Local hostâ€. “Other hypervisor†is used to link off another, already existing connection to which you insert the URL link. Ive never tried this option, but it sounds like fun! Anyway, click on “local host†and then click “Connectâ€.
2.Your now at the KVM/QEMU virtual machine manager. It will be blank if this is your first time here. There are four buttons at the bottom - “deleteâ€, “newâ€, “detailsâ€, and “openâ€. Click on “newâ€.
3.Enter the “create new virtual system†wizard! Read it and click on “forwardâ€.
4.Now you need to enter a name and click “Forwardâ€. It can be any name you choose.
5.Leave the settings on this window as is and click “forwardâ€. Only “Fully Virtualizedâ€, and “i686†can really be used, as x86_64 has not been enabled for guest machines yet. I do not know if the other options work or not, but you can try them!
6.Next comes time to select the .iso you just downloaded onto your Desktop. Choose “ISO Image Locationâ€, and enter, or browse to its location. Choose the “OS Type†and the “OS Variant†and hit “Forwardâ€. Im not sure what “Other†would be under the OS Type, but when it comes to Virtual Machine, play play play! Thats what its all about!
7.Next comes assigning a “file†for the guest OS to operate in. All this really does is create a free space for the ISO to stretch its virtual legs in should you wish to install it or download files within the guest environment. You can choose to use an existing partition, or “Simple Fileâ€. Select “Simple File†and type /home/username/Desktop/ISO, where “username†is your account name, and enter in a file size big enough to handle the ISO your going to virtualize. You'll have to make that call as distro's like DSL or Puppylinux tend to run just great on 200megs of space, while SuSe requires at least 5 Gigs. Keep in mind too that the more complex the distro your virtualizing, the more resource intensive its going to be, and thus load down your system overall and make it slow and graphics choppy. Anyway, unselect “Allocate entire virtual disk nowâ€, as there really is no reason to do this and it takes a lot of time for the virtual machine to create it. Click “Forwardâ€.
8.Now select the RAM you think you'll need. I typically go with VM Max Memory of 999, and VM Startup Memory of 500. I have 2 Gigs of onboard RAM, so assigning 1 Gig still leaves me with plenty to spare. Also note here that just because you assign a Max of 1 Gig, does not mean that the virtual machine will be using the full amount of it all the time. It will allocate it as needed. Now, choose the VCPU's the emulator will run. Rule of thumb - If your machine isnt dual core, then DONT choose two! :=}
9.Click “Forwardâ€, and your in the final selection screen. If your happy with what you see, click Finish. If not, back buttun and fix what you need to.
10.Now your back on the virtual machine manager window and you should be looking at your new virtual machine displayed in the window. Select it, and click “Openâ€, and bada bing, bada BOOM, it starts up! You should see the Virtual Machine Console with “runâ€, “Pauseâ€, and “Shutdown†buttons at the top. In the main window you should see your ISO boot screen where you can select boot options just like on the livecd. Select one and watch it boot right up to the login screen where you then login and commence tearing it up just like you would on a livecd. You will notice some chopiness from time to time if you run graphics intensive stuff. You should have working internet, but thats about it as the VM does not normally enable networking or sound... Not that big of a deal, at least for me.
OK, now how about the other stuff
The Sabayon Forums have a great deal of information on manual paravirtualization. Read through these links for the detailed “how toâ€. As there is already so much information here, I wont go into more detail than this.
http://www.sabayonlinux.org/forum/viewtopic.php?t=4216
http://www.sabayonlinux.org/forum/viewt ... hlight=kvm
So, there you have it. Enjoy virtualization in Sabayon!!
Here is my Demo vid
http://www.youtube.com/watch?v=rWn_U4RnUw8

