Microsoft Officially supports RedHat, CentOS and SUSE Linux Distributions as VMs running on Hyper-V. Linux Integration Components (LIC) or Linux Integration Services are the software components released by Microsoft that need to be installed on Linux VMs to take full advantage of Hyper-V features.
Linux Integration Components are a set of drivers that enable synthetic device support in supported Linux virtual machines running on Microsoft Hyper-V
These components when installed on Linux mainly provide below features
1. Drivers : Synthetic network controller (NIC), IDE and SCSI storage controllers support
2. Time sync : Clock inside the virtual machine will be in synch with the clock on the Host
3. Integrated Shutdown : Shut down from either Hyper-V Manager or SCVMM
4. Symmetric Multi-Processing (SMP) Support : Support up to 4 virtual processors Per VM
5. Heartbeat : Allows Host to detect if the virtual machine is running and responsive
6. Integrated Mouse Support : Seamless mouse integration when used with the Linux GUI
If Linux IC are not installed one might be presented with one or all of the below errors
Note: This post assumes that one has install CentOS/RHEL/Scientific Linux 6.2 on HyperV and has mounted Linux IC v3.2.iso onto DVD Drive of VM. If not please follow link below this post for Picture guide of CentOS server minimal installation
The documentation available along with LIC v3.2 looks good, but, unfortunately when trying to install you will get an error similar to the below one
ls: cannot access kmod-hyper-v-rhel6-43.1.x86_64.rpm: no such file or directory
ls: cannot access hyper-v-rhel6-43.1.x86_64.rpm: no such file or directory RPM’s are missing
There is a simple work around to this by changing the working directory to the mount point of Linux IC drive and invoking ./install.sh script.
Below are the commands to run to install Linux IC and reboot, once prompted, as shown in the above screenshot
mount /dev/cdrom /media
cd /media
./install.sh
reboot
When VM is rebooted you will notice that there is no network connectivity to your VM. Follow steps below for configuring network connectivity
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Press i Key on keyboard and type the below lines
DEVICE=”eth0″
ONBOOT=”yes”
HWADDR=
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=”System eth0″
HWADDR is the MAC address of the NIC that can be found from settings menu of VM in Hyper-V (Below screenshot for your reference) and DHCP is the mode of getting IP Address
Now use below Key Combination to save the file and close
Esc
Shift + :
wq
Enter
Use the below commands to edit, Save and close on more file
vi /etc/sysconfig/network
Enter below text, save and close
NETWORKING=yes
Now Run ifup eth0 and you should be connected to network or else take a reboot.
With this our CentOS/RHEL/Scientific Linux 6.2 can take full advantage of Hyper-V synthetic drivers and ready for production 🙂
Useful Links:
Click here for RedHat Official Site
Click here for CentOS Official Site
Click here for Scientific Linux Official Site
Here is the official download page of Linux Integration Components v3.2 for Hyper-V
Pictorial Walkthrough of installing CentOS 6.2 minimal on Hyper-V with LICv3.2
Note: Cross posted from Experience – Inspire – Contribute.
Permalink
Awesome, worked great. thank you!
These instructions are just what I needed in terms of details! Unfortunately, I’m getting an error when testing the connection and on rebooting the virtual system that the MAC address was not expected. Do you have any other advice for the MAC address? Thank you!
Hi, You can try using Static MAC address in Hyper-V Virtual Machine Settings instead of Dynamic and provide the same in /etc/sysconfig/network-scripts/ifcfg-eth0
That did it! I’ve finally got the network connection working from the VM. I did set up a new network adapter for the VM (in settings) that was a “Legacy” type in case you are interested. Then entered a MAC address that was in the range specified in HyperV under Virtual Network Manager (in Actions). Thanks so much for your help! These were the clearest, most detailed instructions I could find and helped me solve a frustrating problem.
Has any one seen the following error while installing Linux Integration Component 3.2 on RHEL6U3x86_64 Hyper-V VM.?
kernel(clocksource_register) = 0xd88be65d is needed by kmod-microsoft-hyper-v-rhel6-43.1.x86_64
I installed the packages using –nodeps option and the mouse is working fine now. But I don’t know whether it has to do anything with my network. I have chosen Legacy Network Adapter, even before installing the Linux Integration components, I was getting the IP from the DHCP server, but unable to access the outside network. Even not able to ping the RHEL6U3 VM’s IP from Host. I have tried giving static MAC address for the Legacy adapter, and it was in vain.
Awesome – the only thing I would add to this is add GATEWAY=xxx.xxx.xxx.xxx to /etc/sysconfig/network – that is assuming that you use a static address instead of dhcp
i follow All the Step but Still I m not Able to see the eth0 in Redhat Linux
can you Guide me
check if you have ifcfg-eth0 in /etc/sysconfig/network-scripts/ directory
I am also getting a “Failed dependencies” error:
kernel(clocksource_register) = 0xd88be65d is needed by kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64
I was trying to do a minimal install of centOS 6.3 and i was using LinuxIC v33
But after install I had no network connection so I was trying this tutorial.
Failed Dependencies error is due to the way kernel specific kmod rpm by Microsoft. Run below commands and it should work
rpm -Uvh –nodeps kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm
rpm -Uvh –nodeps microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm
Thanks for the reply! I installed centOS 6.2 and the steps above worked fine. After I had network access I ran a yum update.
CentOS 6.3 minimal + LinuxIC v33.iso
login as: root
# mount /dev/cdrom /media
mount: block device /dev/sr0 is write-protected, mounting read-only
# cd /media
# ls
install.sh microsoft-hyper-v-rhel63.3-4.20120605.src.rpm
kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm
kmod-microsoft-hyper-v-rhel63.3-4.20120606.i686.rpm microsoft-hyper-v-rhel63.3-4.20120606.i686.rpm
LICENSE_GPL microsoft-hyper-v-rhel63.3-4.20120606.src.rpm
microsoft-hyper-v-debuginfo-rhel63.3-4.20120605.x86_64.rpm upgrade.sh
microsoft-hyper-v-debuginfo-rhel63.3-4.20120606.i686.rpm
# rpm -Uvh –nodeps kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm
error: open of –nodeps failed: No such file or directory
warning: kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6a39758c: NOKEY
# rpm -Uvh –nodeps microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm
error: open of –nodeps failed: No such file or directory
warning: microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6a39758c: NOKEY
# ./install.sh
Installing the Linux Integration Services for Microsoft Hyper-V…
warning: kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6a39758c: NOKEY
error: Failed dependencies:
kernel(clocksource_register) = 0xd88be65d is needed by kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64
Kmod RPM installation failed, Exiting.
Hi i have a probleme here
centos-5 saying –nodeps: unkown option
please help
Thanks, The above document help us to resolve the network issue in Redhat 6.0 in Hyper V
./install.sh
Installing the Linux Integration Services for Microsoft Hyper-V…
warning: kmod-microsoft-hyper-v-rhel6-43.1.i686.rpm: Header V3 DSA signature: NOKEY, key ID 6a39758c
error: Failed dependencies:
How to solve this
Install centos 6.2, do the setups above, once the network is fully setup and working just update (yum update) to 6.3
No ‘/dev/sr0’ device after installing the linuxic & rebootet the system!!!
What’s wrong? Do you have an idea?
http://social.technet.microsoft.com/Forums/en-US/linuxintegrationservices/thread/0b94561d-9d15-4d9d-97ec-a67580c4db8a
Here’s the command to get your CDROM back:
insmod /lib/modules/$(uname -r)/kernel/drivers/ata/ata_piix.ko
Linux Integration Services 3.4 supports RHEL 6.3 (no ‘failed dependencies’):
http://www.microsoft.com/en-us/download/details.aspx?id=34603
@ Jed Thank you.
Доброго времени суток!
Чтобы не приходилось делать эту операцию после каждой перезагрузки можно сделать следующее(делал это на CentOS 6.3 с пакетом интеграции Linux Integration Services Version 3.4 for Hyper-V – Русский (http://www.microsoft.com/ru-ru/download/details.aspx?id=34603&WT.mc_id=rss_alldownloads_drivers)):
1. Создаём файл запуска:
vi /etc/init.d/addcdrom
2. Следующий текст и вставляем в vi нажатием правой кнопки мыши(должен вставить, если нет нажмите ” i “, а потом правую кнопк мыши) текст приведён ниже:
#!/bin/sh
#
# Startup script for add cdrom and dvd
#
### BEGIN INIT INFO
# Provides: kernel
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
# Source function library.
. /etc/init.d/functions
# private settings
case “$1” in
start)
insmod /lib/modules/$(uname -r)/kernel/drivers/ata/ata_piix.ko
;;
stop)
echo “For service usage only start”
;;
*)
echo “Usage: $0 {start|stop}”
exit 1
esac
3. Сохраняем файл для этого нажимаем ” Esc “, после чего ” Shift+: “, вводим ” wq “(w – записать, q – выход) и ” Enter “.
4. Выставляем права на запуск файла:
chmod +x /etc/init.d/addcdrom
5. Добавляем как службу:
cd /etc/init.d
chkconfig –add addcdrom
6. Настраиваем уровни запуска:
chkconfig –level 2345 addcdrom on
7. Проверка уровней запуска:
chkconfig –list addcdrom
8. Перезагружаемся:
reboot
9. Проверяем наличие устройств:
cd /dev
ls cdrom dvd
P.S. Всё можно монтировать устройства без лишних раздумий.
Very Good doc.. thaks
Pingback: Virtualize CentOS under Hyper-V « Ron's Space
Thank for this great article ! If there is facing dependency error or who want to try for centos 6.3 please look here for solution also
http://mucahiduslu.blogspot.com/2012/12/installing-virtaual-linux-using-hyper-v.html
greetings
Excellent… Thanks…
RHEL 6.4 on Hyper-V
Or
LIC — no need more
http://vvm.blog.tut.by/2013/02/26/rhel-6-4-on-hyper-v/