Although there exists quite a bit of documentation and makeshift â€œhow to'sâ€ via Google, i'm going to write a short guide on how to use the onboard Virtual Machine that comes with SL 3.3, along with a few comments on Paravirtualization methods that can be used to make things fun.
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.â€
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." â€œ
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.â€
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.
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/viewt ... hlight=kvm
So, there you have it. Enjoy virtualization in Sabayon!!
Here is my Demo vid