How to Install Ubuntu Server 10.04 in Hyper-V

How to Install Ubuntu Server 10.04 in Hyper-V

Original article Source

(update 1-3-2011 This list of steps was also tested with 10.04 Desktop on Win2k8R2 non SP1)

Last July, Microsoft announced the drivers for Linux source code is available in the Hyper-V virtualization environment. In practice, the 2.6.32 of the Linux kernel version now contains drivers for synthetic Hyper-V, virtual machine including the VMBus, storage, and network components. In detail, it's hv_vmbus, hv_storvsc, hv_blkvsc and hv_netvsc modules: these modules are described in this article.

Out configurations "officially supported", I tested the activation of these modules in new Ubuntu Server 10.04, provided recently with the 2.6.32 kernel. To do this I found this article which explains how to enable these modules, and which I inspire me thus far.

Enabling modules

Firstly it must ensure that the Hyper-V modules are loaded at startup. To do this, edit the file /etc/initramfs-tools/modules and add the following four lines:

hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc

Then, update the initramfs image:

$ sudo update-initramfs - u

Finally, configure the network by changing the/etc/network/interfaces file to configure the network interface named seth0. Indeed, a synthetic NIC would be named seth n instead of eth n for "legacy" network adapter.

For example for a DHCP configuration, add the following to /etc/network/interfaces:

Auto eth0
iface eth0 inet dhcp

or, for a static IP address:

Auto eth0
iface eth0 inet static
address ip_address
netmask mask
Gateway adresse_passerelle

It remains only to restart, and check the proper loading of drivers using the command:

$ lsmod | grep hv_ (lower case L) in lsmod

Test procedure

For my test I used Windows Server 2008 R2 Hyper-V, and 32-bit Ubuntu Server 10.04 (ubuntu-10. 04 - server - i386 .iso).

Because I set up the VM with a synthetic network adapter, it is not detected the installation. This is not serious; it will be when it has made steps outlined previously after installation.

Erreur : aucune carte réseau détectée

On this error message, choose <Continue>.

Once the virtual machine installed and started, the steps outlined above are fairly simple to implement:

initramfs

interfaces

After a reboot (sudo reboot), we have many assets on the network map seth0 synthetic, and other drivers loaded:

Réseau et drivers Hyper-V

That is what servers run Linux under Hyper-V with decent performance. Have to wait for integration into the Linux kernel the next features (multi-processors, clock synchronization and stop integrated), these features are currently available in the beta integration services 2.1, SUSE Linux Enterprise Server Red Hat Enterprise Linux.

Leave a Comment
  • Please add 7 and 6 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • JasonA edited Revision 1. Comment: Ubuntu 10.04 Server will use eth0.  Also, having "iface inet dhcp eth0" will cause Ubuntu to fail to boot.

Page 1 of 1 (1 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • JasonA edited Revision 1. Comment: Ubuntu 10.04 Server will use eth0.  Also, having "iface inet dhcp eth0" will cause Ubuntu to fail to boot.

  • How does this work with VLAN devices? I have Hyper-V set up with the network adapter (that the VMs use) connected to a cisco switch configured to be a VLAN trunk. I tried doing this with VLAN 2 enabled and setting the static address to 192.168.2.250 and gateway 192.168.2.1 (VLAN gateway) and rebooted but ifconfig doesn't display the new seth0 adapter at all... Any idea why?

  • Under Ubuntu 10.10, if I add a synthetic NIC it is appearing as eth1 instead of seth1. I am starting out with a legacy NIC and sythentic NIC during the initial install and then I remove the legacy NIC.

  • In Ubuntu 11.04 the network is identified as eth1 as I did the same steps as kevin.

  • If you install all the way with one default (synthetic) network adapter the device name is "eth0" not "seth0".

  • No such luck for me, I followed exactly and now it crashes on boot.  Oh well, thank you for the write up, I will just setup 12.04 LTS.

    I am running Server 2012 HyperV v. 6.2.9200.16384

Page 1 of 1 (6 items)