Skip to main content

Loading firmware during install in debian-based Linux distos

At work I run a lot of Linux servers with Oracle Linux (OEL, Red Hat-derived) and our Dell PowerEdge 2950 servers have no problems with them. At first, OEL 4u5 had a terribly confusing issue with device enumeration where the first on-board NIC (labeled 1) would end up as eth1 and the other (labeled 2) would become eth0. That was fixed later on and I've reported on it here, 2 years ago.

Lately, I've been playing with other Linux distos and seeing how well the (old) Dell servers hold up new distributions. I always used netimages where I install the OS over the network. For one, this greatly speeds up the ISO download and it also ensures I have an updated system after installation ready for testing.

While Red Hat and SUSE-based distos are not a problem, Debian-based versions can be. This mainly has to do with the strict philosophy of their maintainers that non-free drivers and firmware should not be included in the image. In my case, the lack of built-in Broadcom (bnx2) drivers causes my system to be dead on the network. So you need to include a "driver disk". But how...?

Debian fortunately has a nice way to do this: you include any or all your drivers on a floppy or USB disk (image, in case you're working remotely). Put the .tar.gz archives in the root of the device or inside a /firmware directory, connect it at boot time so the installer sees the device and you should be fine. Curious where you can get these drivers and firmware packages for Ubuntu or Debian? Check this archive.

Oh and this also works with manufacturer's drivers, such as FC NICs, Intel NICs, Qlogic HBAs, and so on, should you be dissatisfied with the built-in drivers or require more recent drivers for specific functionality. More details and information can be found on Loading Missing Firmware from the Debian Lenny release notes.

Update: Specifically for Debian Lenny on Dell hardware, you should also read this detailed HOWTO perform unattended PXE installs with Debian Lenny.

Comments

Popular posts from this blog

Tuning the nscd name cache daemon

I've been playing a bit with the nscd now and want to share some tips related to tuning the nscd.conf file. To see how the DNS cache is doing, use nscd -g. nscd configuration: 0 server debug level 26m 57s server runtime 5 current number of threads 32 maximum number of threads 0 number of times clients had to wait yes paranoia mode enabled 3600 restart internal passwd cache: no cache is enabled [other zero output removed] group cache: no cache is enabled [other zero output removed] hosts cache: yes cache is enabled yes cache is persistent yes cache is shared 211 suggested size <==== 216064 total data pool size 1144 used data pool size 3600 seconds time to live for positive entries <==== 20 seconds time to live for negative entries

Preventing PuTTY timeouts

Just found a great tip to prevent timeouts of PuTTY sessions. I'm fine with timeouts by the host, but in our case the firewall kills sessions after 30 minutes of inactivity... When using PuTTY to ssh to your Linux/Unix servers, be sure to use the feature to send NULL packets to prevent a timeout. I've set it to once every 900 seconds, i.e. 15 minutes... See screenshot on the right.

Setting up SR-IOV in RHEL6 on PowerEdge servers

Dell Community : "RHEL 6 provides SR-IOV functionality on supported hardware which provides near native performance for virtualized guests. Single-Root I/O Virtualization (SR-IOV) specification, introduced by PCI-SIG details how a single PCIe device can be shared between various virtualization guests. Devices capable of SR-IOV functionality support multiple virtual functions on top of the physical function. Virtual Function is enabled in hardware as a light weight PCIe function. Operating System cannot discover this function as it does not respond to the PCI bus scan and requires support in the host’s driver. As in PCIe pass-through, a Virtual function of a SR-IOV capable card can be directly assigned to the guest operating system. A virtual function driver running in the guest manages this device."