On Thu, Mar 18, 2010 at 4:17 PM, Neville Clark <nev@xxxxxxxxxxx> wrote: > Hi Cam, > > On Thu, 2010-03-18 at 11:17 -0600, Cam Macdonell wrote: > >> >> Can you expand on how it doesn't run? I would suggest using the >> master branch and patching it with my patches. As well as patching, >> you need to run with something like >> >> -ivshmem 128,myshm >> >> to actually create the shared memory device. > > Just to be clear, I think I have successfully loaded the required module > into the guest, and it is only on the host that I am having trouble. > > I am currently using virt-manager and distro KVM to get something up. > I am much happier with a GUI then command-line. using shared memory requires a special command-line argument '-ivshmem' that libvirt (the library/API that virt-manager uses to control VMs) does not know about. So you will need to use the command-line at this point. > > I had hoped that I would be able to patch or load a module into this > Ubuntu's KVM. You need to compile your own version of the qemu-kvm executable. > Installing KVM from Ubuntu does NOT seems to change the > running Linux kernel 'uname -a' after install of KVM is > "Linux dingo3 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 04:38:19 UTC > 2010 x86_64 GNU/Linux" > > What I have tried to do is build and install qemu-kvm from the git tree > *without* patches. And then run an already configured guest using > virt-manager. The result is that using the HEAD, after about 30 secs I > get a pop-up with > "Error starting domain: monitor socket did not show up.: Connection > refused" > with details of: > "Traceback (most recent call last): > File "/usr/share/virt-manager/virtManager/engine.py", line 493, in > run_domain > vm.startup() > File "/usr/share/virt-manager/virtManager/domain.py", line 558, in > startup > self.vm.create() > File "/usr/lib/python2.6/dist-packages/libvirt.py", line 293, in > create > if ret == -1: raise libvirtError ('virDomainCreate() failed', > dom=self) > libvirtError: monitor socket did not show up.: Connection refused" That appears to be a different error related to libvirt trying to connect to the Qemu monitor which is a control interface for Qemu/KVM. This has nothing to do with shared memory. > > > after switching version qemu-kvm-0.11.0 and repeating above I get > immediate (no 30 sec delay) pop-up > "Error starting domain: internal error cannot parse QEMU version number > in 'QEMU PC emulator version 0.11.0 (kvm-devel), Copyright (c) 2003-2008 > Fabrice Bellard'" > with details of: > "Traceback (most recent call last): > File "/usr/share/virt-manager/virtManager/engine.py", line 493, in > run_domain > vm.startup() > File "/usr/share/virt-manager/virtManager/domain.py", line 558, in > startup > self.vm.create() > File "/usr/lib/python2.6/dist-packages/libvirt.py", line 293, in > create > if ret == -1: raise libvirtError ('virDomainCreate() failed', > dom=self) > libvirtError: internal error cannot parse QEMU version number in 'QEMU > PC emulator version 0.11.0 (kvm-devel), Copyright (c) 2003-2008 Fabrice > Bellard'" > > Primary questions are: > What is the simplest starting point to use your patches? Fetch the qemu-kvm git repo here: git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git compile and run a guest VM by command-line. Once you have that, apply the qemu-kvm patch and try recompiling/running. > Is there a module for the HOST that can be loaded into a running KVM? Shared memory requires no modification to the host kernel at all. But you need to modify the Qemu/KVM executable that runs on the host. > Do I need to build and install the Linux kernel from the KVM git tree? No, you don't need to compile a whole kernel, you can build the kernel module separately. I have a makefile to do this in the git repo you downloaded from gitorious. But leave that for now and let's focus on compiling qemu/kvm with the patches, then we'll move on to the guest kernel. Cam -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html