Posted in
Linux Server,
Virtual Machine Manager |
24 Comments | 45,762 views | 07/01/2011 16:51
If you have a kernel image for your Linux virtual machine, it’s easy to upgrade your kernel for Hyper-V support.
1) Install a clean Debian virtual machine (Use emulated Ethernet card and 1 vCpu)
2) Use commands below to update your virtual machine:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| nano /etc/apt/sources.list (edit your source list if it needs)
apt-get update
aptitude update
apt-get install openssh-server (for ssh support)
apt-get install build-essential
apt-get install ncurses-dev kernel-package fakeroot
apt-get install linux-headers-`uname -r`
apt-get install linux-source-`uname -r | awk -F"-" '{print $1}'`
cd /usr/src
wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
bzip2 -d linux-2.6.36.tar.bz2
tar xf linux-2.6.36.tar
cd linux-2.6.36
cp /boot/config* ./.config
make menuconfig |
nano /etc/apt/sources.list (edit your source list if it needs)
apt-get update
aptitude update
apt-get install openssh-server (for ssh support)
apt-get install build-essential
apt-get install ncurses-dev kernel-package fakeroot
apt-get install linux-headers-`uname -r`
apt-get install linux-source-`uname -r | awk -F"-" '{print $1}'`
cd /usr/src
wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
bzip2 -d linux-2.6.36.tar.bz2
tar xf linux-2.6.36.tar
cd linux-2.6.36
cp /boot/config* ./.config
make menuconfig
At menuconfig, go to:
Device Drivers -> Stagging Drivers
Now choose Microsoft Hyper-V Client Drivers
After that you can enter to exit with saving changes.
Use commands below to continue:
1
2
| make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-hyperv kernel_image kernel_headers |
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-hyperv kernel_image kernel_headers
After this process, you will find your two .deb files in /usr/src directory.
Possible problems:
1) You may get this error when you try to compile kernel.
1
2
3
4
5
6
| This is kernel package version 11.015.
The UTS Release version in include/linux/version.h
""
does not match current version:
"2.6.26-hyperv"
Please correct this. |
This is kernel package version 11.015.
The UTS Release version in include/linux/version.h
""
does not match current version:
"2.6.26-hyperv"
Please correct this.
Please check this page to fix this issue:
2) You may get this error when you try to compile kernel.
1
2
3
4
| lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c: In function ‘create_thread’:
lguest.c:1021: warning: implicit declaration of function ‘eventfd’
make: *** [lguest] Error 1 |
lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c: In function ‘create_thread’:
lguest.c:1021: warning: implicit declaration of function ‘eventfd’
make: *** [lguest] Error 1
Please check this page to fix this issue:
If you get different problems, please report to me.