William Case wrote: > > Are modules drivers with special C code wrapped around them so they can > be loaded for use by the kernel? Or, > > Are they just drivers by another name? Or, > > Are they specially built drivers for Linux systems? Or, > > Is some lower level program reconfiguring a new driver so that it has > special properties for the use of the kernel? Or, > > What? > Before that can be answered, we need your definition of drivers. Kernel modules can provide an interface between the kernel and hardware. (Driver?) They can let the kernel access different file system formats. They can let the kernel use different networking protocols. They extend the function of the kernel. Most modules can also be built into the kernel instead. Modules have a defined format. Most modules are written specifically for use by the Linux kernel, and are not drivers designed for something else with a C wrapper around them. (There are modules that are basically wrappers that let you use other format drivers.) Unless extra steps are taken, modules are limited to the version of the kernel they were compiled ageist. Some kernel options also make a difference. For example, a 64 bit module in not going to work on a 32 bit processor, or be loadable by a 32 bit kernel. It is possible to build a kernel that does not have any loadable modules, or even support for loadable modules. This works well for embedded systems where the requirements are not going to change. For a laptop, it may make sense to build a kernel optimized for the processor in the laptop, build in support for the hardware in that laptop, and for the file systems always used. You would only enable modules for the hardware you expect to be using. (No support for PCI or ISA SCSI controllers, or multi-port serial cards. But maybe support for PCMCIA and/or cardbus SCSI cards.) But while a custom kernel may make sense for a specific machine, it does not make sense for a distribution's kernel. So most things are build as modules, and you load the modules for your specific needs. Mikkel -- Do not meddle in the affairs of dragons, for thou art crunchy and taste good with Ketchup!
Description: OpenPGP digital signature