Dave Chinner put forth on 9/14/2010 7:44 PM:
> You must be doing it wrong, then.
> # apt-cache search "^firmware-"
> Pick the packages for your hardware, or just install the lot (which
> is what I normally do) and remake your initramfs. The firmware
> packages have the correct firmware versions the distro kernels
IIRC it's a bit more complex than this Dave, unfortunately. The
firmware issues in Debian almost always revolve around NICs and
free/non-free blobs. The most recent example was the RTL8111/8168 blob
relating to the 2.6.32-trunk kernel, IIRC.
People upgraded their Debian kernels and their NICs didn't work
afterward, because the Debian team had changed the blob from free to
non-free. Non-free blobs aren't installed automatically, so as soon as
they rebooted after installing the kernel image and initrd, they had no
network access. If one didn't already have the firmware files on the
machine, many didn't IIRC, there was no way to grab them from the
mirrors as the NIC was offline--instant catch 22.
This caused one heck of a row on debian-user--because Realtek eth chips
are everywhere--that lasted over two weeks IIRC. There was no clear cut
easily findable Debian documentation on how to remedy this. Many, many
OPs ran out an bought Intel NICs so they wouldn't have to fight this and
could get back up quickly, and so they'd (hopefully) never have to deal
with something like this again.
All of this, AIUI, because Debian and the upstream didn't get the right
"free" documentation in time from Realtek. All other Realtek firmware
was free AFAIK, always has been AFAIK, and there'd never been an issue.
This Debian kernel upgrade snafu caused a lot of pain for a lot of OPs,
needlessly. Many defected to Ubuntu over this single issue, curse words
flying and all.
> If you run custom kernels, the after building it without the
> firmware built in, just run 'make firmware_install' before building
> your new initramfs and everything will just work fine.
This assumes one is using kernel.org source, correct, not Debian kernel
source? Yes, then it should work fine. I believe it's a bit more
complex with Debian kernel source due to the way free/non-free
drivers/blobs are handled by Debian. Which is a shame really, because
myself and many others really really like Debian. I still do. I just
mitigate or work around these types of issues myself. :)
As I previously stated, I build in the firmware blobs. I also build in
all device drivers the system will need, and thus I don't use an initrd,
ever. In fact, I've never used modules, and thus I remove loadable
module support from the kernel to save space. Most of my kernel images
run about 1.5 MB with a system map of 500 KB. I'm always looking for
things to leave out that aren't needed to decrease kernel size. And
yes, I still use LILO--til they pry it from my cold dead hands. :)