Microsoft Knowledge Base Email Alertz

Linux Integration Services no longer function after a kernel upgrade

Search KbAlertz

Advanced Search

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]











Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

Article ID: 2387594 - Last Review: November 22, 2010 - Revision: 4.0

Linux Integration Services no longer function after a kernel upgrade

Symptoms

Consider the following scenario:

  •  You are running Linux based virtual machines on Hyper-V with the 2.1 version of the Linux Integration Services installed.
  •  You apply an updated kernel in the Linux based virtual machine.

After applying the kernel update, the Linux based guest operating system fails to boot with "Unable to mount root file system".

Cause

This problem occurs because the Linux Integration Services must be recompiled after a kernel upgrade to function.

Resolution

To prevent this issue, enable Dynamic Kernel Module Support (DKMS) before applying kernel updates.

 

To use DKMS with Red Hat:

1.       Install the latest DKMS package:

wget http://linux.dell.com/dkms/permalink/dkms-2.1.1.2-1.noarch.rpm

rpm -ivh dkms-2.1.1.2-1.noarch.rpm

 

2.       Copy the Linux Integration Services source code to the virtual machine. After attaching the LinuxIC v21.iso file to the virtual machine, run the following commands in the virtual machine:

a.       Copy the contents of the ISO to the virtual machine.

cp -R <cdrom mount point> /usr/src/linuxic-2.1

b.      Copy the dkms.conf file to /usr/src/linuxic-2.1

cp /usr/src/linuxic-2.1/scripts/dkms.conf /usr/src/linuxic-2.1/

c.       Add these four extra lines to /etc/modprobe.conf.

alias scsi_hostadapter1 vmbus

alias scsi_hostadapter2 blkvsc

alias scsi_hostadapter3 storvsc

alias scsi_hostadapter4 netvsc

 

3.       Install the drivers through DKMS.

dkms add -m linuxic -v 2.1

dkms build -m linuxic -v 2.1

dkms install --force -m linuxic -v 2.1

reboot

 

4.       After the reboot, confirm that the drivers have loaded successfully by executing the following command:

# /sbin/modinfo vmbus

filename:       /lib/modules/2.6.18-194.el5/kernel/drivers/vmbus/vmbus.ko

version:        2.1.25

license:        GPL

depends:

vermagic:       2.6.18-194.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1

parm:           vmbus_irq:int

parm:           vmbus_loglevel:int

The kernel can now be updated without affecting the currently installed kernel modules.

 

To use DKMS with Novell SUSE Linux Enterprise Server 10 or 11:

 

1.       Upgrade the module-init-tools package, and install the latest DKMS package. The module-init-tools package can be downloaded through YaST or from the Novell web site.

rpm -U module-init-tools-3.4-70.7.1.x86_64.rpm

wget http://linux.dell.com/dkms/permalink/dkms-2.1.1.2-1.noarch.rpm

rpm -ivh dkms-2.1.1.2-1.noarch.rpm

 

2.       Copy the Linux Integration Services source code to the virtual machine. After attaching the LinuxIC v21.iso file to the virtual machine, run the following commands in the virtual machine:

a.       Copy the contents of the ISO to the virtual machine.

cp -R <cdrom mount point> /usr/src/linuxic-2.1

b.      Copy the dkms.conf file to /usr/src/linuxic-2.1

cp /usr/src/linuxic-2.1/scripts/dkms.conf /usr/src/linuxic-2.1/

c.       Edit /etc/modprobe.d/unsupported-modules to read:

allow_unsupported_modules 1

 

3.       Install the drivers through DKMS.

dkms add -m linuxic -v 2.1

dkms build -m linuxic -v 2.1

dkms install --force -m linuxic -v 2.1

4.       Modify /boot/grub/menu.lst and /etc/fstab

a.       Create a backup of the original files:

cp /boot/grub/menu.lst /boot/grub/menu.lst/bak

cp /etc/fstab /etc/fstab.bak

b.      As the root user, edit /etc/fstab and make the following changes:

c.       Sections that begin with /dev/disk/* should be replaced by their /dev/hd* equivalents, so that /etc/fstab looks similar to the following example:

/dev/hda1 swap                 swap       defaults              0 0

/dev/hda2 /                    ext3       acl,user_xattr        1 1

d.      Save the changes to /etc/fstab.

e.      As the root user, edit /boot/grub/menu.lst and modify the kernel options as follows:

root=/dev/hda2 resume=/dev/hda1

f.        Save the changes to /boot/grub/menu.lst

g.       Reboot the virtual machine.

 

 

5.       After the reboot, confirm that the drivers have loaded successfully by executing the following command:

# /sbin/modinfo vmbus

filename:       /lib/modules/2.6.16.60-0.54.5-smp/kernel/drivers/vmbus/vmbus.ko

version:        2.1.25

license:        GPL

depends:

vermagic:       2.6.16.60-0.54.5-smp SMP gcc-4.1

parm:           vmbus_irq:int

parm:           vmbus_loglevel:int

6.       Before a kernel update, restore the original /etc/fstab and /boot/grub/menu.lst files, then reboot the VM.

# cp /etc/fstab.bak /etc/fstab

# cp /boot/grub/menu.lst.bak /boot/grub/menu.lst

# reboot

7.       Upgrade the kernel and the kernel-source package, then reboot.

8.       After the reboot into the new kernel, follow the directions in the User’s Guide to modify /etc/fstab and /boot/grub/menu.lst:

a.       As the root user, edit /etc/fstab and make the following changes:

b.      Sections that begin with /dev/disk/* should be replaced by their /dev/hd* equivalents, so that /etc/fstab looks similar to the following example:

/dev/hda1 swap                 swap       defaults              0 0

/dev/hda2 /                    ext3       acl,user_xattr        1 1

c.       Save the changes to /etc/fstab.

d.      As the root user, edit /boot/grub/menu.lst and modify the kernel options as follows:

root=/dev/hda2 resume=/dev/hda1

e.      Save the changes to /boot/grub/menu.lst

f.        Reboot the virtual machine.

 

 

 

Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use (http://go.microsoft.com/fwlink/?LinkId=151500) for other considerations.

APPLIES TO
  • Windows Server 2008 Standard
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Datacenter
  • Microsoft Hyper-V Server 2008
  • Microsoft Hyper-V Server 2008 R2
Keywords: 
kbhyperv KB2387594
       

Community Feedback System

Very often, it takes hours to solve a problem. Very often, you've looked high and low, and have tried a lot of solutions. When you finally found it, chances are, it was because someone else helped you. Here's your chance to give back. Use our community feedback tool to let others know what worked for you and what didn't.

Please also understand that the community feedback system is not warranted to be correct, it's simply a system that we've built to let people try and help each other. If something in a feedback response doesn't make sense to you, or you're not comfortable making changes that the feedback talks about (like registry edits), please consult a professional.

Thank you for using kbAlertz.com Feedback System.

-- Scott Cate