<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML ><HEAD ><TITLE >LKM Utilities</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="Linux Loadable Kernel Module HOWTO" HREF="index.html"><LINK REL="PREVIOUS" TITLE="Making Loadable Kernel Modules" HREF="x126.html"><LINK REL="NEXT" TITLE="How To Insert And Remove LKMs" HREF="x197.html"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Linux Loadable Kernel Module HOWTO</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="x126.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="x197.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="AEN146" ></A >4. LKM Utilities</H1 ><P >The programs you need to load and unload and otherwise work with LKMs are in the package <SPAN CLASS="APPLICATION" >modutils</SPAN >. You can find this package in <A HREF="http://www.kernel.org/pub/linux/utils/kernel/modutils" TARGET="_top" >this directory</A >.</P ><P >This package contains the following programs to help you use LKMs: <P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT >insmod</DT ><DD ><P >Insert an LKM into the kernel.</P ></DD ><DT >rmmod</DT ><DD ><P >Remove an LKM from the kernel.</P ></DD ><DT >depmod</DT ><DD ><P >Determine interdependencies between LKMs.</P ></DD ><DT >kerneld</DT ><DD ><P >Kerneld daemon program</P ></DD ><DT >ksyms</DT ><DD ><P >Display symbols that are exported by the kernel for use by new LKMs.</P ></DD ><DT >lsmod</DT ><DD ><P >List currently loaded LKMs.</P ></DD ><DT >modinfo</DT ><DD ><P >Display contents of <TT CLASS="LITERAL" >.modinfo</TT > section in an LKM object file.</P ></DD ><DT >modprobe</DT ><DD ><P > Insert or remove an LKM or set of LKMs intelligently. For example, if you must load A before loading B, Modprobe will automatically load A when you tell it to load B. </P ></DD ></DL ></DIV ></P ><P >Changes to the kernel often require changes to <SPAN CLASS="APPLICATION" >modutils</SPAN >, so be sure you're using a current version of <SPAN CLASS="APPLICATION" >modutils</SPAN > whenever you upgrade your kernel. <SPAN CLASS="APPLICATION" >modutils</SPAN > is always backward compatible (it works with older kernels), so there's no such thing as having too new a <SPAN CLASS="APPLICATION" >modutils</SPAN >.</P ><P >Warning: <B CLASS="COMMAND" >modprobe</B > invokes <B CLASS="COMMAND" >insmod</B > and has its location hardcoded as <TT CLASS="FILENAME" >/sbin/insmod</TT >. There may be other instances in <SPAN CLASS="APPLICATION" >modutils</SPAN > of the PATH not being used to find programs. So either modify the source code of <SPAN CLASS="APPLICATION" >modutils</SPAN > before you build it, or make sure you install the programs in their conventional directories.</P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="x126.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="x197.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Making Loadable Kernel Modules</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >How To Insert And Remove LKMs</TD ></TR ></TABLE ></DIV ></BODY ></HTML >