Re: KVM Shared memory ivshmem enquiry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux