You are not logged in.

#1 2010-12-15 20:52:57

vgr
Member
Registered: 2010-05-31
Posts: 8

Hyper-V & Linux Integeration Services

I've been hacking for the majority of the day at getting LIS working on Arch, and any tips would be helpful.

I'm not fantastic at working with the under belly of linux, and usually I'm dependent on forums/guides.  This one has me stumped.

From what I can gather, LIS drivers has been included into the Linux Kernel around 2.6.35.  Arch being on 36, should then have these drivers. 

For the most part, it seems to, as the Integrated Shutdown feature works.  However, I can't seem to get the mouse in X to work with remote desktop.  This appears to be because the system doesn't know how to recognize "Enlightened" drivers.  Therefore, I've attempted to install the LIS drivers using the package available on Microsoft's website. 

http://www.microsoft.com/downloads/en/d … b5b9b64551

When I go to make the drivers, a series of errors pop up  in reference to osd.c & osd.o

So I attempted a different approach, I tried installing Xen's Satori drivers. 

http://www.xen.org/download/satori.html

When I go to do this, I get the error vmbus driver not installed.

Thus, my question is two part...

1) has anyone successfully installed LIS for Arch and gotten the "Enlightened" drivers to work
2) (now this is where my poor understanding of linux shows) Would it be possible for me to 'inject' vmbus.ko into the kernel drivers?  If so, how would I go about doing this.

Thanks in advance.

Offline

#2 2011-01-06 21:37:34

vgr
Member
Registered: 2010-05-31
Posts: 8

Re: Hyper-V & Linux Integeration Services

I'm still fumbling around with this issue.  One thing I've come across is this for Ubuntu

http://social.technet.microsoft.com/wik … per-v.aspx

Obviously adding modules to Arch is different.  I added the modules to rc.conf

This appears to work.  In dmesg.log I get messages like

"VMBUS: Windows hypervisor detected! Retrieving more info..."

Which to me appears to be success that the modules are loaded.

Furthermore, I can power down the system using Hyperv's power button, which if the modules weren't loading, wouldn't work.

However I am still getting the same error from Satori stating vmbus driver is not installed. 

Anyone have any thoughts? Bueller...

Offline

#3 2011-01-07 14:25:07

vgr
Member
Registered: 2010-05-31
Posts: 8

Re: Hyper-V & Linux Integeration Services

I think I have finally found the problem I'm having with Satori and Arch.

From the comments section:

http://blog.allanglesit.com/Blog/tabid/ … x-VMs.aspx


"The mouse integration was not written for the new kernel, as such it does not reflect the correct module names in the setup.pl and some of the MAKEFILEs of the setup, I have been working on making the appropriate edits, however at this point I am not done verifying the instructions.

For those who don't know the version of the ICs this was written for used the module names (vmbus, storvsc, blkvsc, netvsc) where as the Linux Kernel uses (hv_vmbus, hv_storvsc, hv_blkvsc, hv_netvsc). My assumption is that once these references are corrected and the installation run then it should work..."

The fix, is a bit above my skill level, but I'm going to try to update satori on my own by fixing the references.

Offline

#4 2011-01-11 15:27:30

vgr
Member
Registered: 2010-05-31
Posts: 8

Re: Hyper-V & Linux Integeration Services

I have brought this problem as far as I can, but for reference's sake, I want to document what I've done for anyone else looking to do this. 

First I updated all of the make files and the setup script to reflect changes in the linux kernel from when Satori was originally released.  Microsoft's Linux Integrated Services placed the hyperv drivers in /kernel/drivers/vmbus/ whereas once these drivers were integrated into the kernel they are now located in /kernel/drivers/staging/hv/.  Also, the modules were named differently, for instance vmbus.ko in Satori is now hv_vmbus.ko

