{"id":310,"date":"2019-10-21T19:43:38","date_gmt":"2019-10-21T17:43:38","guid":{"rendered":"http:\/\/linuxboxen2.dk\/?p=310"},"modified":"2019-10-21T19:43:38","modified_gmt":"2019-10-21T17:43:38","slug":"depmod","status":"publish","type":"post","link":"https:\/\/www.linuxboxen.dk\/?p=310","title":{"rendered":"DEPMOD"},"content":{"rendered":"<p>DEPMOD(8)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 depmod\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DEPMOD(8)<\/p>\n<p>NAME<\/p>\n<p>depmod &#8211; Generate modules.dep and map files.<\/p>\n<p>SYNOPSIS<\/p>\n<p>depmod [-b basedir] [-e] [-E Module.symvers] [-F System.map] [-n]<br \/>\n[-v] [-A] [-P prefix] [-w] [version]<\/p>\n<p>depmod [-e] [-E Module.symvers] [-F System.map] [-m] [-n] [-v]<br \/>\n[-P prefix] [-w] [version] [filename&#8230;]<\/p>\n<p>DESCRIPTION<\/p>\n<p>Linux kernel modules can provide services (called &#8220;symbols&#8221;) for<br \/>\nother modules to use (using one of the EXPORT_SYMBOL variants in the<br \/>\ncode). If a second module uses this symbol, that second module<br \/>\nclearly depends on the first module. These dependencies can get quite<br \/>\ncomplex.<\/p>\n<p>depmod creates a list of module dependencies by reading each module<br \/>\nunder \/lib\/modules\/version and determining what symbols it exports<br \/>\nand what symbols it needs. By default, this list is written to<br \/>\nmodules.dep, and a binary hashed version named modules.dep.bin, in<br \/>\nthe same directory. If filenames are given on the command line, only<br \/>\nthose modules are examined (which is rarely useful unless all modules<br \/>\nare listed).\u00a0 depmod also creates a list of symbols provided by<br \/>\nmodules in the file named modules.symbols and its binary hashed<br \/>\nversion, modules.symbols.bin. Finally, depmod will output a file<br \/>\nnamed modules.devname if modules supply special device names<br \/>\n(devname) that should be populated in \/dev on boot (by a utility such<br \/>\nas systemd-tmpfiles).<\/p>\n<p>If a version is provided, then that kernel version&#8217;s module directory<br \/>\nis used rather than the current kernel version (as returned by uname<br \/>\n-r).<\/p>\n<p>OPTIONS<\/p>\n<p>-a, &#8211;all<br \/>\nProbe all modules. This option is enabled by default if no file<br \/>\nnames are given in the command-line.<\/p>\n<p>-A, &#8211;quick<br \/>\nThis option scans to see if any modules are newer than the<br \/>\nmodules.dep file before any work is done: if not, it silently<br \/>\nexits rather than regenerating the files.<\/p>\n<p>-b basedir, &#8211;basedir basedir<br \/>\nIf your modules are not currently in the (normal) directory<br \/>\n\/lib\/modules\/version, but in a staging area, you can specify a<br \/>\nbasedir which is prepended to the directory name. This basedir is<br \/>\nstripped from the resulting modules.dep file, so it is ready to<br \/>\nbe moved into the normal location. Use this option if you are a<br \/>\ndistribution vendor who needs to pre-generate the meta-data files<br \/>\nrather than running depmod again later.<\/p>\n<p>-C, &#8211;config file or directory<br \/>\nThis option overrides the default configuration directory at<br \/>\n\/etc\/depmod.d\/.<\/p>\n<p>-e, &#8211;errsyms<br \/>\nWhen combined with the -F option, this reports any symbols which<br \/>\na module needs which are not supplied by other modules or the<br \/>\nkernel. Normally, any symbols not provided by modules are assumed<br \/>\nto be provided by the kernel (which should be true in a perfect<br \/>\nworld), but this assumption can break especially when<br \/>\nadditionally updated third party drivers are not correctly<br \/>\ninstalled or were built incorrectly.<\/p>\n<p>-E, &#8211;symvers<br \/>\nWhen combined with the -e option, this reports any symbol<br \/>\nversions supplied by modules that do not match with the symbol<br \/>\nversions provided by the kernel in its Module.symvers. This<br \/>\noption is mutually incompatible with -F.<\/p>\n<p>-F, &#8211;filesyms System.map<br \/>\nSupplied with the System.map produced when the kernel was built,<br \/>\nthis allows the -e option to report unresolved symbols. This<br \/>\noption is mutually incompatible with -E.<\/p>\n<p>-h, &#8211;help<br \/>\nPrint the help message and exit.<\/p>\n<p>-n, &#8211;show, &#8211;dry-run<br \/>\nThis sends the resulting modules.dep and the various map files to<br \/>\nstandard output rather than writing them into the module<br \/>\ndirectory.<\/p>\n<p>-P<br \/>\nSome architectures prefix symbols with an extraneous character.<br \/>\nThis specifies a prefix character (for example &#8216;_&#8217;) to ignore.<\/p>\n<p>-v, &#8211;verbose<br \/>\nIn verbose mode, depmod will print (to stdout) all the symbols<br \/>\neach module depends on and the module&#8217;s file name which provides<br \/>\nthat symbol.<\/p>\n<p>-V, &#8211;version<br \/>\nShow version of program and exit. See below for caveats when run<br \/>\non older kernels.<\/p>\n<p>-w<br \/>\nWarn on duplicate dependencies, aliases, symbol versions, etc.<\/p>\n<p>COPYRIGHT<\/p>\n<p>This manual page originally Copyright 2002, Rusty Russell, IBM<br \/>\nCorporation. Portions Copyright Jon Masters, and others.<\/p>\n<p>SEE ALSO<\/p>\n<p>depmod.d(5), modprobe(8), modules.dep(5)<\/p>\n<p>AUTHORS<\/p>\n<p>Jon Masters &lt;jcm@jonmasters.org&gt;<br \/>\nDeveloper<\/p>\n<p>Robby Workman &lt;rworkman@slackware.com&gt;<br \/>\nDeveloper<\/p>\n<p>Lucas De Marchi &lt;lucas.de.marchi@gmail.com&gt;<br \/>\nDeveloper<\/p>\n<p>COLOPHON<\/p>\n<p>This page is part of the kmod (userspace tools for managing kernel<br \/>\nmodules) project.\u00a0 Information about the project can be found at<br \/>\n[unknown &#8212; if you know, please contact\u00a0man-pages@man7.org] If you<br \/>\nhave a bug report for this manual page, send it to<br \/>\nlinux-modules@vger.kernel.org.\u00a0 This page was obtained from the<br \/>\nproject&#8217;s upstream Git repository<br \/>\n(git:\/\/git.kernel.org\/pub\/scm\/utils\/kernel\/kmod\/kmod.git) on<br \/>\n2014-12-30.\u00a0 If you discover any rendering problems in this HTML<br \/>\nversion of the page, or you believe there is a better or more up-to-<br \/>\ndate source for the page, or you have corrections or improvements to<br \/>\nthe information in this COLOPHON (which is not part of the original<br \/>\nmanual page), send a mail to\u00a0man-pages@man7.org<\/p>\n<p>kmod\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 12\/30\/2014\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DEPMOD(8)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>DEPMOD(8)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 depmod\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DEPMOD(8) NAME depmod &#8211; Generate modules.dep and map files. SYNOPSIS depmod [-b basedir] [-e] [-E Module.symvers] [-F System.map] [-n] [-v] [-A] [-P prefix] [-w] [version] depmod [-e] [-E Module.symvers] [-F System.map] [-m] [-n] [-v] [-P prefix] [-w] [version] [filename&#8230;] DESCRIPTION Linux kernel modules can provide services (called &#8220;symbols&#8221;) for other modules to use [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[8],"tags":[],"class_list":["post-310","post","type-post","status-publish","format-standard","hentry","category-shell"],"_links":{"self":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/posts\/310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=310"}],"version-history":[{"count":0,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/posts\/310\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}