From rfunk Mon Nov 23 11:21:52 1998 Subject: Re: [COLUG] LILO question In-Reply-To: <3657361C.1D72C57@osu.edu> from Jeremy Kuhnash at "Nov 21, 98 09:52:28 pm" To: colug@bopper.wcbe.org Date: Mon, 23 Nov 1998 11:21:52 -0500 (EST) Jeremy Kuhnash wrote: >A good suggestion here is something that I took in heed from a few >colleagues -- always build the drivers *into* the kern, -- not modules. >And the point is valid -- is there a time when you DONT want the ether card >driver laoded?? The sound driver?? I cant think of any. I disagree. Yes, build the essential things in -- particularly whatever you need to get system disk access. But anything you aren't using constantly belongs in a module, so that the memory can be reclaimed. Remember that kernel memory doesn't get swapped out like application memory does. I like to modulize ethernet and scsi drivers so that it's easy to swap the cards out for a different kind. (And of course there are SO many different kinds.) That becomes tricky when the drivers are required for boot, however; initrd is a pain to deal with, and I'd rather compile a driver into the kernel than use initrd. Since I boot from an IDE drive I can get away with putting the scsi driver in a module. I'd only compile the ethernet driver in if it were impossible to replace the ethernet hardware, or if I were building something close to an embedded system. Sound particularly belongs in a module, since it has so many parameters compiled into it rather than selectable at load time, and it is kinda big and not exactly essential for basic operation. All parallel devices should be modules since (currently) only one can be loaded at a time. For example, if you ever want to use plip or a parallel port zip or tape drive, you can't if you have lp support compiled into the kernel. (On my main machine I load the lp module on bootup, then unload it if I need the port for something else. If I let it load/unload automatically the printer resets every time the module loads.)