./setup.pl

    Changed line 57 to reflect the proper name of the hyperv drivers in the linux kernel. 
   
    From
        if (!CheckModule("vmbus.ko")) {
    To
        if (!CheckModule("hv_vmbus.ko")) {

    Changed line 67 to reflect the proper location of the hyperv drivers in the linux kernel.
   
    From
        my $modulepath = "/lib/modules/" . $kernel_rel . "/kernel/drivers/vmbus/" . $module;
    To
        my $modulepath = "/lib/modules/" . $kernel_rel . "/kernel/drivers/staging/hv/" . $module;

./dist/Makefile
    Changed line 25 to reflect the proper location of the hyperv drivers
   
    From
        INSTALL_DIR := /lib/modules/$(shell uname -r)/kernel/drivers/vmbus
    To
        INSTALL_DIR := /lib/modules/$(shell uname -r)/kernel/drivers/staging/hv
       
./dist/inputvsc/Makefile
    Changed line 12 to reflect the proper location of the hyperv drivers
   
    From
        VMBUSDIR := /lib/modules/$(shell uname -r)/kernel/drivers/vmbus
    To
        VMBUSDIR := /lib/modules/$(shell uname -r)/kernel/drivers/staging/hv

Once these references were changed, this allowed the setup script to properly detect that the hyperv drivers were installed correctly.  The first thing the script attempts to do is build the HID driver.  With the hid drivers included with the Satori cd, this has compile errors with hid-input.c.  On a whim, I replaced hid-input.c with the file included in kernel version 2.6.36.3 which is the kernel version running on my arch VM. 


By doing this the HID driver builds successfully, but a new error occurs.

    cp: cannot stat '/lib/modules/2.6.36-ARCH/kernel/drivers/staging/hv/Module*.symvers' No such file or directory

To clear this warning I commented out the following lines

./dist/inputvsc/Makefile

Line 40 & 41
    #cp -f $(VMBUSDIR)/Module*.symvers $(PWD)/vmbus.symvers
    #cat $(PWD)/hid.symvers $(PWD)/vmbus.symvers > $(PWD)/Modules.symvers   


This allows the setup script to progress to installing inputvsc driver, however a new compile error occurs This new error yells about osd.c


Like the last compile error, I attempted to fix the error by replacing the old file with the new one out of the kernel I replaced  ./dist/vmbus/osd.c with osd.c out of 2.6.36.3. This unfortunately did not fix the issue.

At this point I am not a good enough coder to debug why the file compiling is failing.  As a side note I did all of these steps with OpenSUSE, and I was able to progress a little farther (replacing files with 2.6.34.7 rather than 2.6.34.7)  and I started to get errors involving VmbusApi.H in reference to inputvsc_drv.c

Since inputvsc_drv.c is not apart of the kernel and was written by Citrix, there was no newer file to replace it with, and once again I gave up due to being unable to troubleshoot complex compiling issues.

I did some googling to see if the inputvsc driver is going to get included with the kernel at any point but couldn't find any information.  I guess at this point I'll just run arch on virtualbox and be happy with it.

Offline

#5 2011-09-07 15:33:48

Victor Miasnikov
Member
Registered: 2011-09-07
Posts: 8

Re: Hyper-V & Linux Integeration Services

vgr wrote:

First I updated all of the make files and the setup script to reflect changes in the linux kernel from when Satori was originally released.  Microsoft's Linux Integrated Services placed the hyperv drivers in /kernel/drivers/vmbus/ whereas once these drivers were integrated into the kernel they are now located in /kernel/drivers/staging/hv/.  Also, the modules were named differently, for instance vmbus.ko in Satori is now hv_vmbus.ko

Don't worry:


0) Satory not need
Linux on Hyper-V How-To FIX “Mouse not captured in Remote Desktop session”
http://vvm.blog.tut.by/2011/02/22/hyper … _in_linux/

vvm wrote:

Without Satori, mouse work in Linux Guest if connect to it from Windows _directly_ :

http://technet.microsoft.com/en-us/libr … 42454.aspx
==

vvm wrote:

When I try to control a virtual machine, I cannot use the mouse. I am using Remote Desktop Connection to connect to a server running Hyper-V.
Cause: When you use Hyper-V Manager to connect to a virtual machine, Virtual Machine Connection provides the connection to the virtual machine. However, use of Virtual Machine Connection within a Remote Desktop Connection session is not supported until integration services ( VVM: integration services _with_ synthectic mouse support) are installed. As a result, lack of mouse functionality is expected behavior.

Solution: Avoid using Virtual Machine Connection within a Remote Desktop Connection session until integration services are installed. There are several ways you can accomplish this:

. . .
On a supported client computer, install the Hyper-V management tools to install Virtual Machine Connection on the computer ( VVM: «computer» need read as «personal workstantion» ) and establish a Virtual Machine Connection session to the virtual machine. For more information, see the Windows Server 2008 Technical Library (http://go.microsoft.com/fwlink/?LinkId=143558).

==

1)

See
https://bbs.archlinux.org/viewtopic.php?id=103981
==

vvm wrote:

HowTo: Install Arch Linux on Hyper-V
http://vvm.blog.tut.by/2011/09/06/howto … n-hyper-v/



Boot Arch Linux Installer ( I'm use archlinux-2011.08.19-core-dual.iso )

. . .

!!!
!!! Don't forget add hv_storvsc in MODULES= to /etc/mkinitcpio.conf
!!! before reboot step of /arch/setup
!!!

/etc/mkinitcpio.conf
==

MODULES="hv_storvsc"

==

. . .

==


1b)
hv_netvsc ( non-Legacy LanCard  module)  already include in kernel and automaticly start by udev

1c)  Shutdown from MMC or SCVMM work fine ( i.e. hv_utils is Ok)

Last edited by Victor Miasnikov (2011-09-07 15:59:20)

Offline

Board footer

Powered by FluxBB