create new tag
, view all tags
You know, the things you do insmod, modprobe, etc. with to get a NIC, soundcard, or whatever working.

keywords: modutils, insmod, rmmod, ksyms, lsmod, genksyms, modprobe, depmod

Or converting the keywords to a sentence wink : The module utilities (modutil) include the following programs: insmod, rmmod, ksyms, lsmod, genksyms, modprobe, and depmod. (Almost the same sentence I extracted them from wink ).

(Digressed to create Codev.ForceNewRevision, will delete this and some other stuff I want to preserve at least one hour after I stop this editing session.)

Trying a definition / explanation: All hardware cards typically require a software driver to make them work. In early Linux kernels, a selection of often used drivers was compilied into the kernel. If you needed a driver that was not compiled into the kernel, you would have to recompile the kernel (with some risk that it would not work on the first try, or whatever). (But, recompiling the kernel also gave you the chance to delete the software drivers that you would not need, at least saving RAM for the kernel, and possibly also reducing execution time (although I sort of hope that wasn't often an issue -- if a drive isn't used it should not be run) -- but space does translate to time if portions of the kernel have to be swapped out -- does that ever happen, or is the kernel sort of "locked" into RAM?)

Anyway, back on point: LKMs (Loadable Kernel Modules) offered an improvement because you could compile many drivers as loadable modules, and then load them only if your hardware required them. (Some modules need to be in the kernel -- I've recently seen minix cited as one, presumably because a root disk often uses a minix filesystem?) (I also believe you can load and unload modules while Linux is running which can be an advantage -- won't try to explain why, well OK, if you have some circumstance where you very occasionally need to access a device and the driver is fairly big? Hmm, what about PCMCIA cards (typically) on laptops -- does the "hot load" mechanism use LKMs or something else, or some combination, or does it vary?)

When you compile a kernel, you select drivers to be compiled into the kernel. When you are done compiling the kernel, you can do a second compile to compile all the drivers that were not compiled into the kernel as LKMs. (As stated above, certain drivers must be compiled into the kernel -- not sure all the reasons, but some must have to do with things like needing a driver (certain filesystem drivers?) during the boot process.)





See ResourceRecommendations. Feel free to add additional resources to these lists, but please follow the guidelines on ResourceRecommendations including ResourceRecommendations#Guidelines_for_Rating_Resources.


  • (rhk) Modules Section of the Kernel HOWTO; ; - pretty good page -- looks like a nice short second page of a WikiLearn piece (it does a lot, but doesn't start out with a brief explanation of what modules are and what they are for (it's implied, but not stated))


  • () RandyKramer - 28 Feb 2003
  • <If you edit this page: add your name here; move this to the next line; and include your comment marker (initials), if you have created one, in parenthesis before your WikiName.>

Page Ratings

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2003-03-03 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by PerlCopyright 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WikiLearn? WebBottomBar">Send feedback
See TWiki's New Look