Installing Ubuntu 12.04 server/alternate on computer with NetXtreme ethernet controller

I tried to install the ubuntu server edition of 12.04 on a HP ProLiant DL 385 G1 with a Broadcom NetXtreme BCM5704 ethernet controller. The setup just stops while detecting the hardware. It took me quite some time to figure it out, but here’s what you need to do:

1. disable Floppy controller. Don’t ask me why, it’s definitely weird.

2. copy the tg3_tso.bin corresponding to your kernel version on an USB pen drive in a folder called “tigon” and on the USB pen drive root folder (I’m not sure which location, so just copy it into both). You can get the file from the linux-firmware package. If you already have a running Ubuntu machine, you can find the file in /lib/firmware/tigon

3. Start the Ubuntu alternate/server setup and plug in your usb pen drive as soon as the first dialogue appears.

4. Now everything should work as expected. If the installer doesn’t find the tg3_tso.bin, you can manually mount the USB pen drive and create a symlink of the tg3_tso.bin to /lib/firmware/tigon/tg3_tso.bin

This solution should work for all Debian based setups.