Unix/Linux Go Back    

RedHat 9 (Linux i386) - man page for depmod (redhat section 8)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

DEPMOD(8)			       Linux Module Support				DEPMOD(8)

       depmod - handle dependency descriptions for loadable kernel modules

       depmod  [-aA] [-ehnqrsuvV] [-C configfile] [-F kernelsyms] [-b basedirectory] [forced_ver-
       depmod [-enqrsuv] [-F kernelsyms] module1.o module2.o ...

       The depmod and modprobe utilities are intended to make a Linux modular  kernel  manageable
       for all users, administrators and distribution maintainers.

       Depmod creates a "Makefile"-like dependency file, based on the symbols it finds in the set
       of modules mentioned on the command line or from the directories specified in the configu-
       ration  file.   This  dependency  file is later used by modprobe to automatically load the
       correct module or stack of modules.

       The normal use of depmod is to include the line

       /sbin/depmod -a

       somewhere in the rc-files in /etc/rc.d, so that the correct module  dependencies  will  be
       available  immediately after booting the system.  Note that the option -a is now optional.
       For boot-up purposes, the option -q might be more  appropriate  since  that  makes  depmod
       silent about unresolved symbols.

       It  is  also possible to create the dependency file immediately after compiling a new ker-
       nel.  If you do "depmod -a 2.2.99" when you have compiled kernel 2.2.99	and  its  modules
       the  first  time, while still running e.g. 2.2.98, the file will be created in the correct
       place.  In this case however, the dependencies on the kernel will not be guaranteed to  be
       correct.  See the options -F, -C and -b above for more information on handling this.

       While building the relationship between modules and the symbols exported by other modules,
       depmod does not consider the GPL status of the modules nor of the exported symbols.   That
       is, depmod will not flag an error if a module without a GPL compatible license refers to a
       GPL only symbol (EXPORT_SYMBOL_GPL in the kernel).  However insmod will refuse to  resolve
       GPL only symbols for non-GPL modules so the actual load will fail.

       -a, --all
	      Search  for  modules  in	all directories specified in the (optional) configuration
	      file /etc/modules.conf.

       -A, --quick
	      Compare file timestamps and, if necessary, act like depmod -a.   This  option  only
	      updates the dependency file if anything has changed.

       -e, --errsyms
	      Show all the unresolved symbols for each module.

       -h, --help
	      Display a summary of options and immediately exit.

       -n, --show
	      Write the dependency file on stdout instead of in the /lib/modules tree.

       -q, --quiet
	      Tell depmod to keep quiet and not to complain about missing symbols.

       -r, --root
	      Some  users  compile  modules  under  a non-root userid then install the modules as
	      root.  This process can leave the modules owned by the non-root userid, even though
	      the  modules directory is owned by root.	If the non-root userid is compromised, an
	      intruder can overwrite existing modules owned by that userid and use this  exposure
	      to bootstrap up to root access.

	      By  default,  modutils  will  reject  attempts to use a module that is not owned by
	      root.  Specifying -r will suppress the error and allow root to  load  modules  that
	      are not owned by root.

	      Use of -r is a major security exposure and is not recommended.

       -s, --syslog
	      Write all error messages via the syslog daemon instead of stderr.

       -u, --unresolved-error
	      depmod  2.4  does not set a return code when there are any unresolved symbols.  The
	      next major release of modutils (2.5) will set a return code for unresolved symbols.
	      Some  distributions  want  a  non-zero  return code in modutils 2.4 but that change
	      might cause problems for users who expect the old behaviour.  If you  want  a  non-
	      zero return code in depmod 2.4, specify -u.  depmod 2.5 will silently ignore the -u
	      flag and will always give a non-zero return code for unresolved symbols.

       -v, --verbose
	      Show the name of each module as it is being processed.

       -V, --version
	      Display the version of depmod.

       The following options are useful for people managing distributions:

       -b basedirectory, --basedir basedirectory
	      If the directory tree /lib/modules containing the sub-trees  of  modules	is  moved
	      somewhere  else  in  order  to  handle  modules for a different environment, the -b
	      option tells depmod where to find the moved image of the	/lib/modules  tree.   The
	      file references in the depmod output file that is built, modules.dep, will not con-
	      tain the basedirectory path.  This means that when the file tree is moved back from
	      basedirectory/lib/modules  into  /lib/modules in the final distribution, all refer-
	      ences will be correct.

       -C configfile, --config configfile
	      Use the file configfile instead of  /etc/modules.conf.   The  environment  variable
	      MODULECONF  can  also  be  used  to  select a different configuration file from the
	      default /etc/modules.conf (or /etc/conf.modules (deprecated)).

       When environment variable
	      UNAME_MACHINE is set, modutils will use its value instead of the machine field from
	      the  uname()  syscall.  This is mainly of use when you are compiling 64 bit modules
	      in 32 bit user space or vice versa, set UNAME_MACHINE to the type  of  the  modules
	      being  built.  Current modutils does not support full cross build mode for modules,
	      it is limited to choosing between 32 and 64 bit versions of the host architecture.

       -F kernelsyms,--filesyms kernelsyms
	      When building dependency files for a different kernel than  the  currently  running
	      kernel,  it  is  important  that	depmod	uses the correct set of kernel symbols to
	      resolve the kernel references in each module.  These symbols can either be  a  copy
	      of  System.map from the other kernel, or a copy of the output from /proc/ksyms.  If
	      your kernel uses versioned symbols, it is best to use a  copy  of  the  /proc/ksyms
	      output,  since  that file contains the symbol versions of the kernel symbols.  How-
	      ever you can use a System.map even with versioned symbols.

       The behavior of depmod and modprobe can be adjusted by the (optional)  configuration  file
       See modprobe(8) and modules.conf(5) for a complete description.

       Each  time  you compile a new kernel, the command "make modules_install" will create a new
       directory, but won't change the default.

       When you get a module unrelated to the kernel distribution you should place it in  one  of
       the version-independent directories under /lib/modules.

       This is the default strategy, which can be overridden in /etc/modules.conf.

       /etc/modules.conf (alternatively but deprecated /etc/conf.modules)

       modules.conf(5), modprobe(8), modinfo(8), lsmod(8), ksyms(8)

       depmod  [ -V | --version ] should exit immediately.  Instead, it prints the version infor-
       mation and behaves as if no options were given.

       Jacques Gelinas (jack@solucorp.qc.ca)
       Bjorn Ekwall (bj0rn@blox.se)

Linux					 January 26, 2002				DEPMOD(8)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 04:14 PM.