Re: Future directions in kernel/driver configuration

Werner Almesberger (
Fri, 6 Sep 1996 14:11:48 +0200 (MET DST)

David Hinds wrote:
> This is troublesome because it means that PCMCIA devices are never
> available until after the system has booted, so the root filesystem
> can't be on a PCMCIA device.

Hmm, I boot our notebooks sometimes with root on NFS, accessed via a
PCMCIA adapter, using the standard 2.0.14 kernel. So you say I'm doing
something wrong ? ;-)

The trick here is, as somebody else has already pointed out, initrd.
It's more general than the concept you describe in that you can put
essentially anything on it, not only kernel modules. E.g. I also
have cardmgr on it.

The main problems I currently have with properly modularizing kernels
(using the same build for several different machines) are that
- sound support is not run-time configurable if compiled as a module,
so I have to put it in every kernel
- APM isn't modularized (it's slow poison on several systems, so I
don't want the kernel to even know APM exists), which means that
I now have a "generic-apm" and a "generic-non-apm" kernel, along
with the respective set of modules.
- the essential tools (insmod, etc.) get rather big if statically
- it's a pain to strip down libc to a reasonable size (libc-lite
doesn't seem to be supported anymore with libc 5)
- modprobe (well, actually the modules) makes a lot of noise when

The insmod/libc problem means that initrds get comparably big. A tiny
libc would be extremely useful. I've removed cvt, des, inet, math,
netgroup, rpc, ufc, YP, and NLS from libc 5.3.12, thereby shrinking it
from the usual 570-677 kB to 390 kB. I'm sure that a lot more could be
thrown out.

The fact that certain things are still not modularized also means that
other parts have dependencies on them, e.g. PCMCIA depends on the APM
configuration of the kernel, which multiplies the number of build
variants there too.

But in general, generation of fully modularized "generic" systems is
becoming feasible. I think some distribution makers have already
progressed a bit further that I did, so maybe they could comment ?

- Werner

 / Werner Almesberger, DI-LRC,EPFL,CH /