Ed Wilts <ewilts at ewilts.org>  wrote:
> A *lot* - if you're thinking you might need an updated fibre channel
> driver, or you want the security of a protected stack, you want a
> kernel you can trust.  Red Hat backports a *lot* of changes to the
> kernel.  Remember that the server focus is stability.

This is the "value added" portion of RHEL, and it's really hard to
beat.  Don't expect Debian kernel maintainers to back-port bleeding
edge drivers.  You can expect Debian maintainers (of any package) to
supply back-ports of _security fixes_, but not feature enhancements.

> > They all support the same hardware for the most part.
> 
> Nope - all have differing driver support.

I would agree with this statement.  Debian, in fact, _removes_
proprietary or binary-only firmware that is distributed with the
kernel.  Why on Earth would they do such a thing?  The Debian Social
Contract and Free Software Guideline (DSC and DFSG, respectively).
For example, we're running servers that have Tigon 3 ethernet cards.
They run beautifully with the stock Debian kernel, even without the
firmware, but we do not require any of the features that the firmware
provide.

This is not a Debian-specific controversy, however.  The kernel
developers themselves argue constantly about such things.  So now,
it's possible to load firmware in userspace via udev or hotplug.

So, where do these firmwares end up?  In the non-free component of
Debian as specific "BLAH-firmware" packages.

If you're running brand new hardware, something released in the last
quarter or two, or specialized hardware, you may have need to look at
newer kernels or custom drivers.  If the driver is not invasive to the
kernel, you can simply download the source for it and compile against
your existing kernel's headers (which are also available as packages
on most Linux distributions).

If you're running something that's slightly older (release wise), you
could probably get away with just about any distribution.

-- 
Chad Walstrom <chewie at wookimus.net>           http://www.wookimus.net/
           assert(expired(knowledge)); /* core dump */