https://linux-kvm.org/api.php?action=feedcontributions&user=WikiSysop&feedformat=atomKVM - User contributions [en]2024-03-28T08:54:50ZUser contributionsMediaWiki 1.39.5https://linux-kvm.org/index.php?title=WindowsGuestDrivers/kvmnet/installer&diff=1918WindowsGuestDrivers/kvmnet/installer2009-02-05T12:34:14Z<p>WikiSysop: </p>
<hr />
<div>= Binary drivers = <br />
Drivers can be found at: <br />
https://sourceforge.net/project/showfiles.php?group_id=180599&package_id=267944 <br />
<br />
Note that there are 2 pointers to it. The "kvm-guest-drivers-windows" is older version.<br />
<br />
= Installer disclaimer =<br />
This is a general installer, it's not Windows standard and it won't handle all sort of possibilities (like if you have 3 virtio devices, two of them with older virtio drivers, disabled). It does handle 95% of the cases. <br />
Anyway, enjoy, installation instructions below. <br />
<br />
= Installer for NetKVM drivers =<br />
<br />
Important notes:<br />
<br />
1. During installation on there are system pop-ups related to installation of unsigned drivers.<br />
These pop-ups can not be suppressed and the installation must be confirmed manually. <br />
<br />
2. During installation there are pop-ups of drivers search etc - they usually are closed automatically and should be ignored. <br />
<br />
3. Sometimes pop-up (1) may be not visible under pop-up (2) - the installation will wait until the pop-up (1) confirmed. <br />
<br />
4. Expected placement of installer is in the root of driver's tree. If the placement is different, command-line should include the actual driver's root path, relative or absolute. <br />
<br />
5. Since we did not (yet) sign the drivers you need to install a certificate workaround manually. '''This is required for Windows Vista/2008 64-bit.''' There are several things to do: <br />
<br />
a. Disable UAC <br />
<br />
b. Install certificate using installcertificate.bat<br />
<br />
c. Run "bcdedit /set testsigning on" and reboot<br />
<br />
Please contact me for any questions/comments regarding the installer<br />
<br />
ReadMe files (included below): <br />
tools\NetKVM-Installer\ReadMe.txt <br />
tools\Package\ReadMe.txt <br />
<br />
= Readme of tools\NetKVM-Installer = <br />
<br />
This project creates installer application for NetKVM drivers.<br />
32-bit and 64-bit installers are built using suitable configurations in the VS solution.<br />
<br />
By design, both 32 and 64 bit executables are packed into single 32-bit installer application,<br />
which extracts them according to exact system architecture into temporary file and runs, passing<br />
command line arguments as was passed to the application. See "Package" project for details. <br />
<br />
Relative location of drivers and list of PnPID to install are currently hard-coded inside installer,<br />
exactly as they are created by the build procedure of NetKVM drivers. <br />
<br />
NOTE: The installer doesn't automates the Driver certifications required by Windows 64-bit.<br />
This step must be done manually. <br />
<br />
Command-line options:<br />
OS-Specific-Installer [path] [options]<br />
<br />
path - (optional) absolute or relative path to the root directory of drivers tree<br />
OS-dependent drivers are expected to be placed under it as: <br />
<br />
+---2K <br />
¦ L---x86 <br />
+---Vista <br />
¦ +---amd64 <br />
¦ L---x86 <br />
L---XP <br />
+---amd64 <br />
L---x86<br />
<br />
<br />
options:<br />
-u uninstall drivers only, do not install<br />
-ni non-interactive install (only for signed drivers)<br />
<br />
If no parameters passed:<br />
path=. (current directory where the installer runs)<br />
action - uninstall existing drivers, then install current ones.<br />
<br />
= Readme of tools\Package =<br />
<br />
This project is Installer package - 32-bit application, including as resources 2 applications:<br />
<br />
- 32-bit installer<br />
- 64-bit installer<br />
<br />
It contains also 32 and 64 bits DLL of DIFX API, which currently is not in use.<br />
<br />
When run, the actual per-architecture installer is unpacked into temporary directory<br />
and runs without changing the current directory and passes to the actual installer<br />
the command line of container application.<br />
<br />
= Debugging NetKVM drivers =<br />
<br />
1. Enable logging by setting the NIC's Advanced settings -> Logging Enable, then -> Logging Level -> 2<br />
<br />
2. In order to collect the log of installation - run DebugView and enable Win32 logging capture.<br />
<br />
3. The system diagnostic, related to installation, on 2008 is in %windir%\inf\setupapi.dev.log</div>WikiSysophttps://linux-kvm.org/index.php?title=MediaWiki:Sidebar&diff=1915MediaWiki:Sidebar2009-02-05T10:34:11Z<p>WikiSysop: </p>
<hr />
<div>* navigation<br />
** mainpage|mainpage<br />
** status|Status<br />
** Guest Support Status|Guest Support Status<br />
** HOWTO|HOWTO<br />
** Migration|Migration<br />
** Lists, IRC|Lists, IRC<br />
** Documents|Documents<br />
** Downloads|Downloads<br />
** Bugs|Bugs<br />
** Code|Code<br />
** TODO|TODO<br />
** FAQ|FAQ<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
** sitesupport-url|sitesupport</div>WikiSysophttps://linux-kvm.org/index.php?title=MediaWiki:Sidebar&diff=1914MediaWiki:Sidebar2009-02-05T10:33:09Z<p>WikiSysop: </p>
<hr />
<div>* navigation<br />
** mainpage|mainpage<br />
** status|Status<br />
** Guest Support Status<br />
** HOWTO<br />
** Migration<br />
** Lists, IRC<br />
** Documents<br />
** Downloads<br />
** Bugs<br />
** Code<br />
** TODO<br />
** FAQ<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
** sitesupport-url|sitesupport</div>WikiSysophttps://linux-kvm.org/index.php?title=MediaWiki:Sidebar&diff=1913MediaWiki:Sidebar2009-02-05T10:31:45Z<p>WikiSysop: </p>
<hr />
<div>* navigation<br />
** mainpage|mainpage<br />
** status|status<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
** sitesupport-url|sitesupport</div>WikiSysophttps://linux-kvm.org/index.php?title=FAQ&diff=1912FAQ2009-02-05T10:26:27Z<p>WikiSysop: /* "rect too big" Message when using VNC Display */</p>
<hr />
<div>__TOC__<br />
== Preparing to use kvm ==<br />
=== What do I need to use kvm? ===<br />
You will need an x86 machine running a recent Linux kernel on an Intel processor with VT (virtualization technology) extensions, or an AMD processor with SVM extensions (also called AMD-V). Xen has a [http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors complete list] of compatible processors. <br />
<br />
----------<br />
=== Are 64bits processors supported under kvm? ===<br />
Yes they are supported and will allow you to run 32bits and 64 bits clients.<br />
<br />
See also '''Can kvm run a 32-bit guest on a 64-bit host? What about PAE?''' below.<br />
<br />
----------<br />
<br />
=== What is Intel VT / AMD-V / hvm? ===<br />
[http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm Intel VT] and [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8826_14287,00.html AMD's AMD-V] are instruction set extensions that provide hardware assistance to virtual machine monitors. They enable running fully isolated virtual machines at native hardware speeds, for some workloads. <br />
<br />
HVM (for Hardware Virtual Machine) is a vendor-neutral term often used to designate the x86 instruction set extensions. <br />
<br />
----------<br />
<br />
=== How can I tell if I have Intel VT or AMD-V? ===<br />
With a recent enough Linux kernel, run the command:<br />
<br />
. egrep '^flags.*(vmx|svm)' /proc/cpuinfo<br />
<br />
If something shows up, you have VT. You can also check the processor model name (in `/proc/cpuinfo`) in the vendor's web site. <br />
<br />
Note:<br />
<br />
* Some manufacturers disable VT in the machine's BIOS, in such a way that it cannot be re-enabled.<br />
* `/proc/cpuinfo` only shows virtualization capabilities starting with Linux 2.6.15 (Intel) and Linux 2.6.16 (AMD). Use the `uname -r` command to query your kernel version. <br />
In case of doubt, contact your hardware vendor. <br />
<br />
----------<br />
<br />
=== "KVM: disabled by BIOS" error ===<br />
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor's web site. <br />
<br />
Also, on some hardware (e-g HP nx6320), you need to power-off/power-on the machine after enabling virtualisation in the BIOS. <br />
<br />
----------<br />
<br />
=== How can I use AMD-V extension? ===<br />
modprobe kvm-amd <br />
<br />
----------<br />
<br />
=== What user space tools does kvm use? ===<br />
kvm uses a slightly modified [http://www.qemu.com/ qemu] program to instantiate the virtual machine. Once running, a virtual machine is just a regular process. You can use `top(1), kill(1), taskset(1)` and similar tools to manage virtual machines. <br />
<br />
----------<br />
<br />
=== What virtual disk formats can kvm use? ===<br />
kvm inherits a wealth of disk formats support from qemu; it supports raw images, the native qemu format (qcow), VMware format, and many more. <br />
<br />
----------<br />
<br />
=== Are there management tools available to help me manage my virtual machines? ===<br />
Yes. Please see the [[Management Tools]] page for some links. <br />
<br />
----------<br />
<br />
== Using kvm ==<br />
=== How can I use kvm with a non-privileged user? ===<br />
The cleanest way is probably to create a group, say ''kvm'', and add the user(s) to that group. Then you will need change /dev/kvm to owned by group ''kvm''. <br />
<br />
On a system that runs udev, you will probably need to add the following line somewhere in your udev configuration so it will automatically give the right group to the newly created device (i-e for ubuntu add a line to ''/etc/udev/rules.d/40-permissions.rules''). <br />
<br />
KERNEL=="kvm", GROUP="kvm"<br />
<br />
----------<br />
<br />
=== Is KVM stable? ===<br />
The good news is that more and more developers and testers use KVM each passing day and for the most part, it works. KVM is a very young project and constantly evolving to add new features and more hardware support. Given the fervent pace of development, it's very likely that we're introducing new bugs at a fast pace as well, however small they might be. We would encourage our users to report any bug(s) they encounter so that we can continue making KVM better and stabler with each commit. <br />
<br />
----------<br />
<br />
=== That's alright, but can I really use it for my daily use? ===<br />
Sure. We continuously run the most often-used OSes and configurations and if anything breaks for the developers, it's fixed as soon as it was broken. See the [[Guest Support Status]] and [[Host Support Status]] pages to find out more. Please update them with success stories so that new users would benefit from the experience of the community. <br />
<br />
----------<br />
<br />
=== How about production use? ===<br />
For production use, it's recommended you use the kvm modules shipped by the distribution you're using to ensure stability. As mentioned above, it's tempting to use new features, but you never know of (unwanted) surprises hidden away. It'll be best if you can run the development snapshots with non-critical production load, so that the latest releases are stable for you when you decide to deploy them. <br />
<br />
----------<br />
<br />
=== What happens if I kill -9 a VM process? ===<br />
From the guest's perspective, it is as if you yanked the power cord out. From the host's perspective, the process is killed and all resources it uses are reclaimed. <br />
<br />
----------<br />
<br />
=== I need help to setup the network for my guest ===<br />
You can have a look to the [[Networking]] page of this wiki for informations on the most classical networking setup for the guests. You can also refer to the Qemu documentation. <br />
<br />
----------<br />
<br />
=== Where can I find more documention... ===<br />
Most usability issues are covered in the QEMU [http://bellard.org/qemu/user-doc.html documentation]. There is also an extensive [http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions FAQ]. <br />
<br />
----------<br />
<br />
== Troubleshooting ==<br />
=== How can I check that I'm not falling back to qemu with no hardware acceleration? ===<br />
<br />
If you think that you might no be using the hardware acceleration provided by the kvm module, here are a few steps to help you check this. <br />
<br />
First of all, check that you don't have messages such as:<br />
<br />
<br />
qemu-system-x86_64 -hda myvm.qcow2 <br />
open /dev/kvm: No such file or directory<br />
Could not initialize KVM, will disable KVM support<br />
<br />
<br />
In that case, you can check that:<br />
* the modules are correctly loaded <code>lsmod|grep kvm<br />
* you don't have a "KVM: disabled by BIOS" line in the output of dmesg<br />
* /dev/kvm exists and you have the correct rights to use it <br />
<br />
Other ways to do the diagnostic:<br />
* if you have access to the qemu monitor (Ctrl-Alt-2, use Ctrl-Alt-1 to get back to the VM display), enter the "info kvm" command and it should respond with "KVM support: enabled" <br />
* the right-end columns of the output from <code>lsmod|grep kvm</code> on the host system, once the VM is started should show only non zero values. The value on the line corresponding to the architecture specific module (e-g kvm_intel, kvm_amd) show the number of VM using the module. For instance, if I have 2 VM running using the kvm module on a machine with vt, it will report: <br />
<br />
<br />
lsmod|grep kvm<br />
kvm_intel 44896 2 <br />
kvm 159656 1 kvm_intel<br />
<br />
=== "rect too big" Message when using VNC Display ===<br />
When connection to a VNC Terminal, a "rect too big" message appears, and the VNC Session disconnects.<br />
<br />
This might happen, when a VNC Client (for example RealVNC / xvnc4viewer) chooses ZRLE Encoding. Simple choose Hextile Encoding in the options of your VNC Client, and the Problem should be resolved. <br />
<br />
----------<br />
'''How do I set up the network such that my guest is accessible from other machines?''' or<br />
<br />
=== My guest network is stuck what should I do? === <br />
kvm uses qemu for its device emulation. Consult the [http://kidsquid.com/cgi-bin/moin.cgi/QemuNetwork qemu network wiki page] for detailed network setup instructions. <br />
<br />
One would probably be interested in the Root Networking Mode page and the Network Bridge page.<br />
<br />
----------<br />
<br />
=== Windows boots and runs very slowly? ===<br />
See the [[Windows ACPI Workaround]] page. <br />
<br />
----------<br />
<br />
=== I get an "Exception 13" or "Exception 12" message while booting a guest OS on my Intel host ===<br />
See the [[Intel Real Mode Emulation Problems]] page. <br />
<br />
----------<br />
=== I get "rtc interrupts lost" messages, and the guest is very slow? ===<br />
Try setting <code>CONFIG_HPET_EMULATE_RTC=y</code> in your host <code>.config</code>.<br />
<br />
----------<br />
<br />
=== I have VMware/Parallels/VirtualBox installed and when I modprobe KVM, my system deadlocks. ===<br />
Neither Intel VT nor AMD-V provide a mechanism to determine whether software is currently using the hardware virtualization extensions. This means that if you have two kernel modules loaded attempting to use hardware virtualization extensions, very bad things will happen. If you are using another type of virtualization software and experience any sort of weirdness with KVM, make sure you can reproduce the problem without the kernel modules for that software loaded before you report a bug in KVM. <br />
<br />
----------<br />
<br />
=== There's nothing on QEMU/kvm screen, but it's not hanged! I'm trying to install Kubuntu. ===<br />
Try to run kvm with -std-vga option. It helps if guest operating system uses framebuffer mode like Kubuntu/Ubuntu. <br />
<br />
----------<br />
<br />
=== When I click the guest operating system window, mouse is grabbed. How can I get mouse to not to do that? OR Mouse doesn't show up / doesn't work in the guest. What do I do? === <br />
From #qemu wiki, try to run kvm/qemu with <br />
<br />
<br />
-usb -usbdevice tablet<br />
If that doesn't work, try this:<br />
<br />
<br />
$ export SDL_VIDEO_X11_DGAMOUSE=0<br />
(from http://wiki.clug.org.za/wiki/QEMU_mouse_not_working )<br />
<br />
----------<br />
<br />
== General kvm information ==<br />
=== What is the difference between kvm and Xen? ===<br />
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use. <br />
<br />
kvm only run on processors that supports x86 hvm (vt/svm instructions set) whereas Xen also allows running modified operating systems on non-hvm x86 processors using a technique called paravirtualisation. kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances. <br />
<br />
----------<br />
<br />
=== What is the difference between kvm and VMWare? ===<br />
VMware is a proprietary product. kvm is Free Software released under the GPL.<br />
<br />
----------<br />
<br />
=== What is the difference between kvm and QEMU? ===<br />
Qemu uses emulation; kvm uses processor extensions (HVM) for virtualization.<br />
<br />
----------<br />
<br />
=== Do you have a port of kvm for Windows? ===<br />
Not in this release. <br />
<br />
----------<br />
<br />
=== What kernel version does it work with? ===<br />
It depends on what version of kvm you are using. The last release of kvm should work with any recent kernel (2.6.17 and above), older releases even older kernels. <br />
<br />
----------<br />
<br />
=== How much RAM do I need? ===<br />
You will need enough memory to let the guest run comfortably while keeping enough for the host. 1GB is probably a minimum configuration for the host OS. <br />
<br />
----------<br />
<br />
=== Is dynamic use of RAM for guest operating system supported? ===<br />
Yes. If you set -m 6144, guest can get a maximum of 6GB of RAM, but doesn't necessarily uses all. PLease note however that the usual platform limits will apply so you won't be able to see more than 4GB of RAM on a 32 bits guest unless you use PAE. <br />
<br />
----------<br />
<br />
=== What OSs can I run inside kvm VM? ===<br />
Several. See the [:Guest Support Status:Guest_Support_Status] page for details. Note that several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub. <br />
<br />
----------<br />
<br />
=== Does kvm support a live migration feature to move virtual machines from one host to another without downtime? === <br />
Yes. See the [[Migration]] page for details. <br />
<br />
----------<br />
<br />
=== Does kvm support live migration from an AMD host to an Intel host and back? ===<br />
Yes. There may be issues on 32-bit Intel hosts which don't support NX (or XD), but for 64-bit hosts back and forth migration should work well. Migration of 32-bit guests should work between 32-bit hosts and 64-bit hosts. <br />
<br />
----------<br />
<br />
=== Can kvm run a 32-bit guest on a 64-bit host? What about PAE? ===<br />
kvm supports 32-bit guests on 64-bit hosts, and any combination of PAE and non-PAE guests and hosts. The only unsupported combination is a 64-bit guest on a 32-bit host. <br />
<br />
If you are running a Windows Virtual Machine and have problems enabling PAE in your guest see the [[Windows PAE Workaround]] page. <br />
<br />
----------<br />
<br />
=== Is it possible to use USB devices with a guest OS? ===<br />
Yes, look up how to do it with qemu, it's the same way. <br />
<br />
----------<br />
<br />
=== Can I have higher or widescreen resolutions (eg 1680 x 1050) in kvm? ===<br />
Support for higher resolutions was added in kvm-59, but some bugs were left until the release of kvm-62. Use the -std-vga parameter while starting the VM. <br />
<br />
If the resolution you want to use is not available, you can patch the corresponding source files (see http://article.gmane.org/gmane.comp.emulators.kvm.devel/13557 as a reference), or send a mail to the kvm mailing list if you are not able to patch the source yourself. <br />
<br />
When using Windows as guest OS you might want to use the driver from the VBEMP x86 project (http://www.geocities.com/bearwindows/vbemp.htm).<br />
<br />
----------<br />
<br />
=== Does kvm support SMP hosts? ===<br />
Yes.<br />
<br />
----------<br />
<br />
=== Does kvm support SMP guests? ===<br />
Yes. But so far only 4 CPUs can be specified using the -smp option. Please note however that you'll needacpi enabled for SMP to work (i-e -no-acpi won't show more than one cpu on a linux guest)<br />
<br />
----------<br />
<br />
=== Is the name 'kvm' trademarked? ===<br />
No.<br />
<br />
----------<br />
<br />
=== What is Qumranet's product? ===<br />
Qumranet is a startup company financed by [http://www.sequoiacap.com/ Sequoia Capital] and [http://www.nvp.com/ Norwest Venture Partners (NVP)].<br />
<br />
On the 24th of September 2007, Qumranet announced their first product, Solid ICE, a virtual Desktop Infrastructure solution based on KVM (http://web1.qumranet.com/art_images/files/10/Qumranet_Launch_Release.pdf)<br />
<br />
----------</div>WikiSysophttps://linux-kvm.org/index.php?title=FAQ&diff=1911FAQ2009-02-05T10:05:03Z<p>WikiSysop: /* How can I check that I'm not falling back to qemu with no hardware acceleration? */</p>
<hr />
<div>__TOC__<br />
== Preparing to use kvm ==<br />
=== What do I need to use kvm? ===<br />
You will need an x86 machine running a recent Linux kernel on an Intel processor with VT (virtualization technology) extensions, or an AMD processor with SVM extensions (also called AMD-V). Xen has a [http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors complete list] of compatible processors. <br />
<br />
----------<br />
=== Are 64bits processors supported under kvm? ===<br />
Yes they are supported and will allow you to run 32bits and 64 bits clients.<br />
<br />
See also '''Can kvm run a 32-bit guest on a 64-bit host? What about PAE?''' below.<br />
<br />
----------<br />
<br />
=== What is Intel VT / AMD-V / hvm? ===<br />
[http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm Intel VT] and [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8826_14287,00.html AMD's AMD-V] are instruction set extensions that provide hardware assistance to virtual machine monitors. They enable running fully isolated virtual machines at native hardware speeds, for some workloads. <br />
<br />
HVM (for Hardware Virtual Machine) is a vendor-neutral term often used to designate the x86 instruction set extensions. <br />
<br />
----------<br />
<br />
=== How can I tell if I have Intel VT or AMD-V? ===<br />
With a recent enough Linux kernel, run the command:<br />
<br />
. egrep '^flags.*(vmx|svm)' /proc/cpuinfo<br />
<br />
If something shows up, you have VT. You can also check the processor model name (in `/proc/cpuinfo`) in the vendor's web site. <br />
<br />
Note:<br />
<br />
* Some manufacturers disable VT in the machine's BIOS, in such a way that it cannot be re-enabled.<br />
* `/proc/cpuinfo` only shows virtualization capabilities starting with Linux 2.6.15 (Intel) and Linux 2.6.16 (AMD). Use the `uname -r` command to query your kernel version. <br />
In case of doubt, contact your hardware vendor. <br />
<br />
----------<br />
<br />
=== "KVM: disabled by BIOS" error ===<br />
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor's web site. <br />
<br />
Also, on some hardware (e-g HP nx6320), you need to power-off/power-on the machine after enabling virtualisation in the BIOS. <br />
<br />
----------<br />
<br />
=== How can I use AMD-V extension? ===<br />
modprobe kvm-amd <br />
<br />
----------<br />
<br />
=== What user space tools does kvm use? ===<br />
kvm uses a slightly modified [http://www.qemu.com/ qemu] program to instantiate the virtual machine. Once running, a virtual machine is just a regular process. You can use `top(1), kill(1), taskset(1)` and similar tools to manage virtual machines. <br />
<br />
----------<br />
<br />
=== What virtual disk formats can kvm use? ===<br />
kvm inherits a wealth of disk formats support from qemu; it supports raw images, the native qemu format (qcow), VMware format, and many more. <br />
<br />
----------<br />
<br />
=== Are there management tools available to help me manage my virtual machines? ===<br />
Yes. Please see the [[Management Tools]] page for some links. <br />
<br />
----------<br />
<br />
== Using kvm ==<br />
=== How can I use kvm with a non-privileged user? ===<br />
The cleanest way is probably to create a group, say ''kvm'', and add the user(s) to that group. Then you will need change /dev/kvm to owned by group ''kvm''. <br />
<br />
On a system that runs udev, you will probably need to add the following line somewhere in your udev configuration so it will automatically give the right group to the newly created device (i-e for ubuntu add a line to ''/etc/udev/rules.d/40-permissions.rules''). <br />
<br />
KERNEL=="kvm", GROUP="kvm"<br />
<br />
----------<br />
<br />
=== Is KVM stable? ===<br />
The good news is that more and more developers and testers use KVM each passing day and for the most part, it works. KVM is a very young project and constantly evolving to add new features and more hardware support. Given the fervent pace of development, it's very likely that we're introducing new bugs at a fast pace as well, however small they might be. We would encourage our users to report any bug(s) they encounter so that we can continue making KVM better and stabler with each commit. <br />
<br />
----------<br />
<br />
=== That's alright, but can I really use it for my daily use? ===<br />
Sure. We continuously run the most often-used OSes and configurations and if anything breaks for the developers, it's fixed as soon as it was broken. See the [[Guest Support Status]] and [[Host Support Status]] pages to find out more. Please update them with success stories so that new users would benefit from the experience of the community. <br />
<br />
----------<br />
<br />
=== How about production use? ===<br />
For production use, it's recommended you use the kvm modules shipped by the distribution you're using to ensure stability. As mentioned above, it's tempting to use new features, but you never know of (unwanted) surprises hidden away. It'll be best if you can run the development snapshots with non-critical production load, so that the latest releases are stable for you when you decide to deploy them. <br />
<br />
----------<br />
<br />
=== What happens if I kill -9 a VM process? ===<br />
From the guest's perspective, it is as if you yanked the power cord out. From the host's perspective, the process is killed and all resources it uses are reclaimed. <br />
<br />
----------<br />
<br />
=== I need help to setup the network for my guest ===<br />
You can have a look to the [[Networking]] page of this wiki for informations on the most classical networking setup for the guests. You can also refer to the Qemu documentation. <br />
<br />
----------<br />
<br />
=== Where can I find more documention... ===<br />
Most usability issues are covered in the QEMU [http://bellard.org/qemu/user-doc.html documentation]. There is also an extensive [http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions FAQ]. <br />
<br />
----------<br />
<br />
== Troubleshooting ==<br />
=== How can I check that I'm not falling back to qemu with no hardware acceleration? ===<br />
<br />
If you think that you might no be using the hardware acceleration provided by the kvm module, here are a few steps to help you check this. <br />
<br />
First of all, check that you don't have messages such as:<br />
<br />
<br />
qemu-system-x86_64 -hda myvm.qcow2 <br />
open /dev/kvm: No such file or directory<br />
Could not initialize KVM, will disable KVM support<br />
<br />
<br />
In that case, you can check that:<br />
* the modules are correctly loaded <code>lsmod|grep kvm<br />
* you don't have a "KVM: disabled by BIOS" line in the output of dmesg<br />
* /dev/kvm exists and you have the correct rights to use it <br />
<br />
Other ways to do the diagnostic:<br />
* if you have access to the qemu monitor (Ctrl-Alt-2, use Ctrl-Alt-1 to get back to the VM display), enter the "info kvm" command and it should respond with "KVM support: enabled" <br />
* the right-end columns of the output from <code>lsmod|grep kvm</code> on the host system, once the VM is started should show only non zero values. The value on the line corresponding to the architecture specific module (e-g kvm_intel, kvm_amd) show the number of VM using the module. For instance, if I have 2 VM running using the kvm module on a machine with vt, it will report: <br />
<br />
<br />
lsmod|grep kvm<br />
kvm_intel 44896 2 <br />
kvm 159656 1 kvm_intel<br />
<br />
=== "rect too big" Message when using VNC Display ===<br />
When connection to a VNC Terminal, a "rect too big" message appears, and the VNC Session disconnects.<br />
<br />
This might happen, when a VNC Client (for example RealVNC / xvnc4viewer) chooses ZRLE Encoding. Simple choose Hextile Encoding in the options of your VNC Client, and the Problem should be resolved. <br />
<br />
----------<br />
. '''How do I set up the network such that my guest is accessible from other machines?''' or<br />
=== My guest network is stuck what should I do? === <br />
kvm uses qemu for its device emulation. Consult the [http://kidsquid.com/cgi-bin/moin.cgi/QemuNetwork qemu network wiki page] for detailed network setup instructions. <br />
<br />
One would probably be interested in the Root Networking Mode page and the Network Bridge page.<br />
<br />
----------<br />
<br />
=== Windows boots and runs very slowly? ===<br />
See the [[Windows ACPI Workaround]] page. <br />
<br />
----------<br />
<br />
=== I get an "Exception 13" or "Exception 12" message while booting a guest OS on my Intel host ===<br />
See the [[Intel Real Mode Emulation Problems]] page. <br />
<br />
----------<br />
=== I get "rtc interrupts lost" messages, and the guest is very slow? ===<br />
Try setting <code>CONFIG_HPET_EMULATE_RTC=y</code> in your host <code>.config</code>.<br />
<br />
----------<br />
<br />
=== I have VMware/Parallels/VirtualBox installed and when I modprobe KVM, my system deadlocks. ===<br />
Neither Intel VT nor AMD-V provide a mechanism to determine whether software is currently using the hardware virtualization extensions. This means that if you have two kernel modules loaded attempting to use hardware virtualization extensions, very bad things will happen. If you are using another type of virtualization software and experience any sort of weirdness with KVM, make sure you can reproduce the problem without the kernel modules for that software loaded before you report a bug in KVM. <br />
<br />
----------<br />
<br />
=== There's nothing on QEMU/kvm screen, but it's not hanged! I'm trying to install Kubuntu. ===<br />
Try to run kvm with -std-vga option. It helps if guest operating system uses framebuffer mode like Kubuntu/Ubuntu. <br />
<br />
----------<br />
<br />
=== When I click the guest operating system window, mouse is grabbed. How can I get mouse to not to do that? OR Mouse doesn't show up / doesn't work in the guest. What do I do? === <br />
From #qemu wiki, try to run kvm/qemu with <br />
<br />
<br />
-usb -usbdevice tablet<br />
If that doesn't work, try this:<br />
<br />
<br />
$ export SDL_VIDEO_X11_DGAMOUSE=0<br />
(from http://wiki.clug.org.za/wiki/QEMU_mouse_not_working )<br />
<br />
----------<br />
<br />
== General kvm information ==<br />
=== What is the difference between kvm and Xen? ===<br />
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use. <br />
<br />
kvm only run on processors that supports x86 hvm (vt/svm instructions set) whereas Xen also allows running modified operating systems on non-hvm x86 processors using a technique called paravirtualisation. kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances. <br />
<br />
----------<br />
<br />
=== What is the difference between kvm and VMWare? ===<br />
VMware is a proprietary product. kvm is Free Software released under the GPL.<br />
<br />
----------<br />
<br />
=== What is the difference between kvm and QEMU? ===<br />
Qemu uses emulation; kvm uses processor extensions (HVM) for virtualization.<br />
<br />
----------<br />
<br />
=== Do you have a port of kvm for Windows? ===<br />
Not in this release. <br />
<br />
----------<br />
<br />
=== What kernel version does it work with? ===<br />
It depends on what version of kvm you are using. The last release of kvm should work with any recent kernel (2.6.17 and above), older releases even older kernels. <br />
<br />
----------<br />
<br />
=== How much RAM do I need? ===<br />
You will need enough memory to let the guest run comfortably while keeping enough for the host. 1GB is probably a minimum configuration for the host OS. <br />
<br />
----------<br />
<br />
=== Is dynamic use of RAM for guest operating system supported? ===<br />
Yes. If you set -m 6144, guest can get a maximum of 6GB of RAM, but doesn't necessarily uses all. PLease note however that the usual platform limits will apply so you won't be able to see more than 4GB of RAM on a 32 bits guest unless you use PAE. <br />
<br />
----------<br />
<br />
=== What OSs can I run inside kvm VM? ===<br />
Several. See the [:Guest Support Status:Guest_Support_Status] page for details. Note that several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub. <br />
<br />
----------<br />
<br />
=== Does kvm support a live migration feature to move virtual machines from one host to another without downtime? === <br />
Yes. See the [[Migration]] page for details. <br />
<br />
----------<br />
<br />
=== Does kvm support live migration from an AMD host to an Intel host and back? ===<br />
Yes. There may be issues on 32-bit Intel hosts which don't support NX (or XD), but for 64-bit hosts back and forth migration should work well. Migration of 32-bit guests should work between 32-bit hosts and 64-bit hosts. <br />
<br />
----------<br />
<br />
=== Can kvm run a 32-bit guest on a 64-bit host? What about PAE? ===<br />
kvm supports 32-bit guests on 64-bit hosts, and any combination of PAE and non-PAE guests and hosts. The only unsupported combination is a 64-bit guest on a 32-bit host. <br />
<br />
If you are running a Windows Virtual Machine and have problems enabling PAE in your guest see the [[Windows PAE Workaround]] page. <br />
<br />
----------<br />
<br />
=== Is it possible to use USB devices with a guest OS? ===<br />
Yes, look up how to do it with qemu, it's the same way. <br />
<br />
----------<br />
<br />
=== Can I have higher or widescreen resolutions (eg 1680 x 1050) in kvm? ===<br />
Support for higher resolutions was added in kvm-59, but some bugs were left until the release of kvm-62. Use the -std-vga parameter while starting the VM. <br />
<br />
If the resolution you want to use is not available, you can patch the corresponding source files (see http://article.gmane.org/gmane.comp.emulators.kvm.devel/13557 as a reference), or send a mail to the kvm mailing list if you are not able to patch the source yourself. <br />
<br />
When using Windows as guest OS you might want to use the driver from the VBEMP x86 project (http://www.geocities.com/bearwindows/vbemp.htm).<br />
<br />
----------<br />
<br />
=== Does kvm support SMP hosts? ===<br />
Yes.<br />
<br />
----------<br />
<br />
=== Does kvm support SMP guests? ===<br />
Yes. But so far only 4 CPUs can be specified using the -smp option. Please note however that you'll needacpi enabled for SMP to work (i-e -no-acpi won't show more than one cpu on a linux guest)<br />
<br />
----------<br />
<br />
=== Is the name 'kvm' trademarked? ===<br />
No.<br />
<br />
----------<br />
<br />
=== What is Qumranet's product? ===<br />
Qumranet is a startup company financed by [http://www.sequoiacap.com/ Sequoia Capital] and [http://www.nvp.com/ Norwest Venture Partners (NVP)].<br />
<br />
On the 24th of September 2007, Qumranet announced their first product, Solid ICE, a virtual Desktop Infrastructure solution based on KVM (http://web1.qumranet.com/art_images/files/10/Qumranet_Launch_Release.pdf)<br />
<br />
----------</div>WikiSysophttps://linux-kvm.org/index.php?title=FAQ&diff=1910FAQ2009-02-05T10:04:23Z<p>WikiSysop: /* That's alright, but can I really use it for my daily use? */</p>
<hr />
<div>__TOC__<br />
== Preparing to use kvm ==<br />
=== What do I need to use kvm? ===<br />
You will need an x86 machine running a recent Linux kernel on an Intel processor with VT (virtualization technology) extensions, or an AMD processor with SVM extensions (also called AMD-V). Xen has a [http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors complete list] of compatible processors. <br />
<br />
----------<br />
=== Are 64bits processors supported under kvm? ===<br />
Yes they are supported and will allow you to run 32bits and 64 bits clients.<br />
<br />
See also '''Can kvm run a 32-bit guest on a 64-bit host? What about PAE?''' below.<br />
<br />
----------<br />
<br />
=== What is Intel VT / AMD-V / hvm? ===<br />
[http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm Intel VT] and [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8826_14287,00.html AMD's AMD-V] are instruction set extensions that provide hardware assistance to virtual machine monitors. They enable running fully isolated virtual machines at native hardware speeds, for some workloads. <br />
<br />
HVM (for Hardware Virtual Machine) is a vendor-neutral term often used to designate the x86 instruction set extensions. <br />
<br />
----------<br />
<br />
=== How can I tell if I have Intel VT or AMD-V? ===<br />
With a recent enough Linux kernel, run the command:<br />
<br />
. egrep '^flags.*(vmx|svm)' /proc/cpuinfo<br />
<br />
If something shows up, you have VT. You can also check the processor model name (in `/proc/cpuinfo`) in the vendor's web site. <br />
<br />
Note:<br />
<br />
* Some manufacturers disable VT in the machine's BIOS, in such a way that it cannot be re-enabled.<br />
* `/proc/cpuinfo` only shows virtualization capabilities starting with Linux 2.6.15 (Intel) and Linux 2.6.16 (AMD). Use the `uname -r` command to query your kernel version. <br />
In case of doubt, contact your hardware vendor. <br />
<br />
----------<br />
<br />
=== "KVM: disabled by BIOS" error ===<br />
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor's web site. <br />
<br />
Also, on some hardware (e-g HP nx6320), you need to power-off/power-on the machine after enabling virtualisation in the BIOS. <br />
<br />
----------<br />
<br />
=== How can I use AMD-V extension? ===<br />
modprobe kvm-amd <br />
<br />
----------<br />
<br />
=== What user space tools does kvm use? ===<br />
kvm uses a slightly modified [http://www.qemu.com/ qemu] program to instantiate the virtual machine. Once running, a virtual machine is just a regular process. You can use `top(1), kill(1), taskset(1)` and similar tools to manage virtual machines. <br />
<br />
----------<br />
<br />
=== What virtual disk formats can kvm use? ===<br />
kvm inherits a wealth of disk formats support from qemu; it supports raw images, the native qemu format (qcow), VMware format, and many more. <br />
<br />
----------<br />
<br />
=== Are there management tools available to help me manage my virtual machines? ===<br />
Yes. Please see the [[Management Tools]] page for some links. <br />
<br />
----------<br />
<br />
== Using kvm ==<br />
=== How can I use kvm with a non-privileged user? ===<br />
The cleanest way is probably to create a group, say ''kvm'', and add the user(s) to that group. Then you will need change /dev/kvm to owned by group ''kvm''. <br />
<br />
On a system that runs udev, you will probably need to add the following line somewhere in your udev configuration so it will automatically give the right group to the newly created device (i-e for ubuntu add a line to ''/etc/udev/rules.d/40-permissions.rules''). <br />
<br />
KERNEL=="kvm", GROUP="kvm"<br />
<br />
----------<br />
<br />
=== Is KVM stable? ===<br />
The good news is that more and more developers and testers use KVM each passing day and for the most part, it works. KVM is a very young project and constantly evolving to add new features and more hardware support. Given the fervent pace of development, it's very likely that we're introducing new bugs at a fast pace as well, however small they might be. We would encourage our users to report any bug(s) they encounter so that we can continue making KVM better and stabler with each commit. <br />
<br />
----------<br />
<br />
=== That's alright, but can I really use it for my daily use? ===<br />
Sure. We continuously run the most often-used OSes and configurations and if anything breaks for the developers, it's fixed as soon as it was broken. See the [[Guest Support Status]] and [[Host Support Status]] pages to find out more. Please update them with success stories so that new users would benefit from the experience of the community. <br />
<br />
----------<br />
<br />
=== How about production use? ===<br />
For production use, it's recommended you use the kvm modules shipped by the distribution you're using to ensure stability. As mentioned above, it's tempting to use new features, but you never know of (unwanted) surprises hidden away. It'll be best if you can run the development snapshots with non-critical production load, so that the latest releases are stable for you when you decide to deploy them. <br />
<br />
----------<br />
<br />
=== What happens if I kill -9 a VM process? ===<br />
From the guest's perspective, it is as if you yanked the power cord out. From the host's perspective, the process is killed and all resources it uses are reclaimed. <br />
<br />
----------<br />
<br />
=== I need help to setup the network for my guest ===<br />
You can have a look to the [[Networking]] page of this wiki for informations on the most classical networking setup for the guests. You can also refer to the Qemu documentation. <br />
<br />
----------<br />
<br />
=== Where can I find more documention... ===<br />
Most usability issues are covered in the QEMU [http://bellard.org/qemu/user-doc.html documentation]. There is also an extensive [http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions FAQ]. <br />
<br />
----------<br />
<br />
== Troubleshooting ==<br />
=== How can I check that I'm not falling back to qemu with no hardware acceleration? ===<br />
<br />
If you think that you might no be using the hardware acceleration provided by the kvm module, here are a few steps to help you check this. <br />
<br />
First of all, check that you don't have messages such as:<br />
<br />
<br />
qemu-system-x86_64 -hda myvm.qcow2 <br />
open /dev/kvm: No such file or directory<br />
Could not initialize KVM, will disable KVM support<br />
<br />
<br />
In that case, you can check that:<br />
* the modules are correctly loaded <code>lsmod|grep kvm<br />
* you don't have a "KVM: disabled by BIOS" line in the output of dmesg<br />
* /dev/kvm exists and you have the correct rights to use it <br />
<br />
Other ways to do the diagnostic:<br />
* if you have access to the qemu monitor (Ctrl-Alt-2, use Ctrl-Alt-1 to get back to the VM display), enter the "info kvm" command and it should respond with "KVM support: enabled" <br />
* the right-end columns of the output from <code>lsmod|grep kvm</code> on the host system, once the VM is started should show only non zero values. The value on the line corresponding to the architecture specific module (e-g kvm_intel, kvm_amd) show the number of VM using the module. For instance, if I have 2 VM running using the kvm module on a machine with vt, it will report: <br />
<br />
<br />
lsmod|grep kvm<br />
kvm_intel 44896 2 <br />
kvm 159656 1 kvm_intel<br />
<br />
<br />
=== "rect too big" Message when using VNC Display ===<br />
When connection to a VNC Terminal, a "rect too big" message appears, and the VNC Session disconnects.<br />
<br />
This might happen, when a VNC Client (for example RealVNC / xvnc4viewer) chooses ZRLE Encoding. Simple choose Hextile Encoding in the options of your VNC Client, and the Problem should be resolved. <br />
<br />
----------<br />
. '''How do I set up the network such that my guest is accessible from other machines?''' or<br />
=== My guest network is stuck what should I do? === <br />
kvm uses qemu for its device emulation. Consult the [http://kidsquid.com/cgi-bin/moin.cgi/QemuNetwork qemu network wiki page] for detailed network setup instructions. <br />
<br />
One would probably be interested in the Root Networking Mode page and the Network Bridge page.<br />
<br />
----------<br />
<br />
=== Windows boots and runs very slowly? ===<br />
See the [[Windows ACPI Workaround]] page. <br />
<br />
----------<br />
<br />
=== I get an "Exception 13" or "Exception 12" message while booting a guest OS on my Intel host ===<br />
See the [[Intel Real Mode Emulation Problems]] page. <br />
<br />
----------<br />
=== I get "rtc interrupts lost" messages, and the guest is very slow? ===<br />
Try setting <code>CONFIG_HPET_EMULATE_RTC=y</code> in your host <code>.config</code>.<br />
<br />
----------<br />
<br />
=== I have VMware/Parallels/VirtualBox installed and when I modprobe KVM, my system deadlocks. ===<br />
Neither Intel VT nor AMD-V provide a mechanism to determine whether software is currently using the hardware virtualization extensions. This means that if you have two kernel modules loaded attempting to use hardware virtualization extensions, very bad things will happen. If you are using another type of virtualization software and experience any sort of weirdness with KVM, make sure you can reproduce the problem without the kernel modules for that software loaded before you report a bug in KVM. <br />
<br />
----------<br />
<br />
=== There's nothing on QEMU/kvm screen, but it's not hanged! I'm trying to install Kubuntu. ===<br />
Try to run kvm with -std-vga option. It helps if guest operating system uses framebuffer mode like Kubuntu/Ubuntu. <br />
<br />
----------<br />
<br />
=== When I click the guest operating system window, mouse is grabbed. How can I get mouse to not to do that? OR Mouse doesn't show up / doesn't work in the guest. What do I do? === <br />
From #qemu wiki, try to run kvm/qemu with <br />
<br />
<br />
-usb -usbdevice tablet<br />
If that doesn't work, try this:<br />
<br />
<br />
$ export SDL_VIDEO_X11_DGAMOUSE=0<br />
(from http://wiki.clug.org.za/wiki/QEMU_mouse_not_working )<br />
<br />
----------<br />
<br />
== General kvm information ==<br />
=== What is the difference between kvm and Xen? ===<br />
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use. <br />
<br />
kvm only run on processors that supports x86 hvm (vt/svm instructions set) whereas Xen also allows running modified operating systems on non-hvm x86 processors using a technique called paravirtualisation. kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances. <br />
<br />
----------<br />
<br />
=== What is the difference between kvm and VMWare? ===<br />
VMware is a proprietary product. kvm is Free Software released under the GPL.<br />
<br />
----------<br />
<br />
=== What is the difference between kvm and QEMU? ===<br />
Qemu uses emulation; kvm uses processor extensions (HVM) for virtualization.<br />
<br />
----------<br />
<br />
=== Do you have a port of kvm for Windows? ===<br />
Not in this release. <br />
<br />
----------<br />
<br />
=== What kernel version does it work with? ===<br />
It depends on what version of kvm you are using. The last release of kvm should work with any recent kernel (2.6.17 and above), older releases even older kernels. <br />
<br />
----------<br />
<br />
=== How much RAM do I need? ===<br />
You will need enough memory to let the guest run comfortably while keeping enough for the host. 1GB is probably a minimum configuration for the host OS. <br />
<br />
----------<br />
<br />
=== Is dynamic use of RAM for guest operating system supported? ===<br />
Yes. If you set -m 6144, guest can get a maximum of 6GB of RAM, but doesn't necessarily uses all. PLease note however that the usual platform limits will apply so you won't be able to see more than 4GB of RAM on a 32 bits guest unless you use PAE. <br />
<br />
----------<br />
<br />
=== What OSs can I run inside kvm VM? ===<br />
Several. See the [:Guest Support Status:Guest_Support_Status] page for details. Note that several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub. <br />
<br />
----------<br />
<br />
=== Does kvm support a live migration feature to move virtual machines from one host to another without downtime? === <br />
Yes. See the [[Migration]] page for details. <br />
<br />
----------<br />
<br />
=== Does kvm support live migration from an AMD host to an Intel host and back? ===<br />
Yes. There may be issues on 32-bit Intel hosts which don't support NX (or XD), but for 64-bit hosts back and forth migration should work well. Migration of 32-bit guests should work between 32-bit hosts and 64-bit hosts. <br />
<br />
----------<br />
<br />
=== Can kvm run a 32-bit guest on a 64-bit host? What about PAE? ===<br />
kvm supports 32-bit guests on 64-bit hosts, and any combination of PAE and non-PAE guests and hosts. The only unsupported combination is a 64-bit guest on a 32-bit host. <br />
<br />
If you are running a Windows Virtual Machine and have problems enabling PAE in your guest see the [[Windows PAE Workaround]] page. <br />
<br />
----------<br />
<br />
=== Is it possible to use USB devices with a guest OS? ===<br />
Yes, look up how to do it with qemu, it's the same way. <br />
<br />
----------<br />
<br />
=== Can I have higher or widescreen resolutions (eg 1680 x 1050) in kvm? ===<br />
Support for higher resolutions was added in kvm-59, but some bugs were left until the release of kvm-62. Use the -std-vga parameter while starting the VM. <br />
<br />
If the resolution you want to use is not available, you can patch the corresponding source files (see http://article.gmane.org/gmane.comp.emulators.kvm.devel/13557 as a reference), or send a mail to the kvm mailing list if you are not able to patch the source yourself. <br />
<br />
When using Windows as guest OS you might want to use the driver from the VBEMP x86 project (http://www.geocities.com/bearwindows/vbemp.htm).<br />
<br />
----------<br />
<br />
=== Does kvm support SMP hosts? ===<br />
Yes.<br />
<br />
----------<br />
<br />
=== Does kvm support SMP guests? ===<br />
Yes. But so far only 4 CPUs can be specified using the -smp option. Please note however that you'll needacpi enabled for SMP to work (i-e -no-acpi won't show more than one cpu on a linux guest)<br />
<br />
----------<br />
<br />
=== Is the name 'kvm' trademarked? ===<br />
No.<br />
<br />
----------<br />
<br />
=== What is Qumranet's product? ===<br />
Qumranet is a startup company financed by [http://www.sequoiacap.com/ Sequoia Capital] and [http://www.nvp.com/ Norwest Venture Partners (NVP)].<br />
<br />
On the 24th of September 2007, Qumranet announced their first product, Solid ICE, a virtual Desktop Infrastructure solution based on KVM (http://web1.qumranet.com/art_images/files/10/Qumranet_Launch_Release.pdf)<br />
<br />
----------</div>WikiSysophttps://linux-kvm.org/index.php?title=FAQ&diff=1909FAQ2009-02-05T10:03:42Z<p>WikiSysop: /* How can I use kvm with a non-privileged user? */</p>
<hr />
<div>__TOC__<br />
== Preparing to use kvm ==<br />
=== What do I need to use kvm? ===<br />
You will need an x86 machine running a recent Linux kernel on an Intel processor with VT (virtualization technology) extensions, or an AMD processor with SVM extensions (also called AMD-V). Xen has a [http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors complete list] of compatible processors. <br />
<br />
----------<br />
=== Are 64bits processors supported under kvm? ===<br />
Yes they are supported and will allow you to run 32bits and 64 bits clients.<br />
<br />
See also '''Can kvm run a 32-bit guest on a 64-bit host? What about PAE?''' below.<br />
<br />
----------<br />
<br />
=== What is Intel VT / AMD-V / hvm? ===<br />
[http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm Intel VT] and [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8826_14287,00.html AMD's AMD-V] are instruction set extensions that provide hardware assistance to virtual machine monitors. They enable running fully isolated virtual machines at native hardware speeds, for some workloads. <br />
<br />
HVM (for Hardware Virtual Machine) is a vendor-neutral term often used to designate the x86 instruction set extensions. <br />
<br />
----------<br />
<br />
=== How can I tell if I have Intel VT or AMD-V? ===<br />
With a recent enough Linux kernel, run the command:<br />
<br />
. egrep '^flags.*(vmx|svm)' /proc/cpuinfo<br />
<br />
If something shows up, you have VT. You can also check the processor model name (in `/proc/cpuinfo`) in the vendor's web site. <br />
<br />
Note:<br />
<br />
* Some manufacturers disable VT in the machine's BIOS, in such a way that it cannot be re-enabled.<br />
* `/proc/cpuinfo` only shows virtualization capabilities starting with Linux 2.6.15 (Intel) and Linux 2.6.16 (AMD). Use the `uname -r` command to query your kernel version. <br />
In case of doubt, contact your hardware vendor. <br />
<br />
----------<br />
<br />
=== "KVM: disabled by BIOS" error ===<br />
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor's web site. <br />
<br />
Also, on some hardware (e-g HP nx6320), you need to power-off/power-on the machine after enabling virtualisation in the BIOS. <br />
<br />
----------<br />
<br />
=== How can I use AMD-V extension? ===<br />
modprobe kvm-amd <br />
<br />
----------<br />
<br />
=== What user space tools does kvm use? ===<br />
kvm uses a slightly modified [http://www.qemu.com/ qemu] program to instantiate the virtual machine. Once running, a virtual machine is just a regular process. You can use `top(1), kill(1), taskset(1)` and similar tools to manage virtual machines. <br />
<br />
----------<br />
<br />
=== What virtual disk formats can kvm use? ===<br />
kvm inherits a wealth of disk formats support from qemu; it supports raw images, the native qemu format (qcow), VMware format, and many more. <br />
<br />
----------<br />
<br />
=== Are there management tools available to help me manage my virtual machines? ===<br />
Yes. Please see the [[Management Tools]] page for some links. <br />
<br />
----------<br />
<br />
== Using kvm ==<br />
=== How can I use kvm with a non-privileged user? ===<br />
The cleanest way is probably to create a group, say ''kvm'', and add the user(s) to that group. Then you will need change /dev/kvm to owned by group ''kvm''. <br />
<br />
On a system that runs udev, you will probably need to add the following line somewhere in your udev configuration so it will automatically give the right group to the newly created device (i-e for ubuntu add a line to ''/etc/udev/rules.d/40-permissions.rules''). <br />
<br />
KERNEL=="kvm", GROUP="kvm"<br />
<br />
----------<br />
<br />
=== Is KVM stable? ===<br />
The good news is that more and more developers and testers use KVM each passing day and for the most part, it works. KVM is a very young project and constantly evolving to add new features and more hardware support. Given the fervent pace of development, it's very likely that we're introducing new bugs at a fast pace as well, however small they might be. We would encourage our users to report any bug(s) they encounter so that we can continue making KVM better and stabler with each commit. <br />
<br />
----------<br />
<br />
=== That's alright, but can I really use it for my daily use? ===<br />
Sure. We continuously run the most often-used OSes and configurations and if anything breaks for the developers, it's fixed as soon as it was broken. See the [:Guest Support Status:Guest_Support_Status] and [:Host Support Status:Host_Support_Status] pages to find out more. Please update them with success stories so that new users would benefit from the experience of the community. <br />
<br />
----------<br />
<br />
=== How about production use? ===<br />
For production use, it's recommended you use the kvm modules shipped by the distribution you're using to ensure stability. As mentioned above, it's tempting to use new features, but you never know of (unwanted) surprises hidden away. It'll be best if you can run the development snapshots with non-critical production load, so that the latest releases are stable for you when you decide to deploy them. <br />
<br />
----------<br />
<br />
=== What happens if I kill -9 a VM process? ===<br />
From the guest's perspective, it is as if you yanked the power cord out. From the host's perspective, the process is killed and all resources it uses are reclaimed. <br />
<br />
----------<br />
<br />
=== I need help to setup the network for my guest ===<br />
You can have a look to the [[Networking]] page of this wiki for informations on the most classical networking setup for the guests. You can also refer to the Qemu documentation. <br />
<br />
----------<br />
<br />
=== Where can I find more documention... ===<br />
Most usability issues are covered in the QEMU [http://bellard.org/qemu/user-doc.html documentation]. There is also an extensive [http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions FAQ]. <br />
<br />
----------<br />
<br />
== Troubleshooting ==<br />
=== How can I check that I'm not falling back to qemu with no hardware acceleration? ===<br />
<br />
If you think that you might no be using the hardware acceleration provided by the kvm module, here are a few steps to help you check this. <br />
<br />
First of all, check that you don't have messages such as:<br />
<br />
<br />
qemu-system-x86_64 -hda myvm.qcow2 <br />
open /dev/kvm: No such file or directory<br />
Could not initialize KVM, will disable KVM support<br />
<br />
<br />
In that case, you can check that:<br />
* the modules are correctly loaded <code>lsmod|grep kvm<br />
* you don't have a "KVM: disabled by BIOS" line in the output of dmesg<br />
* /dev/kvm exists and you have the correct rights to use it <br />
<br />
Other ways to do the diagnostic:<br />
* if you have access to the qemu monitor (Ctrl-Alt-2, use Ctrl-Alt-1 to get back to the VM display), enter the "info kvm" command and it should respond with "KVM support: enabled" <br />
* the right-end columns of the output from <code>lsmod|grep kvm</code> on the host system, once the VM is started should show only non zero values. The value on the line corresponding to the architecture specific module (e-g kvm_intel, kvm_amd) show the number of VM using the module. For instance, if I have 2 VM running using the kvm module on a machine with vt, it will report: <br />
<br />
<br />
lsmod|grep kvm<br />
kvm_intel 44896 2 <br />
kvm 159656 1 kvm_intel<br />
<br />
<br />
=== "rect too big" Message when using VNC Display ===<br />
When connection to a VNC Terminal, a "rect too big" message appears, and the VNC Session disconnects.<br />
<br />
This might happen, when a VNC Client (for example RealVNC / xvnc4viewer) chooses ZRLE Encoding. Simple choose Hextile Encoding in the options of your VNC Client, and the Problem should be resolved. <br />
<br />
----------<br />
. '''How do I set up the network such that my guest is accessible from other machines?''' or<br />
=== My guest network is stuck what should I do? === <br />
kvm uses qemu for its device emulation. Consult the [http://kidsquid.com/cgi-bin/moin.cgi/QemuNetwork qemu network wiki page] for detailed network setup instructions. <br />
<br />
One would probably be interested in the Root Networking Mode page and the Network Bridge page.<br />
<br />
----------<br />
<br />
=== Windows boots and runs very slowly? ===<br />
See the [[Windows ACPI Workaround]] page. <br />
<br />
----------<br />
<br />
=== I get an "Exception 13" or "Exception 12" message while booting a guest OS on my Intel host ===<br />
See the [[Intel Real Mode Emulation Problems]] page. <br />
<br />
----------<br />
=== I get "rtc interrupts lost" messages, and the guest is very slow? ===<br />
Try setting <code>CONFIG_HPET_EMULATE_RTC=y</code> in your host <code>.config</code>.<br />
<br />
----------<br />
<br />
=== I have VMware/Parallels/VirtualBox installed and when I modprobe KVM, my system deadlocks. ===<br />
Neither Intel VT nor AMD-V provide a mechanism to determine whether software is currently using the hardware virtualization extensions. This means that if you have two kernel modules loaded attempting to use hardware virtualization extensions, very bad things will happen. If you are using another type of virtualization software and experience any sort of weirdness with KVM, make sure you can reproduce the problem without the kernel modules for that software loaded before you report a bug in KVM. <br />
<br />
----------<br />
<br />
=== There's nothing on QEMU/kvm screen, but it's not hanged! I'm trying to install Kubuntu. ===<br />
Try to run kvm with -std-vga option. It helps if guest operating system uses framebuffer mode like Kubuntu/Ubuntu. <br />
<br />
----------<br />
<br />
=== When I click the guest operating system window, mouse is grabbed. How can I get mouse to not to do that? OR Mouse doesn't show up / doesn't work in the guest. What do I do? === <br />
From #qemu wiki, try to run kvm/qemu with <br />
<br />
<br />
-usb -usbdevice tablet<br />
If that doesn't work, try this:<br />
<br />
<br />
$ export SDL_VIDEO_X11_DGAMOUSE=0<br />
(from http://wiki.clug.org.za/wiki/QEMU_mouse_not_working )<br />
<br />
----------<br />
<br />
== General kvm information ==<br />
=== What is the difference between kvm and Xen? ===<br />
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use. <br />
<br />
kvm only run on processors that supports x86 hvm (vt/svm instructions set) whereas Xen also allows running modified operating systems on non-hvm x86 processors using a technique called paravirtualisation. kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances. <br />
<br />
----------<br />
<br />
=== What is the difference between kvm and VMWare? ===<br />
VMware is a proprietary product. kvm is Free Software released under the GPL.<br />
<br />
----------<br />
<br />
=== What is the difference between kvm and QEMU? ===<br />
Qemu uses emulation; kvm uses processor extensions (HVM) for virtualization.<br />
<br />
----------<br />
<br />
=== Do you have a port of kvm for Windows? ===<br />
Not in this release. <br />
<br />
----------<br />
<br />
=== What kernel version does it work with? ===<br />
It depends on what version of kvm you are using. The last release of kvm should work with any recent kernel (2.6.17 and above), older releases even older kernels. <br />
<br />
----------<br />
<br />
=== How much RAM do I need? ===<br />
You will need enough memory to let the guest run comfortably while keeping enough for the host. 1GB is probably a minimum configuration for the host OS. <br />
<br />
----------<br />
<br />
=== Is dynamic use of RAM for guest operating system supported? ===<br />
Yes. If you set -m 6144, guest can get a maximum of 6GB of RAM, but doesn't necessarily uses all. PLease note however that the usual platform limits will apply so you won't be able to see more than 4GB of RAM on a 32 bits guest unless you use PAE. <br />
<br />
----------<br />
<br />
=== What OSs can I run inside kvm VM? ===<br />
Several. See the [:Guest Support Status:Guest_Support_Status] page for details. Note that several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub. <br />
<br />
----------<br />
<br />
=== Does kvm support a live migration feature to move virtual machines from one host to another without downtime? === <br />
Yes. See the [[Migration]] page for details. <br />
<br />
----------<br />
<br />
=== Does kvm support live migration from an AMD host to an Intel host and back? ===<br />
Yes. There may be issues on 32-bit Intel hosts which don't support NX (or XD), but for 64-bit hosts back and forth migration should work well. Migration of 32-bit guests should work between 32-bit hosts and 64-bit hosts. <br />
<br />
----------<br />
<br />
=== Can kvm run a 32-bit guest on a 64-bit host? What about PAE? ===<br />
kvm supports 32-bit guests on 64-bit hosts, and any combination of PAE and non-PAE guests and hosts. The only unsupported combination is a 64-bit guest on a 32-bit host. <br />
<br />
If you are running a Windows Virtual Machine and have problems enabling PAE in your guest see the [[Windows PAE Workaround]] page. <br />
<br />
----------<br />
<br />
=== Is it possible to use USB devices with a guest OS? ===<br />
Yes, look up how to do it with qemu, it's the same way. <br />
<br />
----------<br />
<br />
=== Can I have higher or widescreen resolutions (eg 1680 x 1050) in kvm? ===<br />
Support for higher resolutions was added in kvm-59, but some bugs were left until the release of kvm-62. Use the -std-vga parameter while starting the VM. <br />
<br />
If the resolution you want to use is not available, you can patch the corresponding source files (see http://article.gmane.org/gmane.comp.emulators.kvm.devel/13557 as a reference), or send a mail to the kvm mailing list if you are not able to patch the source yourself. <br />
<br />
When using Windows as guest OS you might want to use the driver from the VBEMP x86 project (http://www.geocities.com/bearwindows/vbemp.htm).<br />
<br />
----------<br />
<br />
=== Does kvm support SMP hosts? ===<br />
Yes.<br />
<br />
----------<br />
<br />
=== Does kvm support SMP guests? ===<br />
Yes. But so far only 4 CPUs can be specified using the -smp option. Please note however that you'll needacpi enabled for SMP to work (i-e -no-acpi won't show more than one cpu on a linux guest)<br />
<br />
----------<br />
<br />
=== Is the name 'kvm' trademarked? ===<br />
No.<br />
<br />
----------<br />
<br />
=== What is Qumranet's product? ===<br />
Qumranet is a startup company financed by [http://www.sequoiacap.com/ Sequoia Capital] and [http://www.nvp.com/ Norwest Venture Partners (NVP)].<br />
<br />
On the 24th of September 2007, Qumranet announced their first product, Solid ICE, a virtual Desktop Infrastructure solution based on KVM (http://web1.qumranet.com/art_images/files/10/Qumranet_Launch_Release.pdf)<br />
<br />
----------</div>WikiSysophttps://linux-kvm.org/index.php?title=FAQ&diff=1908FAQ2009-02-05T10:03:32Z<p>WikiSysop: /* How can I use kvm with a non-privileged user? */</p>
<hr />
<div>__TOC__<br />
== Preparing to use kvm ==<br />
=== What do I need to use kvm? ===<br />
You will need an x86 machine running a recent Linux kernel on an Intel processor with VT (virtualization technology) extensions, or an AMD processor with SVM extensions (also called AMD-V). Xen has a [http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors complete list] of compatible processors. <br />
<br />
----------<br />
=== Are 64bits processors supported under kvm? ===<br />
Yes they are supported and will allow you to run 32bits and 64 bits clients.<br />
<br />
See also '''Can kvm run a 32-bit guest on a 64-bit host? What about PAE?''' below.<br />
<br />
----------<br />
<br />
=== What is Intel VT / AMD-V / hvm? ===<br />
[http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm Intel VT] and [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8826_14287,00.html AMD's AMD-V] are instruction set extensions that provide hardware assistance to virtual machine monitors. They enable running fully isolated virtual machines at native hardware speeds, for some workloads. <br />
<br />
HVM (for Hardware Virtual Machine) is a vendor-neutral term often used to designate the x86 instruction set extensions. <br />
<br />
----------<br />
<br />
=== How can I tell if I have Intel VT or AMD-V? ===<br />
With a recent enough Linux kernel, run the command:<br />
<br />
. egrep '^flags.*(vmx|svm)' /proc/cpuinfo<br />
<br />
If something shows up, you have VT. You can also check the processor model name (in `/proc/cpuinfo`) in the vendor's web site. <br />
<br />
Note:<br />
<br />
* Some manufacturers disable VT in the machine's BIOS, in such a way that it cannot be re-enabled.<br />
* `/proc/cpuinfo` only shows virtualization capabilities starting with Linux 2.6.15 (Intel) and Linux 2.6.16 (AMD). Use the `uname -r` command to query your kernel version. <br />
In case of doubt, contact your hardware vendor. <br />
<br />
----------<br />
<br />
=== "KVM: disabled by BIOS" error ===<br />
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor's web site. <br />
<br />
Also, on some hardware (e-g HP nx6320), you need to power-off/power-on the machine after enabling virtualisation in the BIOS. <br />
<br />
----------<br />
<br />
=== How can I use AMD-V extension? ===<br />
modprobe kvm-amd <br />
<br />
----------<br />
<br />
=== What user space tools does kvm use? ===<br />
kvm uses a slightly modified [http://www.qemu.com/ qemu] program to instantiate the virtual machine. Once running, a virtual machine is just a regular process. You can use `top(1), kill(1), taskset(1)` and similar tools to manage virtual machines. <br />
<br />
----------<br />
<br />
=== What virtual disk formats can kvm use? ===<br />
kvm inherits a wealth of disk formats support from qemu; it supports raw images, the native qemu format (qcow), VMware format, and many more. <br />
<br />
----------<br />
<br />
=== Are there management tools available to help me manage my virtual machines? ===<br />
Yes. Please see the [[Management Tools]] page for some links. <br />
<br />
----------<br />
<br />
== Using kvm ==<br />
=== How can I use kvm with a non-privileged user? ===<br />
The cleanest way is probably to create a group, say ''kvm'', and add the user(s) to that group. Then you will need change /dev/kvm to owned by group ''kvm''. <br />
<br />
On a system that runs udev, you will probably need to add the following line somewhere in your udev configuration so it will automatically give the right group to the newly created device (i-e for ubuntu add a line to ''/etc/udev/rules.d/40-permissions.rules''). <br />
<br />
KERNEL=="kvm", GROUP="kvm"<br />
<br />
----------<br />
<br />
=== Is KVM stable? ===<br />
The good news is that more and more developers and testers use KVM each passing day and for the most part, it works. KVM is a very young project and constantly evolving to add new features and more hardware support. Given the fervent pace of development, it's very likely that we're introducing new bugs at a fast pace as well, however small they might be. We would encourage our users to report any bug(s) they encounter so that we can continue making KVM better and stabler with each commit. <br />
<br />
----------<br />
<br />
=== That's alright, but can I really use it for my daily use? ===<br />
Sure. We continuously run the most often-used OSes and configurations and if anything breaks for the developers, it's fixed as soon as it was broken. See the [:Guest Support Status:Guest_Support_Status] and [:Host Support Status:Host_Support_Status] pages to find out more. Please update them with success stories so that new users would benefit from the experience of the community. <br />
<br />
----------<br />
<br />
=== How about production use? ===<br />
For production use, it's recommended you use the kvm modules shipped by the distribution you're using to ensure stability. As mentioned above, it's tempting to use new features, but you never know of (unwanted) surprises hidden away. It'll be best if you can run the development snapshots with non-critical production load, so that the latest releases are stable for you when you decide to deploy them. <br />
<br />
----------<br />
<br />
=== What happens if I kill -9 a VM process? ===<br />
From the guest's perspective, it is as if you yanked the power cord out. From the host's perspective, the process is killed and all resources it uses are reclaimed. <br />
<br />
----------<br />
<br />
=== I need help to setup the network for my guest ===<br />
You can have a look to the [[Networking]] page of this wiki for informations on the most classical networking setup for the guests. You can also refer to the Qemu documentation. <br />
<br />
----------<br />
<br />
=== Where can I find more documention... ===<br />
Most usability issues are covered in the QEMU [http://bellard.org/qemu/user-doc.html documentation]. There is also an extensive [http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions FAQ]. <br />
<br />
----------<br />
<br />
== Troubleshooting ==<br />
=== How can I check that I'm not falling back to qemu with no hardware acceleration? ===<br />
<br />
If you think that you might no be using the hardware acceleration provided by the kvm module, here are a few steps to help you check this. <br />
<br />
First of all, check that you don't have messages such as:<br />
<br />
<br />
qemu-system-x86_64 -hda myvm.qcow2 <br />
open /dev/kvm: No such file or directory<br />
Could not initialize KVM, will disable KVM support<br />
<br />
<br />
In that case, you can check that:<br />
* the modules are correctly loaded <code>lsmod|grep kvm<br />
* you don't have a "KVM: disabled by BIOS" line in the output of dmesg<br />
* /dev/kvm exists and you have the correct rights to use it <br />
<br />
Other ways to do the diagnostic:<br />
* if you have access to the qemu monitor (Ctrl-Alt-2, use Ctrl-Alt-1 to get back to the VM display), enter the "info kvm" command and it should respond with "KVM support: enabled" <br />
* the right-end columns of the output from <code>lsmod|grep kvm</code> on the host system, once the VM is started should show only non zero values. The value on the line corresponding to the architecture specific module (e-g kvm_intel, kvm_amd) show the number of VM using the module. For instance, if I have 2 VM running using the kvm module on a machine with vt, it will report: <br />
<br />
<br />
lsmod|grep kvm<br />
kvm_intel 44896 2 <br />
kvm 159656 1 kvm_intel<br />
<br />
<br />
=== "rect too big" Message when using VNC Display ===<br />
When connection to a VNC Terminal, a "rect too big" message appears, and the VNC Session disconnects.<br />
<br />
This might happen, when a VNC Client (for example RealVNC / xvnc4viewer) chooses ZRLE Encoding. Simple choose Hextile Encoding in the options of your VNC Client, and the Problem should be resolved. <br />
<br />
----------<br />
. '''How do I set up the network such that my guest is accessible from other machines?''' or<br />
=== My guest network is stuck what should I do? === <br />
kvm uses qemu for its device emulation. Consult the [http://kidsquid.com/cgi-bin/moin.cgi/QemuNetwork qemu network wiki page] for detailed network setup instructions. <br />
<br />
One would probably be interested in the Root Networking Mode page and the Network Bridge page.<br />
<br />
----------<br />
<br />
=== Windows boots and runs very slowly? ===<br />
See the [[Windows ACPI Workaround]] page. <br />
<br />
----------<br />
<br />
=== I get an "Exception 13" or "Exception 12" message while booting a guest OS on my Intel host ===<br />
See the [[Intel Real Mode Emulation Problems]] page. <br />
<br />
----------<br />
=== I get "rtc interrupts lost" messages, and the guest is very slow? ===<br />
Try setting <code>CONFIG_HPET_EMULATE_RTC=y</code> in your host <code>.config</code>.<br />
<br />
----------<br />
<br />
=== I have VMware/Parallels/VirtualBox installed and when I modprobe KVM, my system deadlocks. ===<br />
Neither Intel VT nor AMD-V provide a mechanism to determine whether software is currently using the hardware virtualization extensions. This means that if you have two kernel modules loaded attempting to use hardware virtualization extensions, very bad things will happen. If you are using another type of virtualization software and experience any sort of weirdness with KVM, make sure you can reproduce the problem without the kernel modules for that software loaded before you report a bug in KVM. <br />
<br />
----------<br />
<br />
=== There's nothing on QEMU/kvm screen, but it's not hanged! I'm trying to install Kubuntu. ===<br />
Try to run kvm with -std-vga option. It helps if guest operating system uses framebuffer mode like Kubuntu/Ubuntu. <br />
<br />
----------<br />
<br />
=== When I click the guest operating system window, mouse is grabbed. How can I get mouse to not to do that? OR Mouse doesn't show up / doesn't work in the guest. What do I do? === <br />
From #qemu wiki, try to run kvm/qemu with <br />
<br />
<br />
-usb -usbdevice tablet<br />
If that doesn't work, try this:<br />
<br />
<br />
$ export SDL_VIDEO_X11_DGAMOUSE=0<br />
(from http://wiki.clug.org.za/wiki/QEMU_mouse_not_working )<br />
<br />
----------<br />
<br />
== General kvm information ==<br />
=== What is the difference between kvm and Xen? ===<br />
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use. <br />
<br />
kvm only run on processors that supports x86 hvm (vt/svm instructions set) whereas Xen also allows running modified operating systems on non-hvm x86 processors using a technique called paravirtualisation. kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances. <br />
<br />
----------<br />
<br />
=== What is the difference between kvm and VMWare? ===<br />
VMware is a proprietary product. kvm is Free Software released under the GPL.<br />
<br />
----------<br />
<br />
=== What is the difference between kvm and QEMU? ===<br />
Qemu uses emulation; kvm uses processor extensions (HVM) for virtualization.<br />
<br />
----------<br />
<br />
=== Do you have a port of kvm for Windows? ===<br />
Not in this release. <br />
<br />
----------<br />
<br />
=== What kernel version does it work with? ===<br />
It depends on what version of kvm you are using. The last release of kvm should work with any recent kernel (2.6.17 and above), older releases even older kernels. <br />
<br />
----------<br />
<br />
=== How much RAM do I need? ===<br />
You will need enough memory to let the guest run comfortably while keeping enough for the host. 1GB is probably a minimum configuration for the host OS. <br />
<br />
----------<br />
<br />
=== Is dynamic use of RAM for guest operating system supported? ===<br />
Yes. If you set -m 6144, guest can get a maximum of 6GB of RAM, but doesn't necessarily uses all. PLease note however that the usual platform limits will apply so you won't be able to see more than 4GB of RAM on a 32 bits guest unless you use PAE. <br />
<br />
----------<br />
<br />
=== What OSs can I run inside kvm VM? ===<br />
Several. See the [:Guest Support Status:Guest_Support_Status] page for details. Note that several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub. <br />
<br />
----------<br />
<br />
=== Does kvm support a live migration feature to move virtual machines from one host to another without downtime? === <br />
Yes. See the [[Migration]] page for details. <br />
<br />
----------<br />
<br />
=== Does kvm support live migration from an AMD host to an Intel host and back? ===<br />
Yes. There may be issues on 32-bit Intel hosts which don't support NX (or XD), but for 64-bit hosts back and forth migration should work well. Migration of 32-bit guests should work between 32-bit hosts and 64-bit hosts. <br />
<br />
----------<br />
<br />
=== Can kvm run a 32-bit guest on a 64-bit host? What about PAE? ===<br />
kvm supports 32-bit guests on 64-bit hosts, and any combination of PAE and non-PAE guests and hosts. The only unsupported combination is a 64-bit guest on a 32-bit host. <br />
<br />
If you are running a Windows Virtual Machine and have problems enabling PAE in your guest see the [[Windows PAE Workaround]] page. <br />
<br />
----------<br />
<br />
=== Is it possible to use USB devices with a guest OS? ===<br />
Yes, look up how to do it with qemu, it's the same way. <br />
<br />
----------<br />
<br />
=== Can I have higher or widescreen resolutions (eg 1680 x 1050) in kvm? ===<br />
Support for higher resolutions was added in kvm-59, but some bugs were left until the release of kvm-62. Use the -std-vga parameter while starting the VM. <br />
<br />
If the resolution you want to use is not available, you can patch the corresponding source files (see http://article.gmane.org/gmane.comp.emulators.kvm.devel/13557 as a reference), or send a mail to the kvm mailing list if you are not able to patch the source yourself. <br />
<br />
When using Windows as guest OS you might want to use the driver from the VBEMP x86 project (http://www.geocities.com/bearwindows/vbemp.htm).<br />
<br />
----------<br />
<br />
=== Does kvm support SMP hosts? ===<br />
Yes.<br />
<br />
----------<br />
<br />
=== Does kvm support SMP guests? ===<br />
Yes. But so far only 4 CPUs can be specified using the -smp option. Please note however that you'll needacpi enabled for SMP to work (i-e -no-acpi won't show more than one cpu on a linux guest)<br />
<br />
----------<br />
<br />
=== Is the name 'kvm' trademarked? ===<br />
No.<br />
<br />
----------<br />
<br />
=== What is Qumranet's product? ===<br />
Qumranet is a startup company financed by [http://www.sequoiacap.com/ Sequoia Capital] and [http://www.nvp.com/ Norwest Venture Partners (NVP)].<br />
<br />
On the 24th of September 2007, Qumranet announced their first product, Solid ICE, a virtual Desktop Infrastructure solution based on KVM (http://web1.qumranet.com/art_images/files/10/Qumranet_Launch_Release.pdf)<br />
<br />
----------</div>WikiSysophttps://linux-kvm.org/index.php?title=Management_Tools&diff=1907Management Tools2009-02-05T10:02:47Z<p>WikiSysop: </p>
<hr />
<div>There are a several options available to manage kvm virtual machines:<br />
* First of all, you can manage kvm simply by running the binary file qemu-system_x86_64 (or just "kvm" depending on distribution). Check the man page for arguments (man qemu-system-x86_64).<br />
* The "[http://virt-manager.org Virtual Machine Manager]" application (virt-manager for short package name) is a desktop user interface for managing virtual machines.<br />
* [http://gkvm.sourceforge.net/ GKVM] is a lightweight management tool that can manage kvm virtual machines.<br />
* Any management tool built on [http://libvirt.org/ libvirt] can manage kvm virtual machines.<br />
* [http://code.google.com/p/kvmadm/ kvmadm] is a minimalistic set of command-line tools to control multi-user utilization of KVM.<br />
* [http://pve.proxmox.com/ Proxmox VE] is an easy to use virtualization platform for running virtual appliances and virtual machines: including bare-metal installer and web-based management interface.<br />
* [http://xenman.sourceforge.net ConVirt] is an intuitive, graphical management console providing comprehensive life cycle management for Virtual Machines and virtualization infrastructures. As of version 0.9.1, Convirt has basic support for KVM.<br />
* [http://www.opennebula.org OpenNebula] is an open source virtual infrastructure engine that enables the dynamic deployment and re-allocation of virtual machines on a pool of physical resources.</div>WikiSysophttps://linux-kvm.org/index.php?title=FAQ&diff=1906FAQ2009-02-05T10:01:12Z<p>WikiSysop: /* How can I use AMD-V extension? */</p>
<hr />
<div>__TOC__<br />
== Preparing to use kvm ==<br />
=== What do I need to use kvm? ===<br />
You will need an x86 machine running a recent Linux kernel on an Intel processor with VT (virtualization technology) extensions, or an AMD processor with SVM extensions (also called AMD-V). Xen has a [http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors complete list] of compatible processors. <br />
<br />
----------<br />
=== Are 64bits processors supported under kvm? ===<br />
Yes they are supported and will allow you to run 32bits and 64 bits clients.<br />
<br />
See also '''Can kvm run a 32-bit guest on a 64-bit host? What about PAE?''' below.<br />
<br />
----------<br />
<br />
=== What is Intel VT / AMD-V / hvm? ===<br />
[http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm Intel VT] and [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8826_14287,00.html AMD's AMD-V] are instruction set extensions that provide hardware assistance to virtual machine monitors. They enable running fully isolated virtual machines at native hardware speeds, for some workloads. <br />
<br />
HVM (for Hardware Virtual Machine) is a vendor-neutral term often used to designate the x86 instruction set extensions. <br />
<br />
----------<br />
<br />
=== How can I tell if I have Intel VT or AMD-V? ===<br />
With a recent enough Linux kernel, run the command:<br />
<br />
. egrep '^flags.*(vmx|svm)' /proc/cpuinfo<br />
<br />
If something shows up, you have VT. You can also check the processor model name (in `/proc/cpuinfo`) in the vendor's web site. <br />
<br />
Note:<br />
<br />
* Some manufacturers disable VT in the machine's BIOS, in such a way that it cannot be re-enabled.<br />
* `/proc/cpuinfo` only shows virtualization capabilities starting with Linux 2.6.15 (Intel) and Linux 2.6.16 (AMD). Use the `uname -r` command to query your kernel version. <br />
In case of doubt, contact your hardware vendor. <br />
<br />
----------<br />
<br />
=== "KVM: disabled by BIOS" error ===<br />
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor's web site. <br />
<br />
Also, on some hardware (e-g HP nx6320), you need to power-off/power-on the machine after enabling virtualisation in the BIOS. <br />
<br />
----------<br />
<br />
=== How can I use AMD-V extension? ===<br />
modprobe kvm-amd <br />
<br />
----------<br />
<br />
=== What user space tools does kvm use? ===<br />
kvm uses a slightly modified [http://www.qemu.com/ qemu] program to instantiate the virtual machine. Once running, a virtual machine is just a regular process. You can use `top(1), kill(1), taskset(1)` and similar tools to manage virtual machines. <br />
<br />
----------<br />
<br />
=== What virtual disk formats can kvm use? ===<br />
kvm inherits a wealth of disk formats support from qemu; it supports raw images, the native qemu format (qcow), VMware format, and many more. <br />
<br />
----------<br />
<br />
=== Are there management tools available to help me manage my virtual machines? ===<br />
Yes. Please see the [[Management Tools]] page for some links. <br />
<br />
----------<br />
<br />
== Using kvm ==<br />
=== How can I use kvm with a non-privileged user? ===<br />
The cleanest way is probably to create a group, say ''kvm'', and add the user(s) to that group. Then you will need change /dev/kvm to owned by group ''kvm''. <br />
<br />
On a system that runs udev, you will probably need to add the following line somewhere in your udev configuration so it will automatically give the right group to the newly created device (i-e for ubuntu add a line to ''/etc/udev/rules.d/40-permissions.rules''). <br />
<br />
. <code><br />
KERNEL=="kvm", GROUP="kvm"<br />
<br />
----------<br />
<br />
=== Is KVM stable? ===<br />
The good news is that more and more developers and testers use KVM each passing day and for the most part, it works. KVM is a very young project and constantly evolving to add new features and more hardware support. Given the fervent pace of development, it's very likely that we're introducing new bugs at a fast pace as well, however small they might be. We would encourage our users to report any bug(s) they encounter so that we can continue making KVM better and stabler with each commit. <br />
<br />
----------<br />
<br />
=== That's alright, but can I really use it for my daily use? ===<br />
Sure. We continuously run the most often-used OSes and configurations and if anything breaks for the developers, it's fixed as soon as it was broken. See the [:Guest Support Status:Guest_Support_Status] and [:Host Support Status:Host_Support_Status] pages to find out more. Please update them with success stories so that new users would benefit from the experience of the community. <br />
<br />
----------<br />
<br />
=== How about production use? ===<br />
For production use, it's recommended you use the kvm modules shipped by the distribution you're using to ensure stability. As mentioned above, it's tempting to use new features, but you never know of (unwanted) surprises hidden away. It'll be best if you can run the development snapshots with non-critical production load, so that the latest releases are stable for you when you decide to deploy them. <br />
<br />
----------<br />
<br />
=== What happens if I kill -9 a VM process? ===<br />
From the guest's perspective, it is as if you yanked the power cord out. From the host's perspective, the process is killed and all resources it uses are reclaimed. <br />
<br />
----------<br />
<br />
=== I need help to setup the network for my guest ===<br />
You can have a look to the [[Networking]] page of this wiki for informations on the most classical networking setup for the guests. You can also refer to the Qemu documentation. <br />
<br />
----------<br />
<br />
=== Where can I find more documention... ===<br />
Most usability issues are covered in the QEMU [http://bellard.org/qemu/user-doc.html documentation]. There is also an extensive [http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions FAQ]. <br />
<br />
----------<br />
<br />
== Troubleshooting ==<br />
=== How can I check that I'm not falling back to qemu with no hardware acceleration? ===<br />
<br />
If you think that you might no be using the hardware acceleration provided by the kvm module, here are a few steps to help you check this. <br />
<br />
First of all, check that you don't have messages such as:<br />
<br />
<br />
qemu-system-x86_64 -hda myvm.qcow2 <br />
open /dev/kvm: No such file or directory<br />
Could not initialize KVM, will disable KVM support<br />
<br />
<br />
In that case, you can check that:<br />
* the modules are correctly loaded <code>lsmod|grep kvm<br />
* you don't have a "KVM: disabled by BIOS" line in the output of dmesg<br />
* /dev/kvm exists and you have the correct rights to use it <br />
<br />
Other ways to do the diagnostic:<br />
* if you have access to the qemu monitor (Ctrl-Alt-2, use Ctrl-Alt-1 to get back to the VM display), enter the "info kvm" command and it should respond with "KVM support: enabled" <br />
* the right-end columns of the output from <code>lsmod|grep kvm</code> on the host system, once the VM is started should show only non zero values. The value on the line corresponding to the architecture specific module (e-g kvm_intel, kvm_amd) show the number of VM using the module. For instance, if I have 2 VM running using the kvm module on a machine with vt, it will report: <br />
<br />
<br />
lsmod|grep kvm<br />
kvm_intel 44896 2 <br />
kvm 159656 1 kvm_intel<br />
<br />
<br />
=== "rect too big" Message when using VNC Display ===<br />
When connection to a VNC Terminal, a "rect too big" message appears, and the VNC Session disconnects.<br />
<br />
This might happen, when a VNC Client (for example RealVNC / xvnc4viewer) chooses ZRLE Encoding. Simple choose Hextile Encoding in the options of your VNC Client, and the Problem should be resolved. <br />
<br />
----------<br />
. '''How do I set up the network such that my guest is accessible from other machines?''' or<br />
=== My guest network is stuck what should I do? === <br />
kvm uses qemu for its device emulation. Consult the [http://kidsquid.com/cgi-bin/moin.cgi/QemuNetwork qemu network wiki page] for detailed network setup instructions. <br />
<br />
One would probably be interested in the Root Networking Mode page and the Network Bridge page.<br />
<br />
----------<br />
<br />
=== Windows boots and runs very slowly? ===<br />
See the [[Windows ACPI Workaround]] page. <br />
<br />
----------<br />
<br />
=== I get an "Exception 13" or "Exception 12" message while booting a guest OS on my Intel host ===<br />
See the [[Intel Real Mode Emulation Problems]] page. <br />
<br />
----------<br />
=== I get "rtc interrupts lost" messages, and the guest is very slow? ===<br />
Try setting <code>CONFIG_HPET_EMULATE_RTC=y</code> in your host <code>.config</code>.<br />
<br />
----------<br />
<br />
=== I have VMware/Parallels/VirtualBox installed and when I modprobe KVM, my system deadlocks. ===<br />
Neither Intel VT nor AMD-V provide a mechanism to determine whether software is currently using the hardware virtualization extensions. This means that if you have two kernel modules loaded attempting to use hardware virtualization extensions, very bad things will happen. If you are using another type of virtualization software and experience any sort of weirdness with KVM, make sure you can reproduce the problem without the kernel modules for that software loaded before you report a bug in KVM. <br />
<br />
----------<br />
<br />
=== There's nothing on QEMU/kvm screen, but it's not hanged! I'm trying to install Kubuntu. ===<br />
Try to run kvm with -std-vga option. It helps if guest operating system uses framebuffer mode like Kubuntu/Ubuntu. <br />
<br />
----------<br />
<br />
=== When I click the guest operating system window, mouse is grabbed. How can I get mouse to not to do that? OR Mouse doesn't show up / doesn't work in the guest. What do I do? === <br />
From #qemu wiki, try to run kvm/qemu with <br />
<br />
<br />
-usb -usbdevice tablet<br />
If that doesn't work, try this:<br />
<br />
<br />
$ export SDL_VIDEO_X11_DGAMOUSE=0<br />
(from http://wiki.clug.org.za/wiki/QEMU_mouse_not_working )<br />
<br />
----------<br />
<br />
== General kvm information ==<br />
=== What is the difference between kvm and Xen? ===<br />
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use. <br />
<br />
kvm only run on processors that supports x86 hvm (vt/svm instructions set) whereas Xen also allows running modified operating systems on non-hvm x86 processors using a technique called paravirtualisation. kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances. <br />
<br />
----------<br />
<br />
=== What is the difference between kvm and VMWare? ===<br />
VMware is a proprietary product. kvm is Free Software released under the GPL.<br />
<br />
----------<br />
<br />
=== What is the difference between kvm and QEMU? ===<br />
Qemu uses emulation; kvm uses processor extensions (HVM) for virtualization.<br />
<br />
----------<br />
<br />
=== Do you have a port of kvm for Windows? ===<br />
Not in this release. <br />
<br />
----------<br />
<br />
=== What kernel version does it work with? ===<br />
It depends on what version of kvm you are using. The last release of kvm should work with any recent kernel (2.6.17 and above), older releases even older kernels. <br />
<br />
----------<br />
<br />
=== How much RAM do I need? ===<br />
You will need enough memory to let the guest run comfortably while keeping enough for the host. 1GB is probably a minimum configuration for the host OS. <br />
<br />
----------<br />
<br />
=== Is dynamic use of RAM for guest operating system supported? ===<br />
Yes. If you set -m 6144, guest can get a maximum of 6GB of RAM, but doesn't necessarily uses all. PLease note however that the usual platform limits will apply so you won't be able to see more than 4GB of RAM on a 32 bits guest unless you use PAE. <br />
<br />
----------<br />
<br />
=== What OSs can I run inside kvm VM? ===<br />
Several. See the [:Guest Support Status:Guest_Support_Status] page for details. Note that several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub. <br />
<br />
----------<br />
<br />
=== Does kvm support a live migration feature to move virtual machines from one host to another without downtime? === <br />
Yes. See the [[Migration]] page for details. <br />
<br />
----------<br />
<br />
=== Does kvm support live migration from an AMD host to an Intel host and back? ===<br />
Yes. There may be issues on 32-bit Intel hosts which don't support NX (or XD), but for 64-bit hosts back and forth migration should work well. Migration of 32-bit guests should work between 32-bit hosts and 64-bit hosts. <br />
<br />
----------<br />
<br />
=== Can kvm run a 32-bit guest on a 64-bit host? What about PAE? ===<br />
kvm supports 32-bit guests on 64-bit hosts, and any combination of PAE and non-PAE guests and hosts. The only unsupported combination is a 64-bit guest on a 32-bit host. <br />
<br />
If you are running a Windows Virtual Machine and have problems enabling PAE in your guest see the [[Windows PAE Workaround]] page. <br />
<br />
----------<br />
<br />
=== Is it possible to use USB devices with a guest OS? ===<br />
Yes, look up how to do it with qemu, it's the same way. <br />
<br />
----------<br />
<br />
=== Can I have higher or widescreen resolutions (eg 1680 x 1050) in kvm? ===<br />
Support for higher resolutions was added in kvm-59, but some bugs were left until the release of kvm-62. Use the -std-vga parameter while starting the VM. <br />
<br />
If the resolution you want to use is not available, you can patch the corresponding source files (see http://article.gmane.org/gmane.comp.emulators.kvm.devel/13557 as a reference), or send a mail to the kvm mailing list if you are not able to patch the source yourself. <br />
<br />
When using Windows as guest OS you might want to use the driver from the VBEMP x86 project (http://www.geocities.com/bearwindows/vbemp.htm).<br />
<br />
----------<br />
<br />
=== Does kvm support SMP hosts? ===<br />
Yes.<br />
<br />
----------<br />
<br />
=== Does kvm support SMP guests? ===<br />
Yes. But so far only 4 CPUs can be specified using the -smp option. Please note however that you'll needacpi enabled for SMP to work (i-e -no-acpi won't show more than one cpu on a linux guest)<br />
<br />
----------<br />
<br />
=== Is the name 'kvm' trademarked? ===<br />
No.<br />
<br />
----------<br />
<br />
=== What is Qumranet's product? ===<br />
Qumranet is a startup company financed by [http://www.sequoiacap.com/ Sequoia Capital] and [http://www.nvp.com/ Norwest Venture Partners (NVP)].<br />
<br />
On the 24th of September 2007, Qumranet announced their first product, Solid ICE, a virtual Desktop Infrastructure solution based on KVM (http://web1.qumranet.com/art_images/files/10/Qumranet_Launch_Release.pdf)<br />
<br />
----------</div>WikiSysophttps://linux-kvm.org/index.php?title=FAQ&diff=1905FAQ2009-02-05T10:00:36Z<p>WikiSysop: /* How can I tell if I have Intel VT or AMD-V? */</p>
<hr />
<div>__TOC__<br />
== Preparing to use kvm ==<br />
=== What do I need to use kvm? ===<br />
You will need an x86 machine running a recent Linux kernel on an Intel processor with VT (virtualization technology) extensions, or an AMD processor with SVM extensions (also called AMD-V). Xen has a [http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors complete list] of compatible processors. <br />
<br />
----------<br />
=== Are 64bits processors supported under kvm? ===<br />
Yes they are supported and will allow you to run 32bits and 64 bits clients.<br />
<br />
See also '''Can kvm run a 32-bit guest on a 64-bit host? What about PAE?''' below.<br />
<br />
----------<br />
<br />
=== What is Intel VT / AMD-V / hvm? ===<br />
[http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm Intel VT] and [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8826_14287,00.html AMD's AMD-V] are instruction set extensions that provide hardware assistance to virtual machine monitors. They enable running fully isolated virtual machines at native hardware speeds, for some workloads. <br />
<br />
HVM (for Hardware Virtual Machine) is a vendor-neutral term often used to designate the x86 instruction set extensions. <br />
<br />
----------<br />
<br />
=== How can I tell if I have Intel VT or AMD-V? ===<br />
With a recent enough Linux kernel, run the command:<br />
<br />
. egrep '^flags.*(vmx|svm)' /proc/cpuinfo<br />
<br />
If something shows up, you have VT. You can also check the processor model name (in `/proc/cpuinfo`) in the vendor's web site. <br />
<br />
Note:<br />
<br />
* Some manufacturers disable VT in the machine's BIOS, in such a way that it cannot be re-enabled.<br />
* `/proc/cpuinfo` only shows virtualization capabilities starting with Linux 2.6.15 (Intel) and Linux 2.6.16 (AMD). Use the `uname -r` command to query your kernel version. <br />
In case of doubt, contact your hardware vendor. <br />
<br />
----------<br />
<br />
=== "KVM: disabled by BIOS" error ===<br />
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor's web site. <br />
<br />
Also, on some hardware (e-g HP nx6320), you need to power-off/power-on the machine after enabling virtualisation in the BIOS. <br />
<br />
----------<br />
<br />
=== How can I use AMD-V extension? ===<br />
modprobe kvm-amd <br />
<br />
----------<br />
<br />
=== What user space tools does kvm use? ===<br />
kvm uses a slightly modified [http://www.qemu.com/ qemu] program to instantiate the virtual machine. Once running, a virtual machine is just a regular process. You can use `top(1), kill(1), taskset(1)` and similar tools to manage virtual machines. <br />
<br />
----------<br />
<br />
=== What virtual disk formats can kvm use? ===<br />
kvm inherits a wealth of disk formats support from qemu; it supports raw images, the native qemu format (qcow), VMware format, and many more. <br />
<br />
----------<br />
<br />
=== Are there management tools available to help me manage my virtual machines? ===<br />
Yes. Please see the [[Management Tools]] page for some links. <br />
<br />
----------<br />
<br />
== Using kvm ==<br />
=== How can I use kvm with a non-privileged user? ===<br />
The cleanest way is probably to create a group, say ''kvm'', and add the user(s) to that group. Then you will need change /dev/kvm to owned by group ''kvm''. <br />
<br />
On a system that runs udev, you will probably need to add the following line somewhere in your udev configuration so it will automatically give the right group to the newly created device (i-e for ubuntu add a line to ''/etc/udev/rules.d/40-permissions.rules''). <br />
<br />
. <code><br />
KERNEL=="kvm", GROUP="kvm"<br />
<br />
----------<br />
<br />
=== Is KVM stable? ===<br />
The good news is that more and more developers and testers use KVM each passing day and for the most part, it works. KVM is a very young project and constantly evolving to add new features and more hardware support. Given the fervent pace of development, it's very likely that we're introducing new bugs at a fast pace as well, however small they might be. We would encourage our users to report any bug(s) they encounter so that we can continue making KVM better and stabler with each commit. <br />
<br />
----------<br />
<br />
=== That's alright, but can I really use it for my daily use? ===<br />
Sure. We continuously run the most often-used OSes and configurations and if anything breaks for the developers, it's fixed as soon as it was broken. See the [:Guest Support Status:Guest_Support_Status] and [:Host Support Status:Host_Support_Status] pages to find out more. Please update them with success stories so that new users would benefit from the experience of the community. <br />
<br />
----------<br />
<br />
=== How about production use? ===<br />
For production use, it's recommended you use the kvm modules shipped by the distribution you're using to ensure stability. As mentioned above, it's tempting to use new features, but you never know of (unwanted) surprises hidden away. It'll be best if you can run the development snapshots with non-critical production load, so that the latest releases are stable for you when you decide to deploy them. <br />
<br />
----------<br />
<br />
=== What happens if I kill -9 a VM process? ===<br />
From the guest's perspective, it is as if you yanked the power cord out. From the host's perspective, the process is killed and all resources it uses are reclaimed. <br />
<br />
----------<br />
<br />
=== I need help to setup the network for my guest ===<br />
You can have a look to the [[Networking]] page of this wiki for informations on the most classical networking setup for the guests. You can also refer to the Qemu documentation. <br />
<br />
----------<br />
<br />
=== Where can I find more documention... ===<br />
Most usability issues are covered in the QEMU [http://bellard.org/qemu/user-doc.html documentation]. There is also an extensive [http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions FAQ]. <br />
<br />
----------<br />
<br />
== Troubleshooting ==<br />
=== How can I check that I'm not falling back to qemu with no hardware acceleration? ===<br />
<br />
If you think that you might no be using the hardware acceleration provided by the kvm module, here are a few steps to help you check this. <br />
<br />
First of all, check that you don't have messages such as:<br />
<br />
<br />
qemu-system-x86_64 -hda myvm.qcow2 <br />
open /dev/kvm: No such file or directory<br />
Could not initialize KVM, will disable KVM support<br />
<br />
<br />
In that case, you can check that:<br />
* the modules are correctly loaded <code>lsmod|grep kvm<br />
* you don't have a "KVM: disabled by BIOS" line in the output of dmesg<br />
* /dev/kvm exists and you have the correct rights to use it <br />
<br />
Other ways to do the diagnostic:<br />
* if you have access to the qemu monitor (Ctrl-Alt-2, use Ctrl-Alt-1 to get back to the VM display), enter the "info kvm" command and it should respond with "KVM support: enabled" <br />
* the right-end columns of the output from <code>lsmod|grep kvm</code> on the host system, once the VM is started should show only non zero values. The value on the line corresponding to the architecture specific module (e-g kvm_intel, kvm_amd) show the number of VM using the module. For instance, if I have 2 VM running using the kvm module on a machine with vt, it will report: <br />
<br />
<br />
lsmod|grep kvm<br />
kvm_intel 44896 2 <br />
kvm 159656 1 kvm_intel<br />
<br />
<br />
=== "rect too big" Message when using VNC Display ===<br />
When connection to a VNC Terminal, a "rect too big" message appears, and the VNC Session disconnects.<br />
<br />
This might happen, when a VNC Client (for example RealVNC / xvnc4viewer) chooses ZRLE Encoding. Simple choose Hextile Encoding in the options of your VNC Client, and the Problem should be resolved. <br />
<br />
----------<br />
. '''How do I set up the network such that my guest is accessible from other machines?''' or<br />
=== My guest network is stuck what should I do? === <br />
kvm uses qemu for its device emulation. Consult the [http://kidsquid.com/cgi-bin/moin.cgi/QemuNetwork qemu network wiki page] for detailed network setup instructions. <br />
<br />
One would probably be interested in the Root Networking Mode page and the Network Bridge page.<br />
<br />
----------<br />
<br />
=== Windows boots and runs very slowly? ===<br />
See the [[Windows ACPI Workaround]] page. <br />
<br />
----------<br />
<br />
=== I get an "Exception 13" or "Exception 12" message while booting a guest OS on my Intel host ===<br />
See the [[Intel Real Mode Emulation Problems]] page. <br />
<br />
----------<br />
=== I get "rtc interrupts lost" messages, and the guest is very slow? ===<br />
Try setting <code>CONFIG_HPET_EMULATE_RTC=y</code> in your host <code>.config</code>.<br />
<br />
----------<br />
<br />
=== I have VMware/Parallels/VirtualBox installed and when I modprobe KVM, my system deadlocks. ===<br />
Neither Intel VT nor AMD-V provide a mechanism to determine whether software is currently using the hardware virtualization extensions. This means that if you have two kernel modules loaded attempting to use hardware virtualization extensions, very bad things will happen. If you are using another type of virtualization software and experience any sort of weirdness with KVM, make sure you can reproduce the problem without the kernel modules for that software loaded before you report a bug in KVM. <br />
<br />
----------<br />
<br />
=== There's nothing on QEMU/kvm screen, but it's not hanged! I'm trying to install Kubuntu. ===<br />
Try to run kvm with -std-vga option. It helps if guest operating system uses framebuffer mode like Kubuntu/Ubuntu. <br />
<br />
----------<br />
<br />
=== When I click the guest operating system window, mouse is grabbed. How can I get mouse to not to do that? OR Mouse doesn't show up / doesn't work in the guest. What do I do? === <br />
From #qemu wiki, try to run kvm/qemu with <br />
<br />
<br />
-usb -usbdevice tablet<br />
If that doesn't work, try this:<br />
<br />
<br />
$ export SDL_VIDEO_X11_DGAMOUSE=0<br />
(from http://wiki.clug.org.za/wiki/QEMU_mouse_not_working )<br />
<br />
----------<br />
<br />
== General kvm information ==<br />
=== What is the difference between kvm and Xen? ===<br />
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use. <br />
<br />
kvm only run on processors that supports x86 hvm (vt/svm instructions set) whereas Xen also allows running modified operating systems on non-hvm x86 processors using a technique called paravirtualisation. kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances. <br />
<br />
----------<br />
<br />
=== What is the difference between kvm and VMWare? ===<br />
VMware is a proprietary product. kvm is Free Software released under the GPL.<br />
<br />
----------<br />
<br />
=== What is the difference between kvm and QEMU? ===<br />
Qemu uses emulation; kvm uses processor extensions (HVM) for virtualization.<br />
<br />
----------<br />
<br />
=== Do you have a port of kvm for Windows? ===<br />
Not in this release. <br />
<br />
----------<br />
<br />
=== What kernel version does it work with? ===<br />
It depends on what version of kvm you are using. The last release of kvm should work with any recent kernel (2.6.17 and above), older releases even older kernels. <br />
<br />
----------<br />
<br />
=== How much RAM do I need? ===<br />
You will need enough memory to let the guest run comfortably while keeping enough for the host. 1GB is probably a minimum configuration for the host OS. <br />
<br />
----------<br />
<br />
=== Is dynamic use of RAM for guest operating system supported? ===<br />
Yes. If you set -m 6144, guest can get a maximum of 6GB of RAM, but doesn't necessarily uses all. PLease note however that the usual platform limits will apply so you won't be able to see more than 4GB of RAM on a 32 bits guest unless you use PAE. <br />
<br />
----------<br />
<br />
=== What OSs can I run inside kvm VM? ===<br />
Several. See the [:Guest Support Status:Guest_Support_Status] page for details. Note that several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub. <br />
<br />
----------<br />
<br />
=== Does kvm support a live migration feature to move virtual machines from one host to another without downtime? === <br />
Yes. See the [[Migration]] page for details. <br />
<br />
----------<br />
<br />
=== Does kvm support live migration from an AMD host to an Intel host and back? ===<br />
Yes. There may be issues on 32-bit Intel hosts which don't support NX (or XD), but for 64-bit hosts back and forth migration should work well. Migration of 32-bit guests should work between 32-bit hosts and 64-bit hosts. <br />
<br />
----------<br />
<br />
=== Can kvm run a 32-bit guest on a 64-bit host? What about PAE? ===<br />
kvm supports 32-bit guests on 64-bit hosts, and any combination of PAE and non-PAE guests and hosts. The only unsupported combination is a 64-bit guest on a 32-bit host. <br />
<br />
If you are running a Windows Virtual Machine and have problems enabling PAE in your guest see the [[Windows PAE Workaround]] page. <br />
<br />
----------<br />
<br />
=== Is it possible to use USB devices with a guest OS? ===<br />
Yes, look up how to do it with qemu, it's the same way. <br />
<br />
----------<br />
<br />
=== Can I have higher or widescreen resolutions (eg 1680 x 1050) in kvm? ===<br />
Support for higher resolutions was added in kvm-59, but some bugs were left until the release of kvm-62. Use the -std-vga parameter while starting the VM. <br />
<br />
If the resolution you want to use is not available, you can patch the corresponding source files (see http://article.gmane.org/gmane.comp.emulators.kvm.devel/13557 as a reference), or send a mail to the kvm mailing list if you are not able to patch the source yourself. <br />
<br />
When using Windows as guest OS you might want to use the driver from the VBEMP x86 project (http://www.geocities.com/bearwindows/vbemp.htm).<br />
<br />
----------<br />
<br />
=== Does kvm support SMP hosts? ===<br />
Yes.<br />
<br />
----------<br />
<br />
=== Does kvm support SMP guests? ===<br />
Yes. But so far only 4 CPUs can be specified using the -smp option. Please note however that you'll needacpi enabled for SMP to work (i-e -no-acpi won't show more than one cpu on a linux guest)<br />
<br />
----------<br />
<br />
=== Is the name 'kvm' trademarked? ===<br />
No.<br />
<br />
----------<br />
<br />
=== What is Qumranet's product? ===<br />
Qumranet is a startup company financed by [http://www.sequoiacap.com/ Sequoia Capital] and [http://www.nvp.com/ Norwest Venture Partners (NVP)].<br />
<br />
On the 24th of September 2007, Qumranet announced their first product, Solid ICE, a virtual Desktop Infrastructure solution based on KVM (http://web1.qumranet.com/art_images/files/10/Qumranet_Launch_Release.pdf)<br />
<br />
----------</div>WikiSysophttps://linux-kvm.org/index.php?title=FAQ&diff=1904FAQ2009-02-05T09:59:52Z<p>WikiSysop: /* Preparing to use kvm */</p>
<hr />
<div>__TOC__<br />
== Preparing to use kvm ==<br />
=== What do I need to use kvm? ===<br />
You will need an x86 machine running a recent Linux kernel on an Intel processor with VT (virtualization technology) extensions, or an AMD processor with SVM extensions (also called AMD-V). Xen has a [http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors complete list] of compatible processors. <br />
<br />
----------<br />
=== Are 64bits processors supported under kvm? ===<br />
Yes they are supported and will allow you to run 32bits and 64 bits clients.<br />
<br />
See also '''Can kvm run a 32-bit guest on a 64-bit host? What about PAE?''' below.<br />
<br />
----------<br />
<br />
=== What is Intel VT / AMD-V / hvm? ===<br />
[http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm Intel VT] and [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8826_14287,00.html AMD's AMD-V] are instruction set extensions that provide hardware assistance to virtual machine monitors. They enable running fully isolated virtual machines at native hardware speeds, for some workloads. <br />
<br />
HVM (for Hardware Virtual Machine) is a vendor-neutral term often used to designate the x86 instruction set extensions. <br />
<br />
----------<br />
<br />
=== How can I tell if I have Intel VT or AMD-V? ===<br />
With a recent enough Linux kernel, run the command:<br />
<br />
. <code><br />
egrep '^flags.*(vmx|svm)' /proc/cpuinfo<br />
<br />
If something shows up, you have VT. You can also check the processor model name (in `/proc/cpuinfo`) in the vendor's web site. <br />
<br />
Note:<br />
<br />
* Some manufacturers disable VT in the machine's BIOS, in such a way that it cannot be re-enabled.<br />
* `/proc/cpuinfo` only shows virtualization capabilities starting with Linux 2.6.15 (Intel) and Linux 2.6.16 (AMD). Use the `uname -r` command to query your kernel version. <br />
In case of doubt, contact your hardware vendor. <br />
<br />
----------<br />
=== "KVM: disabled by BIOS" error ===<br />
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor's web site. <br />
<br />
Also, on some hardware (e-g HP nx6320), you need to power-off/power-on the machine after enabling virtualisation in the BIOS. <br />
<br />
----------<br />
<br />
=== How can I use AMD-V extension? ===<br />
modprobe kvm-amd <br />
<br />
----------<br />
<br />
=== What user space tools does kvm use? ===<br />
kvm uses a slightly modified [http://www.qemu.com/ qemu] program to instantiate the virtual machine. Once running, a virtual machine is just a regular process. You can use `top(1), kill(1), taskset(1)` and similar tools to manage virtual machines. <br />
<br />
----------<br />
<br />
=== What virtual disk formats can kvm use? ===<br />
kvm inherits a wealth of disk formats support from qemu; it supports raw images, the native qemu format (qcow), VMware format, and many more. <br />
<br />
----------<br />
<br />
=== Are there management tools available to help me manage my virtual machines? ===<br />
Yes. Please see the [[Management Tools]] page for some links. <br />
<br />
----------<br />
<br />
== Using kvm ==<br />
=== How can I use kvm with a non-privileged user? ===<br />
The cleanest way is probably to create a group, say ''kvm'', and add the user(s) to that group. Then you will need change /dev/kvm to owned by group ''kvm''. <br />
<br />
On a system that runs udev, you will probably need to add the following line somewhere in your udev configuration so it will automatically give the right group to the newly created device (i-e for ubuntu add a line to ''/etc/udev/rules.d/40-permissions.rules''). <br />
<br />
. <code><br />
KERNEL=="kvm", GROUP="kvm"<br />
<br />
----------<br />
<br />
=== Is KVM stable? ===<br />
The good news is that more and more developers and testers use KVM each passing day and for the most part, it works. KVM is a very young project and constantly evolving to add new features and more hardware support. Given the fervent pace of development, it's very likely that we're introducing new bugs at a fast pace as well, however small they might be. We would encourage our users to report any bug(s) they encounter so that we can continue making KVM better and stabler with each commit. <br />
<br />
----------<br />
<br />
=== That's alright, but can I really use it for my daily use? ===<br />
Sure. We continuously run the most often-used OSes and configurations and if anything breaks for the developers, it's fixed as soon as it was broken. See the [:Guest Support Status:Guest_Support_Status] and [:Host Support Status:Host_Support_Status] pages to find out more. Please update them with success stories so that new users would benefit from the experience of the community. <br />
<br />
----------<br />
<br />
=== How about production use? ===<br />
For production use, it's recommended you use the kvm modules shipped by the distribution you're using to ensure stability. As mentioned above, it's tempting to use new features, but you never know of (unwanted) surprises hidden away. It'll be best if you can run the development snapshots with non-critical production load, so that the latest releases are stable for you when you decide to deploy them. <br />
<br />
----------<br />
<br />
=== What happens if I kill -9 a VM process? ===<br />
From the guest's perspective, it is as if you yanked the power cord out. From the host's perspective, the process is killed and all resources it uses are reclaimed. <br />
<br />
----------<br />
<br />
=== I need help to setup the network for my guest ===<br />
You can have a look to the [[Networking]] page of this wiki for informations on the most classical networking setup for the guests. You can also refer to the Qemu documentation. <br />
<br />
----------<br />
<br />
=== Where can I find more documention... ===<br />
Most usability issues are covered in the QEMU [http://bellard.org/qemu/user-doc.html documentation]. There is also an extensive [http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions FAQ]. <br />
<br />
----------<br />
<br />
== Troubleshooting ==<br />
=== How can I check that I'm not falling back to qemu with no hardware acceleration? ===<br />
<br />
If you think that you might no be using the hardware acceleration provided by the kvm module, here are a few steps to help you check this. <br />
<br />
First of all, check that you don't have messages such as:<br />
<br />
<br />
qemu-system-x86_64 -hda myvm.qcow2 <br />
open /dev/kvm: No such file or directory<br />
Could not initialize KVM, will disable KVM support<br />
<br />
<br />
In that case, you can check that:<br />
* the modules are correctly loaded <code>lsmod|grep kvm<br />
* you don't have a "KVM: disabled by BIOS" line in the output of dmesg<br />
* /dev/kvm exists and you have the correct rights to use it <br />
<br />
Other ways to do the diagnostic:<br />
* if you have access to the qemu monitor (Ctrl-Alt-2, use Ctrl-Alt-1 to get back to the VM display), enter the "info kvm" command and it should respond with "KVM support: enabled" <br />
* the right-end columns of the output from <code>lsmod|grep kvm</code> on the host system, once the VM is started should show only non zero values. The value on the line corresponding to the architecture specific module (e-g kvm_intel, kvm_amd) show the number of VM using the module. For instance, if I have 2 VM running using the kvm module on a machine with vt, it will report: <br />
<br />
<br />
lsmod|grep kvm<br />
kvm_intel 44896 2 <br />
kvm 159656 1 kvm_intel<br />
<br />
<br />
=== "rect too big" Message when using VNC Display ===<br />
When connection to a VNC Terminal, a "rect too big" message appears, and the VNC Session disconnects.<br />
<br />
This might happen, when a VNC Client (for example RealVNC / xvnc4viewer) chooses ZRLE Encoding. Simple choose Hextile Encoding in the options of your VNC Client, and the Problem should be resolved. <br />
<br />
----------<br />
. '''How do I set up the network such that my guest is accessible from other machines?''' or<br />
=== My guest network is stuck what should I do? === <br />
kvm uses qemu for its device emulation. Consult the [http://kidsquid.com/cgi-bin/moin.cgi/QemuNetwork qemu network wiki page] for detailed network setup instructions. <br />
<br />
One would probably be interested in the Root Networking Mode page and the Network Bridge page.<br />
<br />
----------<br />
<br />
=== Windows boots and runs very slowly? ===<br />
See the [[Windows ACPI Workaround]] page. <br />
<br />
----------<br />
<br />
=== I get an "Exception 13" or "Exception 12" message while booting a guest OS on my Intel host ===<br />
See the [[Intel Real Mode Emulation Problems]] page. <br />
<br />
----------<br />
=== I get "rtc interrupts lost" messages, and the guest is very slow? ===<br />
Try setting <code>CONFIG_HPET_EMULATE_RTC=y</code> in your host <code>.config</code>.<br />
<br />
----------<br />
<br />
=== I have VMware/Parallels/VirtualBox installed and when I modprobe KVM, my system deadlocks. ===<br />
Neither Intel VT nor AMD-V provide a mechanism to determine whether software is currently using the hardware virtualization extensions. This means that if you have two kernel modules loaded attempting to use hardware virtualization extensions, very bad things will happen. If you are using another type of virtualization software and experience any sort of weirdness with KVM, make sure you can reproduce the problem without the kernel modules for that software loaded before you report a bug in KVM. <br />
<br />
----------<br />
<br />
=== There's nothing on QEMU/kvm screen, but it's not hanged! I'm trying to install Kubuntu. ===<br />
Try to run kvm with -std-vga option. It helps if guest operating system uses framebuffer mode like Kubuntu/Ubuntu. <br />
<br />
----------<br />
<br />
=== When I click the guest operating system window, mouse is grabbed. How can I get mouse to not to do that? OR Mouse doesn't show up / doesn't work in the guest. What do I do? === <br />
From #qemu wiki, try to run kvm/qemu with <br />
<br />
<br />
-usb -usbdevice tablet<br />
If that doesn't work, try this:<br />
<br />
<br />
$ export SDL_VIDEO_X11_DGAMOUSE=0<br />
(from http://wiki.clug.org.za/wiki/QEMU_mouse_not_working )<br />
<br />
----------<br />
<br />
== General kvm information ==<br />
=== What is the difference between kvm and Xen? ===<br />
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use. <br />
<br />
kvm only run on processors that supports x86 hvm (vt/svm instructions set) whereas Xen also allows running modified operating systems on non-hvm x86 processors using a technique called paravirtualisation. kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances. <br />
<br />
----------<br />
<br />
=== What is the difference between kvm and VMWare? ===<br />
VMware is a proprietary product. kvm is Free Software released under the GPL.<br />
<br />
----------<br />
<br />
=== What is the difference between kvm and QEMU? ===<br />
Qemu uses emulation; kvm uses processor extensions (HVM) for virtualization.<br />
<br />
----------<br />
<br />
=== Do you have a port of kvm for Windows? ===<br />
Not in this release. <br />
<br />
----------<br />
<br />
=== What kernel version does it work with? ===<br />
It depends on what version of kvm you are using. The last release of kvm should work with any recent kernel (2.6.17 and above), older releases even older kernels. <br />
<br />
----------<br />
<br />
=== How much RAM do I need? ===<br />
You will need enough memory to let the guest run comfortably while keeping enough for the host. 1GB is probably a minimum configuration for the host OS. <br />
<br />
----------<br />
<br />
=== Is dynamic use of RAM for guest operating system supported? ===<br />
Yes. If you set -m 6144, guest can get a maximum of 6GB of RAM, but doesn't necessarily uses all. PLease note however that the usual platform limits will apply so you won't be able to see more than 4GB of RAM on a 32 bits guest unless you use PAE. <br />
<br />
----------<br />
<br />
=== What OSs can I run inside kvm VM? ===<br />
Several. See the [:Guest Support Status:Guest_Support_Status] page for details. Note that several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub. <br />
<br />
----------<br />
<br />
=== Does kvm support a live migration feature to move virtual machines from one host to another without downtime? === <br />
Yes. See the [[Migration]] page for details. <br />
<br />
----------<br />
<br />
=== Does kvm support live migration from an AMD host to an Intel host and back? ===<br />
Yes. There may be issues on 32-bit Intel hosts which don't support NX (or XD), but for 64-bit hosts back and forth migration should work well. Migration of 32-bit guests should work between 32-bit hosts and 64-bit hosts. <br />
<br />
----------<br />
<br />
=== Can kvm run a 32-bit guest on a 64-bit host? What about PAE? ===<br />
kvm supports 32-bit guests on 64-bit hosts, and any combination of PAE and non-PAE guests and hosts. The only unsupported combination is a 64-bit guest on a 32-bit host. <br />
<br />
If you are running a Windows Virtual Machine and have problems enabling PAE in your guest see the [[Windows PAE Workaround]] page. <br />
<br />
----------<br />
<br />
=== Is it possible to use USB devices with a guest OS? ===<br />
Yes, look up how to do it with qemu, it's the same way. <br />
<br />
----------<br />
<br />
=== Can I have higher or widescreen resolutions (eg 1680 x 1050) in kvm? ===<br />
Support for higher resolutions was added in kvm-59, but some bugs were left until the release of kvm-62. Use the -std-vga parameter while starting the VM. <br />
<br />
If the resolution you want to use is not available, you can patch the corresponding source files (see http://article.gmane.org/gmane.comp.emulators.kvm.devel/13557 as a reference), or send a mail to the kvm mailing list if you are not able to patch the source yourself. <br />
<br />
When using Windows as guest OS you might want to use the driver from the VBEMP x86 project (http://www.geocities.com/bearwindows/vbemp.htm).<br />
<br />
----------<br />
<br />
=== Does kvm support SMP hosts? ===<br />
Yes.<br />
<br />
----------<br />
<br />
=== Does kvm support SMP guests? ===<br />
Yes. But so far only 4 CPUs can be specified using the -smp option. Please note however that you'll needacpi enabled for SMP to work (i-e -no-acpi won't show more than one cpu on a linux guest)<br />
<br />
----------<br />
<br />
=== Is the name 'kvm' trademarked? ===<br />
No.<br />
<br />
----------<br />
<br />
=== What is Qumranet's product? ===<br />
Qumranet is a startup company financed by [http://www.sequoiacap.com/ Sequoia Capital] and [http://www.nvp.com/ Norwest Venture Partners (NVP)].<br />
<br />
On the 24th of September 2007, Qumranet announced their first product, Solid ICE, a virtual Desktop Infrastructure solution based on KVM (http://web1.qumranet.com/art_images/files/10/Qumranet_Launch_Release.pdf)<br />
<br />
----------</div>WikiSysophttps://linux-kvm.org/index.php?title=FAQ&diff=1903FAQ2009-02-05T09:59:25Z<p>WikiSysop: </p>
<hr />
<div>== Preparing to use kvm == <br />
=== What do I need to use kvm? === <br />
You will need an x86 machine running a recent Linux kernel on an Intel processor with VT (virtualization technology) extensions, or an AMD processor with SVM extensions (also called AMD-V). Xen has a [http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors complete list] of compatible processors. <br />
<br />
----------<br />
=== Are 64bits processors supported under kvm? ===<br />
Yes they are supported and will allow you to run 32bits and 64 bits clients.<br />
<br />
See also '''Can kvm run a 32-bit guest on a 64-bit host? What about PAE?''' below.<br />
<br />
----------<br />
<br />
=== What is Intel VT / AMD-V / hvm? ===<br />
[http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm Intel VT] and [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8826_14287,00.html AMD's AMD-V] are instruction set extensions that provide hardware assistance to virtual machine monitors. They enable running fully isolated virtual machines at native hardware speeds, for some workloads. <br />
<br />
HVM (for Hardware Virtual Machine) is a vendor-neutral term often used to designate the x86 instruction set extensions. <br />
<br />
----------<br />
<br />
=== How can I tell if I have Intel VT or AMD-V? ===<br />
With a recent enough Linux kernel, run the command:<br />
<br />
. <code><br />
egrep '^flags.*(vmx|svm)' /proc/cpuinfo<br />
<br />
If something shows up, you have VT. You can also check the processor model name (in `/proc/cpuinfo`) in the vendor's web site. <br />
<br />
Note:<br />
<br />
* Some manufacturers disable VT in the machine's BIOS, in such a way that it cannot be re-enabled.<br />
* `/proc/cpuinfo` only shows virtualization capabilities starting with Linux 2.6.15 (Intel) and Linux 2.6.16 (AMD). Use the `uname -r` command to query your kernel version. <br />
In case of doubt, contact your hardware vendor. <br />
<br />
----------<br />
=== "KVM: disabled by BIOS" error ===<br />
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor's web site. <br />
<br />
Also, on some hardware (e-g HP nx6320), you need to power-off/power-on the machine after enabling virtualisation in the BIOS. <br />
<br />
----------<br />
<br />
=== How can I use AMD-V extension? ===<br />
modprobe kvm-amd <br />
<br />
----------<br />
<br />
=== What user space tools does kvm use? ===<br />
kvm uses a slightly modified [http://www.qemu.com/ qemu] program to instantiate the virtual machine. Once running, a virtual machine is just a regular process. You can use `top(1), kill(1), taskset(1)` and similar tools to manage virtual machines. <br />
<br />
----------<br />
<br />
=== What virtual disk formats can kvm use? ===<br />
kvm inherits a wealth of disk formats support from qemu; it supports raw images, the native qemu format (qcow), VMware format, and many more. <br />
<br />
----------<br />
<br />
=== Are there management tools available to help me manage my virtual machines? ===<br />
Yes. Please see the [[Management Tools]] page for some links. <br />
<br />
----------<br />
<br />
== Using kvm ==<br />
=== How can I use kvm with a non-privileged user? ===<br />
The cleanest way is probably to create a group, say ''kvm'', and add the user(s) to that group. Then you will need change /dev/kvm to owned by group ''kvm''. <br />
<br />
On a system that runs udev, you will probably need to add the following line somewhere in your udev configuration so it will automatically give the right group to the newly created device (i-e for ubuntu add a line to ''/etc/udev/rules.d/40-permissions.rules''). <br />
<br />
. <code><br />
KERNEL=="kvm", GROUP="kvm"<br />
<br />
----------<br />
<br />
=== Is KVM stable? ===<br />
The good news is that more and more developers and testers use KVM each passing day and for the most part, it works. KVM is a very young project and constantly evolving to add new features and more hardware support. Given the fervent pace of development, it's very likely that we're introducing new bugs at a fast pace as well, however small they might be. We would encourage our users to report any bug(s) they encounter so that we can continue making KVM better and stabler with each commit. <br />
<br />
----------<br />
<br />
=== That's alright, but can I really use it for my daily use? ===<br />
Sure. We continuously run the most often-used OSes and configurations and if anything breaks for the developers, it's fixed as soon as it was broken. See the [:Guest Support Status:Guest_Support_Status] and [:Host Support Status:Host_Support_Status] pages to find out more. Please update them with success stories so that new users would benefit from the experience of the community. <br />
<br />
----------<br />
<br />
=== How about production use? ===<br />
For production use, it's recommended you use the kvm modules shipped by the distribution you're using to ensure stability. As mentioned above, it's tempting to use new features, but you never know of (unwanted) surprises hidden away. It'll be best if you can run the development snapshots with non-critical production load, so that the latest releases are stable for you when you decide to deploy them. <br />
<br />
----------<br />
<br />
=== What happens if I kill -9 a VM process? ===<br />
From the guest's perspective, it is as if you yanked the power cord out. From the host's perspective, the process is killed and all resources it uses are reclaimed. <br />
<br />
----------<br />
<br />
=== I need help to setup the network for my guest ===<br />
You can have a look to the [[Networking]] page of this wiki for informations on the most classical networking setup for the guests. You can also refer to the Qemu documentation. <br />
<br />
----------<br />
<br />
=== Where can I find more documention... ===<br />
Most usability issues are covered in the QEMU [http://bellard.org/qemu/user-doc.html documentation]. There is also an extensive [http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions FAQ]. <br />
<br />
----------<br />
<br />
== Troubleshooting ==<br />
=== How can I check that I'm not falling back to qemu with no hardware acceleration? ===<br />
<br />
If you think that you might no be using the hardware acceleration provided by the kvm module, here are a few steps to help you check this. <br />
<br />
First of all, check that you don't have messages such as:<br />
<br />
<br />
qemu-system-x86_64 -hda myvm.qcow2 <br />
open /dev/kvm: No such file or directory<br />
Could not initialize KVM, will disable KVM support<br />
<br />
<br />
In that case, you can check that:<br />
* the modules are correctly loaded <code>lsmod|grep kvm<br />
* you don't have a "KVM: disabled by BIOS" line in the output of dmesg<br />
* /dev/kvm exists and you have the correct rights to use it <br />
<br />
Other ways to do the diagnostic:<br />
* if you have access to the qemu monitor (Ctrl-Alt-2, use Ctrl-Alt-1 to get back to the VM display), enter the "info kvm" command and it should respond with "KVM support: enabled" <br />
* the right-end columns of the output from <code>lsmod|grep kvm</code> on the host system, once the VM is started should show only non zero values. The value on the line corresponding to the architecture specific module (e-g kvm_intel, kvm_amd) show the number of VM using the module. For instance, if I have 2 VM running using the kvm module on a machine with vt, it will report: <br />
<br />
<br />
lsmod|grep kvm<br />
kvm_intel 44896 2 <br />
kvm 159656 1 kvm_intel<br />
<br />
<br />
=== "rect too big" Message when using VNC Display ===<br />
When connection to a VNC Terminal, a "rect too big" message appears, and the VNC Session disconnects.<br />
<br />
This might happen, when a VNC Client (for example RealVNC / xvnc4viewer) chooses ZRLE Encoding. Simple choose Hextile Encoding in the options of your VNC Client, and the Problem should be resolved. <br />
<br />
----------<br />
. '''How do I set up the network such that my guest is accessible from other machines?''' or<br />
=== My guest network is stuck what should I do? === <br />
kvm uses qemu for its device emulation. Consult the [http://kidsquid.com/cgi-bin/moin.cgi/QemuNetwork qemu network wiki page] for detailed network setup instructions. <br />
<br />
One would probably be interested in the Root Networking Mode page and the Network Bridge page.<br />
<br />
----------<br />
<br />
=== Windows boots and runs very slowly? ===<br />
See the [[Windows ACPI Workaround]] page. <br />
<br />
----------<br />
<br />
=== I get an "Exception 13" or "Exception 12" message while booting a guest OS on my Intel host ===<br />
See the [[Intel Real Mode Emulation Problems]] page. <br />
<br />
----------<br />
=== I get "rtc interrupts lost" messages, and the guest is very slow? ===<br />
Try setting <code>CONFIG_HPET_EMULATE_RTC=y</code> in your host <code>.config</code>.<br />
<br />
----------<br />
<br />
=== I have VMware/Parallels/VirtualBox installed and when I modprobe KVM, my system deadlocks. ===<br />
Neither Intel VT nor AMD-V provide a mechanism to determine whether software is currently using the hardware virtualization extensions. This means that if you have two kernel modules loaded attempting to use hardware virtualization extensions, very bad things will happen. If you are using another type of virtualization software and experience any sort of weirdness with KVM, make sure you can reproduce the problem without the kernel modules for that software loaded before you report a bug in KVM. <br />
<br />
----------<br />
<br />
=== There's nothing on QEMU/kvm screen, but it's not hanged! I'm trying to install Kubuntu. ===<br />
Try to run kvm with -std-vga option. It helps if guest operating system uses framebuffer mode like Kubuntu/Ubuntu. <br />
<br />
----------<br />
<br />
=== When I click the guest operating system window, mouse is grabbed. How can I get mouse to not to do that? OR Mouse doesn't show up / doesn't work in the guest. What do I do? === <br />
From #qemu wiki, try to run kvm/qemu with <br />
<br />
<br />
-usb -usbdevice tablet<br />
If that doesn't work, try this:<br />
<br />
<br />
$ export SDL_VIDEO_X11_DGAMOUSE=0<br />
(from http://wiki.clug.org.za/wiki/QEMU_mouse_not_working )<br />
<br />
----------<br />
<br />
== General kvm information ==<br />
=== What is the difference between kvm and Xen? ===<br />
Xen is an external hypervisor; it assumes control of the machine and divides resources among guests. On the other hand, kvm is part of Linux and uses the regular Linux scheduler and memory management. This means that kvm is much smaller and simpler to use. <br />
<br />
kvm only run on processors that supports x86 hvm (vt/svm instructions set) whereas Xen also allows running modified operating systems on non-hvm x86 processors using a technique called paravirtualisation. kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances. <br />
<br />
----------<br />
<br />
=== What is the difference between kvm and VMWare? ===<br />
VMware is a proprietary product. kvm is Free Software released under the GPL.<br />
<br />
----------<br />
<br />
=== What is the difference between kvm and QEMU? ===<br />
Qemu uses emulation; kvm uses processor extensions (HVM) for virtualization.<br />
<br />
----------<br />
<br />
=== Do you have a port of kvm for Windows? ===<br />
Not in this release. <br />
<br />
----------<br />
<br />
=== What kernel version does it work with? ===<br />
It depends on what version of kvm you are using. The last release of kvm should work with any recent kernel (2.6.17 and above), older releases even older kernels. <br />
<br />
----------<br />
<br />
=== How much RAM do I need? ===<br />
You will need enough memory to let the guest run comfortably while keeping enough for the host. 1GB is probably a minimum configuration for the host OS. <br />
<br />
----------<br />
<br />
=== Is dynamic use of RAM for guest operating system supported? ===<br />
Yes. If you set -m 6144, guest can get a maximum of 6GB of RAM, but doesn't necessarily uses all. PLease note however that the usual platform limits will apply so you won't be able to see more than 4GB of RAM on a 32 bits guest unless you use PAE. <br />
<br />
----------<br />
<br />
=== What OSs can I run inside kvm VM? ===<br />
Several. See the [:Guest Support Status:Guest_Support_Status] page for details. Note that several Linux flavors are known to hang on Intel processors during startup. Workaround is to disable splashscreens in grub. <br />
<br />
----------<br />
<br />
=== Does kvm support a live migration feature to move virtual machines from one host to another without downtime? === <br />
Yes. See the [[Migration]] page for details. <br />
<br />
----------<br />
<br />
=== Does kvm support live migration from an AMD host to an Intel host and back? ===<br />
Yes. There may be issues on 32-bit Intel hosts which don't support NX (or XD), but for 64-bit hosts back and forth migration should work well. Migration of 32-bit guests should work between 32-bit hosts and 64-bit hosts. <br />
<br />
----------<br />
<br />
=== Can kvm run a 32-bit guest on a 64-bit host? What about PAE? ===<br />
kvm supports 32-bit guests on 64-bit hosts, and any combination of PAE and non-PAE guests and hosts. The only unsupported combination is a 64-bit guest on a 32-bit host. <br />
<br />
If you are running a Windows Virtual Machine and have problems enabling PAE in your guest see the [[Windows PAE Workaround]] page. <br />
<br />
----------<br />
<br />
=== Is it possible to use USB devices with a guest OS? ===<br />
Yes, look up how to do it with qemu, it's the same way. <br />
<br />
----------<br />
<br />
=== Can I have higher or widescreen resolutions (eg 1680 x 1050) in kvm? ===<br />
Support for higher resolutions was added in kvm-59, but some bugs were left until the release of kvm-62. Use the -std-vga parameter while starting the VM. <br />
<br />
If the resolution you want to use is not available, you can patch the corresponding source files (see http://article.gmane.org/gmane.comp.emulators.kvm.devel/13557 as a reference), or send a mail to the kvm mailing list if you are not able to patch the source yourself. <br />
<br />
When using Windows as guest OS you might want to use the driver from the VBEMP x86 project (http://www.geocities.com/bearwindows/vbemp.htm).<br />
<br />
----------<br />
<br />
=== Does kvm support SMP hosts? ===<br />
Yes.<br />
<br />
----------<br />
<br />
=== Does kvm support SMP guests? ===<br />
Yes. But so far only 4 CPUs can be specified using the -smp option. Please note however that you'll needacpi enabled for SMP to work (i-e -no-acpi won't show more than one cpu on a linux guest)<br />
<br />
----------<br />
<br />
=== Is the name 'kvm' trademarked? ===<br />
No.<br />
<br />
----------<br />
<br />
=== What is Qumranet's product? ===<br />
Qumranet is a startup company financed by [http://www.sequoiacap.com/ Sequoia Capital] and [http://www.nvp.com/ Norwest Venture Partners (NVP)].<br />
<br />
On the 24th of September 2007, Qumranet announced their first product, Solid ICE, a virtual Desktop Infrastructure solution based on KVM (http://web1.qumranet.com/art_images/files/10/Qumranet_Launch_Release.pdf)<br />
<br />
----------</div>WikiSysophttps://linux-kvm.org/index.php?title=TODO&diff=1902TODO2009-02-05T09:57:09Z<p>WikiSysop: /* TODO */</p>
<hr />
<div>The following items need some love. Please post to the list if you are interested in helping out: <br />
<br />
* Real mode support: VT support for real mode is terrible, so we need to do it in software. This means extending the x86 emulator (x86_emulate.c) to handle more instructions, and changing the execution loop to call the emulator for real mode (in progress).<br />
* Emulate the architectural performance monitor counters/msrs, for Linux nmi watchdog support.<br />
* Emulate MSR_IA32_DEBUGCTL for guests which use it<br />
* Bring up Windows 95 and Windows 98 guests<br />
* Implement MSR_EFER on i386, on processors which support it<br />
* Add HPET support to qemu and kvm<br />
<br />
The following smaller scale tasks can be a nice entry point to someone wishing to get involved: <br />
<br />
* Store command line options in an empty snapshot in a qcow2 format image file. This allows an image file to be self contained: <code><nowiki>qemu file.img</nowiki></code> should be enough to launch a fully configured virtual machine. (this is probably a bad idea--see qemu-devel/kvm-devel discussion)<br />
* Allow all cpuid features supported by kvm to be passed to the guest; add a command line option to specifiy the cpuid explicitly to allow migration in a heterogeneous server farm. (in progress)<br />
* Add a Unix domain socket device. With this, the guest can talk to a pci device which is connected to a Unix domain socket on the host.<br />
* Add a qemu interface for sharing memory between guests. Using a pci device to expose the shared memory is probably a good starting point. (this should use virtio and probably depends on mmu-notifiers)<br />
* Allow userspace to manage which msrs are emulated as no-ops (read zero, write ignored) to hack support for some guests<br />
* Reduce qemu memory footprint when using kvm<br />
* Avoid taking kvm->lock when issuing mmio. Need to check lapic and ioapic accesses for correctness.<br />
<br />
==== MMU related: ====<br />
* Improve mmu page eviction algorithm (currently FIFO, change to approximate LRU).<br />
* Add a read-only memory type.<br />
** possible using mprotect()?<br />
* Implement AM20 for dos and the like.<br />
* Implement direct page tables on paravirt_ops enabled Linux guests<br />
<br />
==== x86 emulator updates: ====<br />
* Trap #UD and emulate sysenter/syscall/sysret/sysexit. These instructions don't exist on all cpus in all modes, so they hinder cross-vendor migration (in progress)<br />
* Add a NonPT flag (or maybe its inverse, Paging) to instructions that are never used for page table updates (like add, sub, call). Teach the mmu to unshadow page tables if a NonPT instruction is executed on them.<br />
* Change the emulator initialization sequence not to read all segment registers (this is slow), instead read them on demand. On 64-bit, no segments are usually needed while on 32-bit only cs and ds are commenly required.<br />
<br />
==== Interactivity improvements: ====<br />
* If for several frames in a row a large proportion of the framebuffer pages are changing, then for the next few frames don't bother to get the dirty page log from kvm, but instead assume that all pages are dirty. This will reduce page fault overhead on highly interactive workloads.<br />
* When detecting keyboard/video/mouse activity, scale up the frame rate; when activity dies down, scale it back down (applicable to qemu as well).<br />
<br />
==== Pass-through/VT-d related: ====<br />
* Implement an external module for the iommus, so that KVM VT-d works on old kernels.<br />
* Implement Linux pci-stub module to “hide” pass-through device from host kernel’s device driver.<br />
* Enhance KVM QEMU to return error messages if user attempts to pass-through unsupported devices:<br />
** Devices with shared host IOAPIC interrupt<br />
** Conventional PCI devices<br />
** Devices without FLR capability<br />
* QEMU PCI pass-through patch needs to be enhanced to same functionality as corresponding file in Xen<br />
** Remove direct HW access by QEMU for probing PCI BAR size<br />
** PCI handling of various PCI configuration registers<br />
** Other enhancements that was done in Xen<br />
* Host shared interrupt support<br />
* VT-d2 support (WIP in Linux Kernel)<br />
** Queued invalidation<br />
** Interrupt remapping<br />
** ATS<br />
<br />
==== Bug fixes: ====<br />
* Less sexy but ever important, fixing bugs is one of the most important contributions<br />
<br />
==== For the adventurous: ====<br />
* Emulate the VT and SVM instructions, so that kvm can run in a virtual machine. Test by running a VM in a VT guest in an SVM guest on VT hardware, as well as running a VM in an SVM guest in a VT guest on SVM hardware.<br />
* Emulate the VT and SVM instruction sets on qemu. This would be very beneficial to debugging kvm.<br />
* Keep this TODO up to date<br />
* Add [http://www.cs.toronto.edu/~andreslc/xen-gl/ vmgl] support to qemu. Port to virtio. Write a Windows driver.<br />
<br />
__NOTOC__</div>WikiSysophttps://linux-kvm.org/index.php?title=TODO&diff=1901TODO2009-02-05T09:56:40Z<p>WikiSysop: /* TODO */</p>
<hr />
<div>= TODO =<br />
------------------------------------<br />
The following items need some love. Please post to the list if you are interested in helping out: <br />
<br />
* Real mode support: VT support for real mode is terrible, so we need to do it in software. This means extending the x86 emulator (x86_emulate.c) to handle more instructions, and changing the execution loop to call the emulator for real mode (in progress).<br />
* Emulate the architectural performance monitor counters/msrs, for Linux nmi watchdog support.<br />
* Emulate MSR_IA32_DEBUGCTL for guests which use it<br />
* Bring up Windows 95 and Windows 98 guests<br />
* Implement MSR_EFER on i386, on processors which support it<br />
* Add HPET support to qemu and kvm<br />
<br />
The following smaller scale tasks can be a nice entry point to someone wishing to get involved: <br />
<br />
* Store command line options in an empty snapshot in a qcow2 format image file. This allows an image file to be self contained: <code><nowiki>qemu file.img</nowiki></code> should be enough to launch a fully configured virtual machine. (this is probably a bad idea--see qemu-devel/kvm-devel discussion)<br />
* Allow all cpuid features supported by kvm to be passed to the guest; add a command line option to specifiy the cpuid explicitly to allow migration in a heterogeneous server farm. (in progress)<br />
* Add a Unix domain socket device. With this, the guest can talk to a pci device which is connected to a Unix domain socket on the host.<br />
* Add a qemu interface for sharing memory between guests. Using a pci device to expose the shared memory is probably a good starting point. (this should use virtio and probably depends on mmu-notifiers)<br />
* Allow userspace to manage which msrs are emulated as no-ops (read zero, write ignored) to hack support for some guests<br />
* Reduce qemu memory footprint when using kvm<br />
* Avoid taking kvm->lock when issuing mmio. Need to check lapic and ioapic accesses for correctness.<br />
<br />
==== MMU related: ====<br />
* Improve mmu page eviction algorithm (currently FIFO, change to approximate LRU).<br />
* Add a read-only memory type.<br />
** possible using mprotect()?<br />
* Implement AM20 for dos and the like.<br />
* Implement direct page tables on paravirt_ops enabled Linux guests<br />
<br />
==== x86 emulator updates: ====<br />
* Trap #UD and emulate sysenter/syscall/sysret/sysexit. These instructions don't exist on all cpus in all modes, so they hinder cross-vendor migration (in progress)<br />
* Add a NonPT flag (or maybe its inverse, Paging) to instructions that are never used for page table updates (like add, sub, call). Teach the mmu to unshadow page tables if a NonPT instruction is executed on them.<br />
* Change the emulator initialization sequence not to read all segment registers (this is slow), instead read them on demand. On 64-bit, no segments are usually needed while on 32-bit only cs and ds are commenly required.<br />
<br />
==== Interactivity improvements: ====<br />
* If for several frames in a row a large proportion of the framebuffer pages are changing, then for the next few frames don't bother to get the dirty page log from kvm, but instead assume that all pages are dirty. This will reduce page fault overhead on highly interactive workloads.<br />
* When detecting keyboard/video/mouse activity, scale up the frame rate; when activity dies down, scale it back down (applicable to qemu as well).<br />
<br />
==== Pass-through/VT-d related: ====<br />
* Implement an external module for the iommus, so that KVM VT-d works on old kernels.<br />
* Implement Linux pci-stub module to “hide” pass-through device from host kernel’s device driver.<br />
* Enhance KVM QEMU to return error messages if user attempts to pass-through unsupported devices:<br />
** Devices with shared host IOAPIC interrupt<br />
** Conventional PCI devices<br />
** Devices without FLR capability<br />
* QEMU PCI pass-through patch needs to be enhanced to same functionality as corresponding file in Xen<br />
** Remove direct HW access by QEMU for probing PCI BAR size<br />
** PCI handling of various PCI configuration registers<br />
** Other enhancements that was done in Xen<br />
* Host shared interrupt support<br />
* VT-d2 support (WIP in Linux Kernel)<br />
** Queued invalidation<br />
** Interrupt remapping<br />
** ATS<br />
<br />
==== Bug fixes: ====<br />
* Less sexy but ever important, fixing bugs is one of the most important contributions<br />
<br />
==== For the adventurous: ====<br />
* Emulate the VT and SVM instructions, so that kvm can run in a virtual machine. Test by running a VM in a VT guest in an SVM guest on VT hardware, as well as running a VM in an SVM guest in a VT guest on SVM hardware.<br />
* Emulate the VT and SVM instruction sets on qemu. This would be very beneficial to debugging kvm.<br />
* Keep this TODO up to date<br />
* Add [http://www.cs.toronto.edu/~andreslc/xen-gl/ vmgl] support to qemu. Port to virtio. Write a Windows driver.<br />
<br />
__NOTOC__</div>WikiSysophttps://linux-kvm.org/index.php?title=Code&diff=1900Code2009-02-05T09:53:52Z<p>WikiSysop: /* building an external module with older kernels */</p>
<hr />
<div>== kernel git tree ==<br />
The kvm kernel code is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git<br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=linux/kernel/git/avi/kvm.git;a=summary]<br />
<br />
For subsequent upgrades use the command<br />
<br />
git-pull<br />
in the git working dir.<br />
<br />
== userspace git tree ==<br />
The kvm userspace code (libkvm and qemu) is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git<br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=summary]<br />
<br />
== linux guest drivers kit ==<br />
This kit converts a virtio-capable kernel into a package that can generate linux guest drivers for older kernels. <br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-guest-drivers-linux.git<br />
<br />
The corresponding kernel tree can found in the <code>virtio</code> branch of <code>kvm.git</code>.<br />
<br />
== building an external module with older kernels ==<br />
<br />
/!\ This only works for the x86 architecture.<br />
<br />
If you wish to use a distribution kernel (or just some random kernel you like) with kvm,<br />
you can get both the userspace and kernel (via git). In the userspace <br />
toplevel directory, type <br />
<br />
./configure<br />
cd kernel<br />
make sync LINUX=/path/to/kvm/git/tree<br />
cd ..<br />
make<br />
<br />
<br />
There are three important directories in this scenario:<br />
{|<br />
! kvm-userspace<br />
| Already contains a "kernel" subdirectory from a kvm.git snapshot. The files in thisdirectory can be overwritten by <code>make sync</code>.<br />
|-<br />
! host kernel tree<br />
| Older kernel you want to use newer KVM modules with. Refer to it with <code>configure --kerneldir</code>.<br />
|-<br />
! kvm kernel tree (from git)<br />
| Used as the source of the KVM modules. Refer to it with <code>LINUX=path</code> in <code>make sync</code>.<br />
|}<br />
<br />
== release tags ==<br />
<br />
kvm releases are tagged with <code>kvm-nn</code> where ''nn'' is the release number.<br />
<br />
== Binary Packages ==<br />
=== CentOS / RHEL ===<br />
<br />
Unofficial packages of latest releases can be found at<br />
http://www.lfarkas.org/linux/packages/centos/5/<br />
<br />
== nightly snapshots ==<br />
<br />
Nightly snapshots, for those who are uncomfortable with git, are [http://people.qumranet.com/avi/snapshots available]. When reporting a problem with a snapshot, please quote the snapshot name (which includes the date) and the contents of the SOURCES file in the snapshot tarball.</div>WikiSysophttps://linux-kvm.org/index.php?title=Code&diff=1899Code2009-02-05T09:48:17Z<p>WikiSysop: /* linux guest drivers kit */</p>
<hr />
<div>== kernel git tree ==<br />
The kvm kernel code is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git<br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=linux/kernel/git/avi/kvm.git;a=summary]<br />
<br />
For subsequent upgrades use the command<br />
<br />
git-pull<br />
in the git working dir.<br />
<br />
== userspace git tree ==<br />
The kvm userspace code (libkvm and qemu) is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git<br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=summary]<br />
<br />
== linux guest drivers kit ==<br />
This kit converts a virtio-capable kernel into a package that can generate linux guest drivers for older kernels. <br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-guest-drivers-linux.git<br />
<br />
The corresponding kernel tree can found in the <code>virtio</code> branch of <code>kvm.git</code>.<br />
<br />
== building an external module with older kernels ==<br />
<br />
/!\ This only works for the x86 architecture.<br />
<br />
If you wish to use a distribution kernel (or just some random kernel you like) with kvm,<br />
you can get both the userspace and kernel (via git). In the userspace <br />
toplevel directory, type <br />
<br />
./configure<br />
cd kernel<br />
make sync LINUX=/path/to/kvm/git/tree<br />
cd ..<br />
make<br />
<br />
<br />
There are three important directories in this scenario:<br />
<br />
|| kvm-userspace || Already contains a "kernel" subdirectory from a kvm.git snapshot. The files in thisdirectory can be overwritten by <code>make sync</code>. ||<br />
|| host kernel tree || Older kernel you want to use newer KVM modules with. Refer to it with <code>configure --kerneldir</code>. ||<br />
|| kvm kernel tree (from git) || Used as the source of the KVM modules. Refer to it with <code>LINUX=path</code> in <code>make sync</code>. ||<br />
<br />
== release tags ==<br />
<br />
kvm releases are tagged with <code>kvm-nn</code> where ''nn'' is the release number.<br />
<br />
== Binary Packages ==<br />
=== CentOS / RHEL ===<br />
<br />
Unofficial packages of latest releases can be found at<br />
http://www.lfarkas.org/linux/packages/centos/5/<br />
<br />
== nightly snapshots ==<br />
<br />
Nightly snapshots, for those who are uncomfortable with git, are [http://people.qumranet.com/avi/snapshots available]. When reporting a problem with a snapshot, please quote the snapshot name (which includes the date) and the contents of the SOURCES file in the snapshot tarball.</div>WikiSysophttps://linux-kvm.org/index.php?title=Code&diff=1898Code2009-02-05T09:46:30Z<p>WikiSysop: /* userspace git tree */</p>
<hr />
<div>== kernel git tree ==<br />
The kvm kernel code is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git<br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=linux/kernel/git/avi/kvm.git;a=summary]<br />
<br />
For subsequent upgrades use the command<br />
<br />
git-pull<br />
in the git working dir.<br />
<br />
== userspace git tree ==<br />
The kvm userspace code (libkvm and qemu) is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git<br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=summary]<br />
<br />
== linux guest drivers kit ==<br />
This kit converts a virtio-capable kernel into a package that can generate linux guest drivers for older kernels. <br />
<br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-guest-drivers-linux.git<br />
<br />
<br />
The corresponding kernel tree can found in the <code>virtio</code> branch of <code>kvm.git</code>.<br />
<br />
== building an external module with older kernels ==<br />
<br />
/!\ This only works for the x86 architecture.<br />
<br />
If you wish to use a distribution kernel (or just some random kernel you like) with kvm,<br />
you can get both the userspace and kernel (via git). In the userspace <br />
toplevel directory, type <br />
<br />
./configure<br />
cd kernel<br />
make sync LINUX=/path/to/kvm/git/tree<br />
cd ..<br />
make<br />
<br />
<br />
There are three important directories in this scenario:<br />
<br />
|| kvm-userspace || Already contains a "kernel" subdirectory from a kvm.git snapshot. The files in thisdirectory can be overwritten by <code>make sync</code>. ||<br />
|| host kernel tree || Older kernel you want to use newer KVM modules with. Refer to it with <code>configure --kerneldir</code>. ||<br />
|| kvm kernel tree (from git) || Used as the source of the KVM modules. Refer to it with <code>LINUX=path</code> in <code>make sync</code>. ||<br />
<br />
== release tags ==<br />
<br />
kvm releases are tagged with <code>kvm-nn</code> where ''nn'' is the release number.<br />
<br />
== Binary Packages ==<br />
=== CentOS / RHEL ===<br />
<br />
Unofficial packages of latest releases can be found at<br />
http://www.lfarkas.org/linux/packages/centos/5/<br />
<br />
== nightly snapshots ==<br />
<br />
Nightly snapshots, for those who are uncomfortable with git, are [http://people.qumranet.com/avi/snapshots available]. When reporting a problem with a snapshot, please quote the snapshot name (which includes the date) and the contents of the SOURCES file in the snapshot tarball.</div>WikiSysophttps://linux-kvm.org/index.php?title=Code&diff=1897Code2009-02-05T09:42:35Z<p>WikiSysop: /* userspace git tree */</p>
<hr />
<div>== kernel git tree ==<br />
The kvm kernel code is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git<br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=linux/kernel/git/avi/kvm.git;a=summary]<br />
<br />
For subsequent upgrades use the command<br />
<br />
git-pull<br />
in the git working dir.<br />
<br />
== userspace git tree ==<br />
The kvm userspace code (libkvm and qemu) is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git<br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=summary]<br />
<br />
== linux guest drivers kit ==<br />
This kit converts a virtio-capable kernel into a package that can generate linux guest drivers for older kernels. <br />
<br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-guest-drivers-linux.git<br />
<br />
<br />
The corresponding kernel tree can found in the <code>virtio</code> branch of <code>kvm.git</code>.<br />
<br />
== building an external module with older kernels ==<br />
<br />
/!\ This only works for the x86 architecture.<br />
<br />
If you wish to use a distribution kernel (or just some random kernel you like) with kvm,<br />
you can get both the userspace and kernel (via git). In the userspace <br />
toplevel directory, type <br />
<br />
./configure<br />
cd kernel<br />
make sync LINUX=/path/to/kvm/git/tree<br />
cd ..<br />
make<br />
<br />
<br />
There are three important directories in this scenario:<br />
<br />
|| kvm-userspace || Already contains a "kernel" subdirectory from a kvm.git snapshot. The files in thisdirectory can be overwritten by <code>make sync</code>. ||<br />
|| host kernel tree || Older kernel you want to use newer KVM modules with. Refer to it with <code>configure --kerneldir</code>. ||<br />
|| kvm kernel tree (from git) || Used as the source of the KVM modules. Refer to it with <code>LINUX=path</code> in <code>make sync</code>. ||<br />
<br />
== release tags ==<br />
<br />
kvm releases are tagged with <code>kvm-nn</code> where ''nn'' is the release number.<br />
<br />
== Binary Packages ==<br />
=== CentOS / RHEL ===<br />
<br />
Unofficial packages of latest releases can be found at<br />
http://www.lfarkas.org/linux/packages/centos/5/<br />
<br />
== nightly snapshots ==<br />
<br />
Nightly snapshots, for those who are uncomfortable with git, are [http://people.qumranet.com/avi/snapshots available]. When reporting a problem with a snapshot, please quote the snapshot name (which includes the date) and the contents of the SOURCES file in the snapshot tarball.</div>WikiSysophttps://linux-kvm.org/index.php?title=Code&diff=1896Code2009-02-05T09:41:47Z<p>WikiSysop: /* kernel git tree */</p>
<hr />
<div>== kernel git tree ==<br />
The kvm kernel code is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git<br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=linux/kernel/git/avi/kvm.git;a=summary]<br />
<br />
For subsequent upgrades use the command<br />
<br />
git-pull<br />
in the git working dir.<br />
<br />
== userspace git tree ==<br />
The kvm userspace code (libkvm and qemu) is available through a git tree. To create a<br />
repository using git, type <br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git <br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=summary] <br />
<br />
== linux guest drivers kit ==<br />
This kit converts a virtio-capable kernel into a package that can generate linux guest drivers for older kernels. <br />
<br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-guest-drivers-linux.git<br />
<br />
<br />
The corresponding kernel tree can found in the <code>virtio</code> branch of <code>kvm.git</code>.<br />
<br />
== building an external module with older kernels ==<br />
<br />
/!\ This only works for the x86 architecture.<br />
<br />
If you wish to use a distribution kernel (or just some random kernel you like) with kvm,<br />
you can get both the userspace and kernel (via git). In the userspace <br />
toplevel directory, type <br />
<br />
./configure<br />
cd kernel<br />
make sync LINUX=/path/to/kvm/git/tree<br />
cd ..<br />
make<br />
<br />
<br />
There are three important directories in this scenario:<br />
<br />
|| kvm-userspace || Already contains a "kernel" subdirectory from a kvm.git snapshot. The files in thisdirectory can be overwritten by <code>make sync</code>. ||<br />
|| host kernel tree || Older kernel you want to use newer KVM modules with. Refer to it with <code>configure --kerneldir</code>. ||<br />
|| kvm kernel tree (from git) || Used as the source of the KVM modules. Refer to it with <code>LINUX=path</code> in <code>make sync</code>. ||<br />
<br />
== release tags ==<br />
<br />
kvm releases are tagged with <code>kvm-nn</code> where ''nn'' is the release number.<br />
<br />
== Binary Packages ==<br />
=== CentOS / RHEL ===<br />
<br />
Unofficial packages of latest releases can be found at<br />
http://www.lfarkas.org/linux/packages/centos/5/<br />
<br />
== nightly snapshots ==<br />
<br />
Nightly snapshots, for those who are uncomfortable with git, are [http://people.qumranet.com/avi/snapshots available]. When reporting a problem with a snapshot, please quote the snapshot name (which includes the date) and the contents of the SOURCES file in the snapshot tarball.</div>WikiSysophttps://linux-kvm.org/index.php?title=Code&diff=1895Code2009-02-05T09:40:30Z<p>WikiSysop: </p>
<hr />
<div>== kernel git tree == <br />
The kvm kernel code is available through a git tree. To create a repository using git, type<br />
<br />
git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git <br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=linux/kernel/git/avi/kvm.git;a=summary] <br />
<br />
For subsequent upgrades use the command<br />
<br />
git-pull <br />
<br />
in the git working dir. <br />
<br />
== userspace git tree ==<br />
The kvm userspace code (libkvm and qemu) is available through a git tree. To create a<br />
repository using git, type <br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git <br />
<br />
Alternatively, it is also accessible through the kernel.org gitweb interface: <br />
[http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=summary] <br />
<br />
== linux guest drivers kit ==<br />
This kit converts a virtio-capable kernel into a package that can generate linux guest drivers for older kernels. <br />
<br />
<br />
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-guest-drivers-linux.git<br />
<br />
<br />
The corresponding kernel tree can found in the <code>virtio</code> branch of <code>kvm.git</code>.<br />
<br />
== building an external module with older kernels ==<br />
<br />
/!\ This only works for the x86 architecture.<br />
<br />
If you wish to use a distribution kernel (or just some random kernel you like) with kvm,<br />
you can get both the userspace and kernel (via git). In the userspace <br />
toplevel directory, type <br />
<br />
./configure<br />
cd kernel<br />
make sync LINUX=/path/to/kvm/git/tree<br />
cd ..<br />
make<br />
<br />
<br />
There are three important directories in this scenario:<br />
<br />
|| kvm-userspace || Already contains a "kernel" subdirectory from a kvm.git snapshot. The files in thisdirectory can be overwritten by <code>make sync</code>. ||<br />
|| host kernel tree || Older kernel you want to use newer KVM modules with. Refer to it with <code>configure --kerneldir</code>. ||<br />
|| kvm kernel tree (from git) || Used as the source of the KVM modules. Refer to it with <code>LINUX=path</code> in <code>make sync</code>. ||<br />
<br />
== release tags ==<br />
<br />
kvm releases are tagged with <code>kvm-nn</code> where ''nn'' is the release number.<br />
<br />
== Binary Packages ==<br />
=== CentOS / RHEL ===<br />
<br />
Unofficial packages of latest releases can be found at<br />
http://www.lfarkas.org/linux/packages/centos/5/<br />
<br />
== nightly snapshots ==<br />
<br />
Nightly snapshots, for those who are uncomfortable with git, are [http://people.qumranet.com/avi/snapshots available]. When reporting a problem with a snapshot, please quote the snapshot name (which includes the date) and the contents of the SOURCES file in the snapshot tarball.</div>WikiSysophttps://linux-kvm.org/index.php?title=Bugs&diff=1894Bugs2009-02-05T09:38:39Z<p>WikiSysop: </p>
<hr />
<div>You can submit bug reports either through the sourceforge [http://sourceforge.net/tracker/?atid=893831&group_id=180599&func=browse bug tracker] or directly to the [mailto: kvm@vger.kernel.org mailing list] (no need to subscribe). Bugs submitted through the bug tracker show up on the list as well. <br />
<br />
== Submitting a bug report ==<br />
<br />
When submitting a bug report, make sure to provide the following information:<br />
<br />
* what cpu model (examples: Intel Core Duo, Intel Core 2 Duo, AMD Opteron 2210). See /proc/cpuinfo if you're not sure. <br />
* what kvm version you are using. If you're using git directly, provide the output of 'git describe'. <br />
* the host kernel version <br />
* what host kernel arch you are using (i386 or x86_64) <br />
* what guest you are using, including OS type (Linux, Windows, Solaris, etc.), bitness (32 or 64), kernel version <br />
* the qemu command line you are using to start the guest <br />
* whether the problem goes away if using the <code>-no-kvm-irqchip</code> or <code>-no-kvm-pit</code> switch. <br />
* whether the problem also appears with the <code>-no-kvm</code> switch. <br />
<br />
Please use the latest release version of kvm at the time you submit the bug. Even if you use kvm from a distribution (Ubuntu starting from Feisty or Fedora starting from 7), it is important to use the latest sources. <br />
<br />
== Getting a serial console from the guest ==<br />
<br />
If a guest crashes on boot, it is sometimes useful to have its console output. This can be done using<br />
qemu's -serial option to emulate a serial port:<br />
qemu-system-x86_64 -serial file:serial.log<br />
<br />
<br />
Depending on the guest OS you will need to do some additional changes to instruct it to use the serial port as a console as shown below :<br />
<br />
=== Linux ===<br />
<br />
Change the guest kernel's command line (in the GRUB or LILO menu) to include the string <br />
console=ttyS0,115200<br />
<br />
<br />
If after a crash, there is still no output in the serial.log file and the guest kernel was configured touse a serial console; chances are that the crash was too early in the process to have the console initialized and then the following kernel command line should be used additionally (only to be used as a last resort as it interacts badly with the console boot parameter)<br />
earlyprintk=serial,ttyS0,115200<br />
<br />
<br />
=== OpenSolaris ===<br />
<br />
Change the guest kernel's entry in the GRUB menu to include the string <br />
-B console=ttya<br />
<br />
<br />
if there is already a -B option just add the console parameter to it after a comma "," and beware that since this will redirect the console to the file you'll need to tail the serial.log file to see it boot asthere will be no output in the SDL console and you won't be able to interact with it through the keyboard.</div>WikiSysophttps://linux-kvm.org/index.php?title=Downloads&diff=1893Downloads2009-02-05T09:35:02Z<p>WikiSysop: </p>
<hr />
<div>If you want to use the kernel module and supporting userspace provided by a kvm release (recommended), download the latest version from<br />
<br />
[http://sourceforge.net/project/showfiles.php?group_id=180599 http://sourceforge.net/project/showfiles.php?group_id=180599]<br />
<br />
You can consult the ChangeLog page on this wiki.<br />
<br />
If you use a kernel from http://www.kernel.org or one provided from your distribution and '''do not''' use the modules provided by kvm releases:<br />
* your kernel has to be 2.6.25 or newer to run the kvm 76 userspace (or any newer release)<br />
* the modules provided by Linux 2.6.22 or later require kvm-22 or any later version. Some features are available only with newer kernels or userspace. It is recommended to use the latest available version.<br />
* the modules provided by Linux 2.6.21 require '''[http://downloads.sourceforge.net/kvm/kvm-17.tar.gz kvm-17]'''. If you use the external module, use the latest available version.<br />
* the modules provided by Linux 2.6.20 require '''[http://downloads.sourceforge.net/kvm/kvm-12.tar.gz kvm-12]'''. If you use the external module, use the latest available version.<br />
<br />
Refer to [[choose the right kvm & kernel version]] for more information.</div>WikiSysophttps://linux-kvm.org/index.php?title=Downloads&diff=1892Downloads2009-02-05T09:34:20Z<p>WikiSysop: </p>
<hr />
<div>If you want to use the kernel module and supporting userspace provided by a kvm release (recommended), download the latest version from<br />
<br />
[http://sourceforge.net/project/showfiles.php?group_id=180599]<br />
<br />
You can consult the ChangeLog page on this wiki.<br />
<br />
If you use a kernel from http://www.kernel.org or one provided from your distribution and '''do not''' use the modules provided by kvm releases:<br />
* your kernel has to be 2.6.25 or newer to run the kvm 76 userspace (or any newer release)<br />
* the modules provided by Linux 2.6.22 or later require kvm-22 or any later version. Some features are available only with newer kernels or userspace. It is recommended to use the latest available version.<br />
* the modules provided by Linux 2.6.21 require '''[http://downloads.sourceforge.net/kvm/kvm-17.tar.gz kvm-17]'''. If you use the external module, use the latest available version.<br />
* the modules provided by Linux 2.6.20 require '''[http://downloads.sourceforge.net/kvm/kvm-12.tar.gz kvm-12]'''. If you use the external module, use the latest available version.<br />
<br />
Refer to [[choose the right kvm & kernel version]] for more information.</div>WikiSysophttps://linux-kvm.org/index.php?title=Processor_support&diff=1891Processor support2009-02-05T09:32:06Z<p>WikiSysop: </p>
<hr />
<div>Information about what cpu supports Hardware virtualization.<br />
<br />
==== AMD: ====<br />
I emailed to "tech.support at amd.com" and they returned that these two sites are the only two sites which provides people with these informations. Poor answer. Search for AMD-V on these sites<br />
<br />
[http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8796_15226,00.html?redir=CP8501 Third-Generation AMD Opteron™]<br />
<br />
[http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8796_14266,00.html Second-Generation AMD Opteron™]</div>WikiSysophttps://linux-kvm.org/index.php?title=Tools&diff=1890Tools2009-02-05T09:31:08Z<p>WikiSysop: </p>
<hr />
<div>== Tools for information gathering ==<br />
<br />
* [http://etallen.com/ msr cpuid information]</div>WikiSysophttps://linux-kvm.org/index.php?title=File_layout_in_kernel&diff=1889File layout in kernel2009-02-05T09:29:46Z<p>WikiSysop: </p>
<hr />
<div>The first kvm releases its file in the directory drivers/kvm/, but since around December 2007 it is pushed into virt/kvm directory in the kernel source tree. Other files are here: <br />
<br />
<br />
Here are the architecture independent files of kvm.<br />
<br />
==== virt/kvm ====<br />
* ioapic.h<br />
* ioapic.c<br />
* iodev.h <br />
* kvm_main.c<br />
<br />
Here are the architecture dependent files. These are files like vmx.c for Intel's HVM support or svm.c for AMD's HVM support. <br />
<br />
==== arch/x86/kvm ==== <br />
* Kconfig <br />
* Makefile<br />
* i8259.c<br />
* irq.c<br />
* irq.h<br />
* kvm_svm.h<br />
* lapic.c<br />
* lapic.h<br />
* mmu.c<br />
* mmu.h<br />
* paging_tmpl.h<br />
* segment_descriptor.h<br />
* svm.c<br />
* svm.h<br />
* vmx.c<br />
* vmx.h<br />
* x86.c<br />
* x86_emulate.c<br />
<br />
==== include/linux ====<br />
* kvm.h<br />
* kvm_host.h<br />
* kvm_para.h<br />
* kvm_x86_emulate.h<br />
<br />
==== include/asm-x86/ ====<br />
* kvm.h<br />
* kvm_host.h<br />
* kvm_para.h<br />
* kvm_x86_emulate.h</div>WikiSysophttps://linux-kvm.org/index.php?title=KVM_Forum_2007&diff=1888KVM Forum 20072009-02-05T09:26:18Z<p>WikiSysop: </p>
<hr />
<div>= Information on the recently-concluded KVM Forum 2007 =<br />
== Agenda ==<br />
==== Wednesday August 29th ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
! Time<br />
! Session Topic<br />
! Speaker<br />
|-<br />
| 8:45 AM - 9:40 AM <br />
| [[Media:KvmForum2007$kf2007-keynote.pdf|KVM, One Year On]]<br />
| Avi Kivity, Qumranet <br />
|-<br />
| 9:40 AM - 10:30 AM <br />
| The future of virtualization - KVM <br />
| Sunil Saxena, Intel <br />
|-<br />
| 10:45 AM - 11:50 AM <br />
| KVM Security <br />
| Hadi Nahari, Montavista <br />
|-<br />
| 1:35 PM - 2:30 PM <br />
| KVM & S390 <br />
| Carsten Otte, IBM <br />
|-<br />
| 2:30 PM - 3:30 PM <br />
| KVM Lite, No Hardware Support, Fewer Calories <br />
| Rusty Russell, IBM <br />
|-<br />
| 4:00 PM - 5:00 PM <br />
| VT Roadmap, Hybrid Virtualization, Power Management, Fat vs Thin Hypervisor <br />
| Jun Nakajima, Intel <br />
|}<br />
<br />
==== Thursday August 30th ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
! Time<br />
! Session Topic<br />
! Speaker <br />
|-<br />
| 9:00 AM - 9:50 AM <br />
| [[Media:KvmForum2007$kvm_pv_drv.pdf| KVM Para-Virtualized Guest Drivers]]<br />
| Dor Laor, Qumranet <br />
|-<br />
| 9:50 AM - 10:50 AM <br />
| [[Media:KvmForum2007$AMD%20Extended%20Migration-KVMForum-ElsieWahlig.pdf| AMD Extended Migration]]<br />
| Elsie Wahlig, AMD <br />
|-<br />
| 9:50 AM - 10:50 AM <br />
| [[Media:KvmForum2007$kvm_iommu_talk.pdf| A KVM friendly IOMMU API for Linux]]<br />
| Joerg Roedel, AMD <br />
|-<br />
| 10:50 AM - 11:45 AM <br />
| [[Media:KvmForum2007$KVMForum07_Liguori.pdf| Automating VM Installation Testing]]<br />
| Anthony Liguori, IBM <br />
|-<br />
| 1:35 PM - 2:30 PM <br />
| [[Media:KvmForum2007$CIM4KVM.pdf| Standards Based Systems Management Solution for KVM]]<br />
| Anthony Liguori, IBM <br />
|-<br />
| 2:35 PM - 3:30 PM <br />
| [[Media:KvmForum2007$KVM-tuning-testing-SMP2.pdf| KVM Performance, SMP and in kernel PIC/APIC, KVM Validation]]<br />
| Eddie Dong, Yungen Zhao, Xin Lin, Intel <br />
|-<br />
| 4:00 PM - 5:35 PM <br />
| Open Session Panel <br />
| Avi Kivity, Qumranet <br />
|}<br />
<br />
==== Friday August 31st ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
! Time<br />
! Session Topic<br />
! Speaker <br />
|-<br />
| 9:00 AM - 9:45 AM <br />
| [[Media:KvmForum2007$Kvm_Live_Migration_Forum_2007.pdf| KVM Live Migration]]<br />
| Anthony Liguori, IBM & Uri Lubin, Qumranet <br />
|-<br />
| 9:50 AM - 10:35 AM <br />
| [[Media:KvmForum2007$shadowy-depths-of-the-kvm-mmu.pdf| The Shadowy Depths of the KVM MMU]]<br />
| Avi Kivity, Qumranet <br />
|-<br />
| 10:50 AM - 11:45 AM <br />
| [[Media:KvmForum2007$KVM-IA64_forum_083107.pdf| KVM for IPF (ia64)]]<br />
| Anthony Xu, Intel <br />
|-<br />
| 11:50 AM -12:45 PM <br />
| [[Media:KvmForum2007$KVM_Forum_-_Embedded_PowerPC.pdf| Implementing KVM for Embedded PowerPC]]<br />
| Hollis Blanchard, IBM <br />
|-<br />
| 12:45 PM - 1.30 PM <br />
| [[Media:KvmForum2007$KVM_Forum_Concluding_Keynote.pdf| Concluding Keynote]]<br />
| Benny Schnaider, Qumranet <br />
|}<br />
<br />
== Blogs ==<br />
http://www.osadl.org/Single-View.111+M5382caa6fee.0.html by Gerd König<br />
<br />
http://blog.railsmachine.com/2007/8/29/kvm-forum-2007 by Bradley Taylor<br />
<br />
http://vmblog.com/archive/2007/09/07/kvm-developer-community-gathers-in-first-cross-industry-event.aspx<br />
<br />
== Pictures ==<br />
* (from [[AmitShah]]) Pictures from the Pima Air and Space Museum and the Loews Ventana Canyon Resort: http://travel.webshots.com/album/560535651amWFjh<br />
<br />
__NOTOC__</div>WikiSysophttps://linux-kvm.org/index.php?title=KVM_Forum_2007&diff=1887KVM Forum 20072009-02-05T09:25:45Z<p>WikiSysop: /* Friday August 31st */</p>
<hr />
<div>[http://www.qumranet.com/images/kvm_logo.gif]<br />
<br />
= Information on the recently-concluded KVM Forum 2007 =<br />
== Agenda ==<br />
==== Wednesday August 29th ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
! Time<br />
! Session Topic<br />
! Speaker<br />
|-<br />
| 8:45 AM - 9:40 AM <br />
| [[Media:KvmForum2007$kf2007-keynote.pdf|KVM, One Year On]]<br />
| Avi Kivity, Qumranet <br />
|-<br />
| 9:40 AM - 10:30 AM <br />
| The future of virtualization - KVM <br />
| Sunil Saxena, Intel <br />
|-<br />
| 10:45 AM - 11:50 AM <br />
| KVM Security <br />
| Hadi Nahari, Montavista <br />
|-<br />
| 1:35 PM - 2:30 PM <br />
| KVM & S390 <br />
| Carsten Otte, IBM <br />
|-<br />
| 2:30 PM - 3:30 PM <br />
| KVM Lite, No Hardware Support, Fewer Calories <br />
| Rusty Russell, IBM <br />
|-<br />
| 4:00 PM - 5:00 PM <br />
| VT Roadmap, Hybrid Virtualization, Power Management, Fat vs Thin Hypervisor <br />
| Jun Nakajima, Intel <br />
|}<br />
<br />
==== Thursday August 30th ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
! Time<br />
! Session Topic<br />
! Speaker <br />
|-<br />
| 9:00 AM - 9:50 AM <br />
| [[Media:KvmForum2007$kvm_pv_drv.pdf| KVM Para-Virtualized Guest Drivers]]<br />
| Dor Laor, Qumranet <br />
|-<br />
| 9:50 AM - 10:50 AM <br />
| [[Media:KvmForum2007$AMD%20Extended%20Migration-KVMForum-ElsieWahlig.pdf| AMD Extended Migration]]<br />
| Elsie Wahlig, AMD <br />
|-<br />
| 9:50 AM - 10:50 AM <br />
| [[Media:KvmForum2007$kvm_iommu_talk.pdf| A KVM friendly IOMMU API for Linux]]<br />
| Joerg Roedel, AMD <br />
|-<br />
| 10:50 AM - 11:45 AM <br />
| [[Media:KvmForum2007$KVMForum07_Liguori.pdf| Automating VM Installation Testing]]<br />
| Anthony Liguori, IBM <br />
|-<br />
| 1:35 PM - 2:30 PM <br />
| [[Media:KvmForum2007$CIM4KVM.pdf| Standards Based Systems Management Solution for KVM]]<br />
| Anthony Liguori, IBM <br />
|-<br />
| 2:35 PM - 3:30 PM <br />
| [[Media:KvmForum2007$KVM-tuning-testing-SMP2.pdf| KVM Performance, SMP and in kernel PIC/APIC, KVM Validation]]<br />
| Eddie Dong, Yungen Zhao, Xin Lin, Intel <br />
|-<br />
| 4:00 PM - 5:35 PM <br />
| Open Session Panel <br />
| Avi Kivity, Qumranet <br />
|}<br />
<br />
==== Friday August 31st ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
! Time<br />
! Session Topic<br />
! Speaker <br />
|-<br />
| 9:00 AM - 9:45 AM <br />
| [[Media:KvmForum2007$Kvm_Live_Migration_Forum_2007.pdf| KVM Live Migration]]<br />
| Anthony Liguori, IBM & Uri Lubin, Qumranet <br />
|-<br />
| 9:50 AM - 10:35 AM <br />
| [[Media:KvmForum2007$shadowy-depths-of-the-kvm-mmu.pdf| The Shadowy Depths of the KVM MMU]]<br />
| Avi Kivity, Qumranet <br />
|-<br />
| 10:50 AM - 11:45 AM <br />
| [[Media:KvmForum2007$KVM-IA64_forum_083107.pdf| KVM for IPF (ia64)]]<br />
| Anthony Xu, Intel <br />
|-<br />
| 11:50 AM -12:45 PM <br />
| [[Media:KvmForum2007$KVM_Forum_-_Embedded_PowerPC.pdf| Implementing KVM for Embedded PowerPC]]<br />
| Hollis Blanchard, IBM <br />
|-<br />
| 12:45 PM - 1.30 PM <br />
| [[Media:KvmForum2007$KVM_Forum_Concluding_Keynote.pdf| Concluding Keynote]]<br />
| Benny Schnaider, Qumranet <br />
|}<br />
<br />
== Blogs ==<br />
http://www.osadl.org/Single-View.111+M5382caa6fee.0.html by Gerd König<br />
<br />
http://blog.railsmachine.com/2007/8/29/kvm-forum-2007 by Bradley Taylor<br />
<br />
http://vmblog.com/archive/2007/09/07/kvm-developer-community-gathers-in-first-cross-industry-event.aspx<br />
<br />
== Pictures ==<br />
* (from [[AmitShah]]) Pictures from the Pima Air and Space Museum and the Loews Ventana Canyon Resort: http://travel.webshots.com/album/560535651amWFjh<br />
<br />
__NOTOC__</div>WikiSysophttps://linux-kvm.org/index.php?title=KVM_Forum_2007&diff=1886KVM Forum 20072009-02-05T09:23:28Z<p>WikiSysop: /* Thursday August 30th */</p>
<hr />
<div>[http://www.qumranet.com/images/kvm_logo.gif]<br />
<br />
= Information on the recently-concluded KVM Forum 2007 =<br />
== Agenda ==<br />
==== Wednesday August 29th ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
! Time<br />
! Session Topic<br />
! Speaker<br />
|-<br />
| 8:45 AM - 9:40 AM <br />
| [[Media:KvmForum2007$kf2007-keynote.pdf|KVM, One Year On]]<br />
| Avi Kivity, Qumranet <br />
|-<br />
| 9:40 AM - 10:30 AM <br />
| The future of virtualization - KVM <br />
| Sunil Saxena, Intel <br />
|-<br />
| 10:45 AM - 11:50 AM <br />
| KVM Security <br />
| Hadi Nahari, Montavista <br />
|-<br />
| 1:35 PM - 2:30 PM <br />
| KVM & S390 <br />
| Carsten Otte, IBM <br />
|-<br />
| 2:30 PM - 3:30 PM <br />
| KVM Lite, No Hardware Support, Fewer Calories <br />
| Rusty Russell, IBM <br />
|-<br />
| 4:00 PM - 5:00 PM <br />
| VT Roadmap, Hybrid Virtualization, Power Management, Fat vs Thin Hypervisor <br />
| Jun Nakajima, Intel <br />
|}<br />
<br />
==== Thursday August 30th ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
! Time<br />
! Session Topic<br />
! Speaker <br />
|-<br />
| 9:00 AM - 9:50 AM <br />
| [[Media:KvmForum2007$kvm_pv_drv.pdf| KVM Para-Virtualized Guest Drivers]]<br />
| Dor Laor, Qumranet <br />
|-<br />
| 9:50 AM - 10:50 AM <br />
| [[Media:KvmForum2007$AMD%20Extended%20Migration-KVMForum-ElsieWahlig.pdf| AMD Extended Migration]]<br />
| Elsie Wahlig, AMD <br />
|-<br />
| 9:50 AM - 10:50 AM <br />
| [[Media:KvmForum2007$kvm_iommu_talk.pdf| A KVM friendly IOMMU API for Linux]]<br />
| Joerg Roedel, AMD <br />
|-<br />
| 10:50 AM - 11:45 AM <br />
| [[Media:KvmForum2007$KVMForum07_Liguori.pdf| Automating VM Installation Testing]]<br />
| Anthony Liguori, IBM <br />
|-<br />
| 1:35 PM - 2:30 PM <br />
| [[Media:KvmForum2007$CIM4KVM.pdf| Standards Based Systems Management Solution for KVM]]<br />
| Anthony Liguori, IBM <br />
|-<br />
| 2:35 PM - 3:30 PM <br />
| [[Media:KvmForum2007$KVM-tuning-testing-SMP2.pdf| KVM Performance, SMP and in kernel PIC/APIC, KVM Validation]]<br />
| Eddie Dong, Yungen Zhao, Xin Lin, Intel <br />
|-<br />
| 4:00 PM - 5:35 PM <br />
| Open Session Panel <br />
| Avi Kivity, Qumranet <br />
|}<br />
<br />
==== Friday August 31st ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
| <b>Time</b> <br />
| <b>Session Topic</b> <br />
| <b>Speaker</b> <br />
| <br />
|-<br />
| 9:00 AM - 9:45 AM <br />
| [attachment:Kvm_Live_Migration_Forum_2007.pdf KVM Live Migration] <br />
| Anthony Liguori, IBM & Uri Lubin, Qumranet <br />
| <br />
|-<br />
| 9:50 AM - 10:35 AM <br />
| [attachment:shadowy-depths-of-the-kvm-mmu.pdf The Shadowy Depths of the KVM MMU] <br />
| Avi Kivity, Qumranet <br />
| <br />
|-<br />
| 10:50 AM - 11:45 AM <br />
| [attachment:KVM-IA64_forum_083107.pdf KVM for IPF (ia64)] <br />
| Anthony Xu, Intel <br />
| <br />
|-<br />
| 11:50 AM -12:45 PM <br />
| [attachment:KVM_Forum_-_Embedded_PowerPC.pdf Implementing KVM for Embedded PowerPC] <br />
| Hollis Blanchard, IBM <br />
| <br />
|-<br />
| 12:45 PM - 1.30 PM <br />
| [attachment:KVM_Forum_Concluding_Keynote.pdf Concluding Keynote] <br />
| Benny Schnaider, Qumranet <br />
| <br />
|}<br />
<br />
== Blogs ==<br />
http://www.osadl.org/Single-View.111+M5382caa6fee.0.html by Gerd König<br />
<br />
http://blog.railsmachine.com/2007/8/29/kvm-forum-2007 by Bradley Taylor<br />
<br />
http://vmblog.com/archive/2007/09/07/kvm-developer-community-gathers-in-first-cross-industry-event.aspx<br />
<br />
== Pictures ==<br />
* (from [[AmitShah]]) Pictures from the Pima Air and Space Museum and the Loews Ventana Canyon Resort: http://travel.webshots.com/album/560535651amWFjh<br />
<br />
__NOTOC__</div>WikiSysophttps://linux-kvm.org/index.php?title=KVM_Forum_2007&diff=1885KVM Forum 20072009-02-05T09:18:51Z<p>WikiSysop: /* Wednesday August 29th */</p>
<hr />
<div>[http://www.qumranet.com/images/kvm_logo.gif]<br />
<br />
= Information on the recently-concluded KVM Forum 2007 =<br />
== Agenda ==<br />
==== Wednesday August 29th ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
! Time<br />
! Session Topic<br />
! Speaker<br />
|-<br />
| 8:45 AM - 9:40 AM <br />
| [[Media:KvmForum2007$kf2007-keynote.pdf|KVM, One Year On]]<br />
| Avi Kivity, Qumranet <br />
|-<br />
| 9:40 AM - 10:30 AM <br />
| The future of virtualization - KVM <br />
| Sunil Saxena, Intel <br />
|-<br />
| 10:45 AM - 11:50 AM <br />
| KVM Security <br />
| Hadi Nahari, Montavista <br />
|-<br />
| 1:35 PM - 2:30 PM <br />
| KVM & S390 <br />
| Carsten Otte, IBM <br />
|-<br />
| 2:30 PM - 3:30 PM <br />
| KVM Lite, No Hardware Support, Fewer Calories <br />
| Rusty Russell, IBM <br />
|-<br />
| 4:00 PM - 5:00 PM <br />
| VT Roadmap, Hybrid Virtualization, Power Management, Fat vs Thin Hypervisor <br />
| Jun Nakajima, Intel <br />
|}<br />
<br />
==== Thursday August 30th ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
| <b>Time</b> <br />
| <b>Session Topic</b> <br />
| <b>Speaker</b> <br />
| <br />
|-<br />
| 9:00 AM - 9:50 AM <br />
| [attachment:kvm_pv_drv.pdf KVM Para-Virtualized Guest Drivers] <br />
| Dor Laor, Qumranet <br />
| <br />
|-<br />
| 9:50 AM - 10:50 AM <br />
| [attachment:AMD%20Extended%20Migration-KVMForum-ElsieWahlig.pdf AMD Extended Migration] <br />
| Elsie Wahlig, AMD <br />
| <br />
|-<br />
| 9:50 AM - 10:50 AM <br />
| [attachment:kvm_iommu_talk.pdf A KVM friendly IOMMU API for Linux] <br />
| Joerg Roedel, AMD <br />
| <br />
|-<br />
| 10:50 AM - 11:45 AM <br />
| [attachment:KVMForum07_Liguori.pdf Automating VM Installation Testing] <br />
| Anthony Liguori, IBM <br />
| <br />
|-<br />
| 1:35 PM - 2:30 PM <br />
| [attachment:CIM4KVM.pdf Standards Based Systems Management Solution for KVM] <br />
| Anthony Liguori, IBM <br />
| <br />
|-<br />
| 2:35 PM - 3:30 PM <br />
| [attachment:KVM-tuning-testing-SMP2.pdf KVM Performance, SMP and in kernel PIC/APIC, KVM Validation] <br />
| Eddie Dong, Yungen Zhao, Xin Lin, Intel <br />
| <br />
|-<br />
| 4:00 PM - 5:35 PM <br />
| Open Session Panel <br />
| Avi Kivity, Qumranet <br />
| <br />
|}<br />
==== Friday August 31st ====<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
| <b>Time</b> <br />
| <b>Session Topic</b> <br />
| <b>Speaker</b> <br />
| <br />
|-<br />
| 9:00 AM - 9:45 AM <br />
| [attachment:Kvm_Live_Migration_Forum_2007.pdf KVM Live Migration] <br />
| Anthony Liguori, IBM & Uri Lubin, Qumranet <br />
| <br />
|-<br />
| 9:50 AM - 10:35 AM <br />
| [attachment:shadowy-depths-of-the-kvm-mmu.pdf The Shadowy Depths of the KVM MMU] <br />
| Avi Kivity, Qumranet <br />
| <br />
|-<br />
| 10:50 AM - 11:45 AM <br />
| [attachment:KVM-IA64_forum_083107.pdf KVM for IPF (ia64)] <br />
| Anthony Xu, Intel <br />
| <br />
|-<br />
| 11:50 AM -12:45 PM <br />
| [attachment:KVM_Forum_-_Embedded_PowerPC.pdf Implementing KVM for Embedded PowerPC] <br />
| Hollis Blanchard, IBM <br />
| <br />
|-<br />
| 12:45 PM - 1.30 PM <br />
| [attachment:KVM_Forum_Concluding_Keynote.pdf Concluding Keynote] <br />
| Benny Schnaider, Qumranet <br />
| <br />
|}<br />
<br />
== Blogs ==<br />
http://www.osadl.org/Single-View.111+M5382caa6fee.0.html by Gerd König<br />
<br />
http://blog.railsmachine.com/2007/8/29/kvm-forum-2007 by Bradley Taylor<br />
<br />
http://vmblog.com/archive/2007/09/07/kvm-developer-community-gathers-in-first-cross-industry-event.aspx<br />
<br />
== Pictures ==<br />
* (from [[AmitShah]]) Pictures from the Pima Air and Space Museum and the Loews Ventana Canyon Resort: http://travel.webshots.com/album/560535651amWFjh<br />
<br />
__NOTOC__</div>WikiSysophttps://linux-kvm.org/index.php?title=Main_Page&diff=1884Main Page2009-02-05T09:16:10Z<p>WikiSysop: /* KVM Forum 2008 */</p>
<hr />
<div><br />
== Kernel Based Virtual Machine ==<br />
<br />
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream. <br />
<br />
Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.<br />
<br />
The kernel component of KVM is included in mainline Linux, as of 2.6.20.<br />
<br />
KVM is open source software.<br />
<br />
=== KVM Forum 2008 ===<br />
[[Image:Front Page$banner kvm forum 2008.jpg]]<br />
<br />
Notes and presentations form the event: [[KvmForum2008]]<br />
<br />
=== KVM Forum 2007 ===<br />
Notes and presentations form the event: [[KvmForum2007]]</div>WikiSysophttps://linux-kvm.org/index.php?title=Main_Page&diff=1883Main Page2009-02-05T09:14:23Z<p>WikiSysop: /* KVM Forum 2008 */</p>
<hr />
<div><br />
== Kernel Based Virtual Machine ==<br />
<br />
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream. <br />
<br />
Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.<br />
<br />
The kernel component of KVM is included in mainline Linux, as of 2.6.20.<br />
<br />
KVM is open source software.<br />
<br />
=== KVM Forum 2008 ===<br />
[[Image:Front Page$banner kvm forum 2008.jpg]]<br />
<br />
Notes and presentations form the event: [[KvmForum2008]]</div>WikiSysophttps://linux-kvm.org/index.php?title=Main_Page&diff=1882Main Page2009-02-05T09:14:01Z<p>WikiSysop: /* Kernel Based Virtual Machine */</p>
<hr />
<div><br />
== Kernel Based Virtual Machine ==<br />
<br />
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream. <br />
<br />
Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.<br />
<br />
The kernel component of KVM is included in mainline Linux, as of 2.6.20.<br />
<br />
KVM is open source software.<br />
<br />
=== KVM Forum 2008 ===<br />
[[Image:Front Page$banner kvm forum 2008.jpg]]<br />
Notes and presentations form the event: [[KvmForum2008]]</div>WikiSysophttps://linux-kvm.org/index.php?title=Initialization&diff=1880Initialization2009-02-04T17:11:02Z<p>WikiSysop: </p>
<hr />
<div>The initialization of a kvm.<br />
<br />
Here is the Openoffice-Impress File.<br />
<br />
[[Media:loading_modules.odp]]<br />
<br />
[[Image:loading_modules.jpg]]<br />
[[Image:loading_modules1.jpg]]<br />
[[Image:loading_modules2.jpg]]<br />
[[Image:loading_modules3.jpg]]<br />
[[Image:loading_modules4.jpg]]<br />
[[Image:loading_modules5.jpg]]<br />
[[Image:loading_modules6.jpg]]</div>WikiSysophttps://linux-kvm.org/index.php?title=File:Loading_modules6.jpg&diff=1879File:Loading modules6.jpg2009-02-04T17:09:17Z<p>WikiSysop: </p>
<hr />
<div></div>WikiSysophttps://linux-kvm.org/index.php?title=File:Loading_modules5.jpg&diff=1878File:Loading modules5.jpg2009-02-04T17:09:00Z<p>WikiSysop: </p>
<hr />
<div></div>WikiSysophttps://linux-kvm.org/index.php?title=File:Loading_modules4.jpg&diff=1877File:Loading modules4.jpg2009-02-04T17:08:37Z<p>WikiSysop: </p>
<hr />
<div></div>WikiSysophttps://linux-kvm.org/index.php?title=File:Loading_modules3.jpg&diff=1876File:Loading modules3.jpg2009-02-04T17:08:19Z<p>WikiSysop: </p>
<hr />
<div></div>WikiSysophttps://linux-kvm.org/index.php?title=File:Loading_modules2.jpg&diff=1875File:Loading modules2.jpg2009-02-04T17:07:57Z<p>WikiSysop: </p>
<hr />
<div></div>WikiSysophttps://linux-kvm.org/index.php?title=File:Loading_modules1.jpg&diff=1874File:Loading modules1.jpg2009-02-04T17:07:32Z<p>WikiSysop: </p>
<hr />
<div></div>WikiSysophttps://linux-kvm.org/index.php?title=File:Loading_modules.jpg&diff=1873File:Loading modules.jpg2009-02-04T17:07:11Z<p>WikiSysop: </p>
<hr />
<div></div>WikiSysophttps://linux-kvm.org/index.php?title=Initialization&diff=1872Initialization2009-02-04T17:06:58Z<p>WikiSysop: </p>
<hr />
<div>The initialization of a kvm.<br />
<br />
Here is the Openoffice-Impress File.<br />
<br />
attachment:loading_modules.odp<br />
<br />
[[Image:loading_modules.jpg]]<br />
[[Image:loading_modules1.jpg]]<br />
[[Image:loading_modules2.jpg]]<br />
[[Image:loading_modules3.jpg]]<br />
[[Image:loading_modules4.jpg]]<br />
[[Image:loading_modules5.jpg]]<br />
[[Image:loading_modules6.jpg]]</div>WikiSysophttps://linux-kvm.org/index.php?title=Initialization&diff=1871Initialization2009-02-04T16:59:50Z<p>WikiSysop: </p>
<hr />
<div>The initialization of a kvm.<br />
<br />
Here is the Openoffice-Impress File.<br />
<br />
attachment:loading_modules.odp<br />
<br />
attachment:loading_modules.jpg<br />
attachment:loading_modules1.jpg<br />
attachment:loading_modules2.jpg<br />
attachment:loading_modules3.jpg<br />
attachment:loading_modules4.jpg<br />
attachment:loading_modules5.jpg<br />
attachment:loading_modules6.jpg</div>WikiSysophttps://linux-kvm.org/index.php?title=Vl_runthrough&diff=1870Vl runthrough2009-02-04T16:58:40Z<p>WikiSysop: </p>
<hr />
<div>Graphical roundup of qemu-system-x86_64 startup. qemu-system-x86_64's entry point is the main() function in qemu/vl.c.<br />
<br />
Here is the Openoffice-draw file, where you can simply zoom with ctrl+mousewheel.<br />
<br />
[[Media:$$Documents$vl-runthrough$vl-runthrough.odg|vl-runthrough.odg]]<br />
[[Image:$$Documents$vl-runthrough$vl-runthrough.jpg|vl-runthrough.jpg]]</div>WikiSysophttps://linux-kvm.org/index.php?title=File:$$Documents$vl-runthrough$vl-runthrough.jpg&diff=1869File:$$Documents$vl-runthrough$vl-runthrough.jpg2009-02-04T16:58:16Z<p>WikiSysop: </p>
<hr />
<div></div>WikiSysophttps://linux-kvm.org/index.php?title=Buildup&diff=1868Buildup2009-02-04T16:06:28Z<p>WikiSysop: </p>
<hr />
<div>Here is the setup which is used with kvm and qemu. Qemu can run as standalone, with kqemu module or with kvm module. In normal mode, only the user code is executed directly and the kernel code is still dynamically translated by QEMU. When KQEMU runs in full virtualization mode, both guest kernel and user code are executed directly on the host CPU. When run with kvm module, the CPU extensions (svm or vmx) are used. More information on http://fabrice.bellard.free.fr/qemu/kqemu-doc.html<br />
<br />
[[Image:Documents$$buildup$aufbau.jpg]]</div>WikiSysophttps://linux-kvm.org/index.php?title=Buildup&diff=1867Buildup2009-02-04T16:05:26Z<p>WikiSysop: </p>
<hr />
<div>Here is the setup which is used with kvm and qemu. Qemu can run as standalone, with kqemu module or with kvm module. In normal mode, only the user code is executed directly and the kernel code is still dynamically translated by QEMU. When KQEMU runs in full virtualization mode, both guest kernel and user code are executed directly on the host CPU. When run with kvm module, the CPU extensions (svm or vmx) are used. More information on http://fabrice.bellard.free.fr/qemu/kqemu-doc.html<br />
<br />
[[Image:aufbau.jpg]]</div>WikiSysophttps://linux-kvm.org/index.php?title=File:Documents$$small_look_inside_picture$kvm_init1.jpg&diff=1866File:Documents$$small look inside picture$kvm init1.jpg2009-02-04T16:03:35Z<p>WikiSysop: </p>
<hr />
<div></div>WikiSysop