custom kernels and heterogeneous hardware

Paul Lussier p.lussier at comcast.net
Wed Jun 21 12:01:39 EDT 2006


Hi all,

Please excuse yet another on-topic post, I'll try not to do it too
frequently ;)

I'm wondering how others handle needing to deploy a custom kernel to a
wide variety of hardware.  We maintain a "single" kernel for all of
our hardware, both for in-house systems and for the platforms we ship
on.  At one time we used to just compile everything into a monolithic
kernel, but the variety of hardware is getting big enough to make that
impractical a this point.

We're considering configuring our kernels such that everything is
compiled as a module, however, that means you need to know what to
load at boot time.  On Debian, you place what you want loaded at boot
time in /etc/modules and it gets loaded.  We could just add an entry
for everything in there, but that might make for a rather noisy boot
with all the non-existant devices it tries to load drivers for.  On
the other hand side of the coin, we don't want to load a bunch of
modules for stuff which won't be used.

One example I experienced today was the fact that we recently rolled a
new kernel to accomodate a new e1000 driver.  This driver (for reasons
not yet clear to me) can't be compiled directly into the kernel and
needs to be a module.  When installing our new kernel on a system this
morning, I discovered that this system has Broadcom chipset and needs
the tigon3 driver (tg3.o).

Is there something I could run at boot time, like a low level init
script that will probe for what devices do exist and "Do the right
thing" ?

What do others do? What's the "best practice" in this scenario?

Thanks.
-- 
Seeya,
Paul



More information about the gnhlug-discuss mailing list