Friday, February 25, 2011

Debian Squeeze on Dell Poweredge 2950 Hyper-V

So my latest adventure has been attempting to install Debian Squeeze in Hyper-V on a Windows 2008 Server. While the first attempts have been very unsuccessful, I've finally got everything working. Hopefully, this will help someone in a similar situation.

The main issue I had was getting the NIC to work. I was using the amd64 netinstall iso as the installer. However, a netinstall doesn't work if the NIC is a non-free Broadcom BCM5708 NetXtreme II. Lots of anger on my part after this discovery. Not to mention that I couldn't get the Hyper-V installer to recognize my USB stick when it asked for the drivers that were not listed.

What I decided was the best plan of action was to go ahead with the standard amd64 stable squeeze install, non-netinstall version obviously. To circumvent the NIC issue, I would skip the ethernet installation and configuration, then install the driver after the fact. Everything went hunky-dory. Debian was up and running, meaning I'll just install the firmware-bnx2_0.28_all.deb non-free package and I'm on my way! Then, I couldn't get the interface to work. Demesg and lspci gave me literally nothing to go on. The .deb package installed fine but I was dead in the water. It was almost as if, the network card wasn't being detected; that was exactly what was happening. Time for a plan B.

Plan B involved sleeping on the issue and lots of morning coffee. With both of those accomplished, I decided to look into the virtual network adapters in Hyper-V. I tried, unsuccessfully to get the network card to work by switching the virtual adapters since the physical box had two NIC's; my thought process being, "maybe I selected the wrong adapter in the initial setup?" This didn't fix anything. I was close to the solution, but, not quite there. Simply put, I needed add a legacy network adapter to my virtual machine settings for the installation; I can then go back, if I wish, to reinstall drivers for the Broadcom NIC. However, the NIC is working just fine right now.