Archive of UserLand's first discussion group, started October 5, 1998.

Linux has Kernel Modules...

Author:William Crim
Posted:5/15/1999; 4:03:34 PM
Topic:Hint to Apple
Msg #:6302 (In response to 6289)
Prev/Next:6301 / 6303

Linux does have a rather nice driver interface. It is called Kernel Modules. Part of the problem is that, as with many things, they are hard to find if you don't know what to look for.

The Linux kernel often gives you the option of compiling the kernel with different parts as modules. These include things like Disk Drivers, File Systems, peripherals like tape/cdrom, also Network cards. The good thing about Kernel modules, is that while they CAN be in module form(files that are seperate from the kernel) you can also compile them directly into the kernel for slightly faster access(also a bit smaller).

All the modules are stored in a directory(I am not sure the exact one) and there is a single config file that you can edit to include or exclude various modules as you see fit. You can also from the command line load or unload modules as you see fit. There is also an option to have modules dynamicly load as needed. As an example, lets say you compile AppleTalk Support, but rarely use it. The module could sit unloaded, but when you start up an App that uses AppleTalk, the kernel with look for and load the appropriate module, then unload it after you quit your program. Not too shabby.

Modules can be, but don't have to be, kernel version specific. The module interface has been around for quite some time(3 years at least) and is used extensively. When you recompile a kernel, most of the device drivers have options to compile as a module. Many modules haven't changed in several revisions of the kernel.

Sorry about being so longwinded. :-) I am not much of a kernel hacker myself, but I was quite impressed with the ease of use of the Linux kernel. My C experience before I compiled my first kernel was a single semester of C class(taught on an old HPUX terminal). The kernel had and option for help at EVERY step with detailed descriptions of what I was putting into my kernel(or leaving out).

Give it a try. Make sure you install the kernel source from your Install sets(Not sure on RedHat) But if you do have them installed go to /usr/src/linux and read the README. Or read the Kernel-HOWTO. The best choice, however, is to have a friend walk you through the process. It is liberating to compile your own kernel, plus it enhances your geek status. You can't beat that. ;-)


There are responses to this message:


This page was archived on 6/13/2001; 4:50:12 PM.

© Copyright 1998-2001 UserLand Software, Inc.