From patchwork Tue Jun 11 15:05:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Emil Velikov via B4 Relay X-Patchwork-Id: 13693888 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7AB8C2C6BD for ; Tue, 11 Jun 2024 15:05:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718118304; cv=none; b=uyMiys5f/2tcxz55VMi7G3rrQm1U48w8yfuJYo5s37VibqWBC1nTsOhNaxjiA3Q9WLDsj056Vl3ZVGZBtDtYWIeBRdkeYk+cC+Do3EvG1vghQUwl2v1aeEZEQtu+n2gJxqHU1MHa7xlBDSV67RHS00trydMJivLeyXzMbrIfY5g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718118304; c=relaxed/simple; bh=tj0XOGBSzmoJZInyyhmovkdJ4bOXtedRihkqHVH1Pzo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=h5W36v4WpC2/mcU9HmlKFKSolsqsxCbh8XKsUN5L8HnMgR8TB4PZ/Gp+6PZx3Mq/zKHrM/EEfUBTzqkhSF9S1/Nwk2x3Nmoe2goriF49S21Mj9muCkL5eam0Nzxhb0vl5ghzWvc+zilBtjQvR541XImF+IMF3MQCM9oYnNPIecs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Phjsyapx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Phjsyapx" Received: by smtp.kernel.org (Postfix) with ESMTPS id 2E935C2BD10; Tue, 11 Jun 2024 15:05:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1718118304; bh=tj0XOGBSzmoJZInyyhmovkdJ4bOXtedRihkqHVH1Pzo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=PhjsyapxPxufqGwn8MUNtuoY1L5yZDz2+IUTL3CXhA82nWUtUaeZgENkyIWD6+b9A 9sl2ZL91166whfTk4e3669Gdi9Dp1lyvCpNqxjffKsjWCEHpm6fAlGU6LMGhHPvBX0 dayzVLALH8lalDYFstfBzRsbPIdyJLfSWF59mUElUqGAyuvZ7XPwwyGi1KkQUovbNU FT+rChb5nUDPrFkYuNDQI68+1G4Yn8liIoEyORSuTBfHklS/wnW6MWJA03fwHQTVxQ /Wmb025xBmNNwAcKwZ7pT9PdQIuBJa8Js0so2cuEDHKZBiQyjSg/YpQA71TG4FIHuL hUmSBB3EKJCRQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 156BCC27C77; Tue, 11 Jun 2024 15:05:04 +0000 (UTC) From: Emil Velikov via B4 Relay Date: Tue, 11 Jun 2024 16:05:01 +0100 Subject: [PATCH kmod 01/20] man: add script to generate/compare the xslt vs upcoming scdoc Precedence: bulk X-Mailing-List: linux-modules@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240611-man-v1-1-bd6864d49639@gmail.com> References: <20240611-man-v1-0-bd6864d49639@gmail.com> In-Reply-To: <20240611-man-v1-0-bd6864d49639@gmail.com> To: linux-modules@vger.kernel.org Cc: Emil Velikov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718118301; l=1480; i=emil.l.velikov@gmail.com; s=20230301; h=from:subject:message-id; bh=wl8y3cCAXvkyBcYxfCkLgOSs/6n6t5ifCxlBs/k7x6I=; b=Lo2mmoP5zfrYdpxqFhJA2HGysoY+JMSnam2FhSYYf+v4tmMS4fpr7t0pb73yVlWbI681n33Xb kRG6S655KCKCnsKQAam275T186SdStufp6n66SySItkII75tliGR13V X-Developer-Key: i=emil.l.velikov@gmail.com; a=ed25519; pk=qeUTVTNyI3rcR2CfNNWsloTihgzmtbZo98GdxwZKCkY= X-Endpoint-Received: by B4 Relay for emil.l.velikov@gmail.com/20230301 with auth_id=35 X-Original-From: Emil Velikov Reply-To: emil.l.velikov@gmail.com From: Emil Velikov Signed-off-by: Emil Velikov --- man/compare.sh | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/man/compare.sh b/man/compare.sh new file mode 100755 index 0000000..7579ab5 --- /dev/null +++ b/man/compare.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +the_sed() +{ + sed -e 's|@DISTCONFDIR@|/TEST|g;s|@MODULE_DIRECTORY@|/TEST|g' $1 +} + +gen_xslt() +{ + #--output ${xml//.xml}.xslt \ + #--noout \ + for xml in *xml; do + the_sed $xml | xsltproc \ + --stringparam man.output.quietly 1 \ + --param funcsynopsis.style "'ansi'" \ + http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl - + # The output and noout args seems cosmetic, sigh + mv ${xml//.xml}{,.xslt} + done +} + +gen_scdoc() +{ + for scd in *scd; do + the_sed $scd | scdoc > ${scd//.scd}.scdoc + done +} + +comp_output() +{ + export LESS='-F -i -M -R -S -w -X -z-4' + unset MANPAGER + + for xslt in $(ls --sort=version *xslt); do + _name=${xslt//.xslt} + + echo "Checking $_name" + + diff --unified --color=always \ + <(man ./$_name.xslt) \ + <(man ./$_name.scdoc) | less + + read + done +} + +comp_raw() +{ + for xslt in *xslt; do + _name=${xslt//.xslt} + + diff --unified --color=always ./$_name.{xslt,scdoc} + done +} + +time gen_xslt +time gen_scdoc + +comp_output +#comp_raw + +rm -f *xslt +rm -f *scdoc From patchwork Tue Jun 11 15:05:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Emil Velikov via B4 Relay X-Patchwork-Id: 13693889 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7AB5C2C6B7 for ; Tue, 11 Jun 2024 15:05:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718118304; cv=none; b=qwce+Ei5MEKnpPboeZ8uavFhx6YRVlsgcEzqR7ezi6kQokbndSA1Uorqq8u8Kz9UouX6BITvC0dO104o6kpcAJimdaDzXi92BPliarZWmXVcUwE4hLWGoTONIvoviO9kWO6daZ5iuaqsvhNen5Jbf+KtFJVrD865FLEQVZ1GCD8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718118304; c=relaxed/simple; bh=Pr5wWvhHVw/trpDEr+pcmuY1SN/8/QhNjX7gFCAeNLE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Yj3EHwlWnnS6dcxM9QPGRV5lx8fukm0hUu71Ql1XTgg13ApS8qsAVxaXPbDdYbk/k+oc28zqGqGbs1aAVzh1qHIoyUog6g35tF5D9sSBSq+oGzgHGGKmR5KsrAwT/uVD0GSogtQjTeNe/Nd4a1DfttN8Ad+z7QS8Fya7xWEwN8Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TLdHAmk8; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TLdHAmk8" Received: by smtp.kernel.org (Postfix) with ESMTPS id 35C81C4AF4D; Tue, 11 Jun 2024 15:05:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1718118304; bh=Pr5wWvhHVw/trpDEr+pcmuY1SN/8/QhNjX7gFCAeNLE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=TLdHAmk8L/kHxUeT8a2V2hTP00IbkMbEoGHEwRAZ4w/CkDT1aiEtQ4LDpfI3KCwKK 2M+RqU5p2VZXKHNO2P45AkpHNbBj2qtqu4lXlTbMcNNf2qZXDXc4kfsf7gf49v19Yh j1a6pa9em9Qo8tlnhzOowH7CzqqAjONRzA0S25gTKy6GaRe4YhpaLk9i+LiF5X5PKk 8tbqUedCWPDxERIXD/cA+C3Tc5l0hgP1dGB1qyUdigckWkPNwPyQO34rgjXSD/XV3E FLupisDoX47UAapE2h8MinKMOouTJ4xss8aMzEGWOXH4rFC9BDEPU/dkf1xuWmMuJm NLWUPHAC+OJUg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 23ED5C27C7A; Tue, 11 Jun 2024 15:05:04 +0000 (UTC) From: Emil Velikov via B4 Relay Date: Tue, 11 Jun 2024 16:05:02 +0100 Subject: [PATCH kmod 02/20] man: add scdoc based man pages Precedence: bulk X-Mailing-List: linux-modules@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240611-man-v1-2-bd6864d49639@gmail.com> References: <20240611-man-v1-0-bd6864d49639@gmail.com> In-Reply-To: <20240611-man-v1-0-bd6864d49639@gmail.com> To: linux-modules@vger.kernel.org Cc: Emil Velikov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718118301; l=36523; i=emil.l.velikov@gmail.com; s=20230301; h=from:subject:message-id; bh=lbkgwK7cJlLPMsghg4UMx8wCmvzlg+8aV2Z3P4L4tEI=; b=ZEsLtsqvisw1VhwPZ/hiMnwW3fn1BkgOYZPwC+mT1b9gvF1AWSIvOC21vb+n1abZSpw6x0ZDF w2t9qgZ18snAcTzA9LUAPF3FBwmmn4qMGElx0V2ux6Vop5UrZazJHjm X-Developer-Key: i=emil.l.velikov@gmail.com; a=ed25519; pk=qeUTVTNyI3rcR2CfNNWsloTihgzmtbZo98GdxwZKCkY= X-Endpoint-Received: by B4 Relay for emil.l.velikov@gmail.com/20230301 with auth_id=35 X-Original-From: Emil Velikov Reply-To: emil.l.velikov@gmail.com From: Emil Velikov Working with xml is quite fiddly. Swap that for scdoc, which has very trivial markup-like syntax. We have opted for scdoc since it's available on practically any linux distribution. Implementation-wise it's a trivial C99 project, at 1k LoC. If using scdoc proves to be a burden, we can trivially port these to pandoc or similar - 90% of the content will stay the same. Signed-off-by: Emil Velikov --- Comparing the output via the compare.sh script, we can see a few advantages of scdoc over xsltproc: - uses ISO 8601 date format - does not choke for short opt + arg - does not escape every non-alphanum char so we get proper word breaks and nicer word wrapping There are a couple of cons though: - uses leading [ for table handling, so we need to manually escape it - manual indentation with spaces is not allowed, escape again Initially I was inclined to send patches in upstream scdoc to "fix" this. Then I noticed that: - only a couple of instances are affected - both are very crowded and could use some love I would be happy to prep something up - if anyone has concrete suggestions, please let me know. --- man/depmod.8.scd | 126 +++++++++++++++++++++++++++++ man/depmod.d.5.scd | 95 ++++++++++++++++++++++ man/insmod.8.scd | 36 +++++++++ man/kmod.8.scd | 48 +++++++++++ man/lsmod.8.scd | 30 +++++++ man/modinfo.8.scd | 78 ++++++++++++++++++ man/modprobe.8.scd | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++ man/modprobe.d.5.scd | 168 +++++++++++++++++++++++++++++++++++++++ man/modules.dep.5.scd | 43 ++++++++++ man/rmmod.8.scd | 50 ++++++++++++ 10 files changed, 890 insertions(+) diff --git a/man/depmod.8.scd b/man/depmod.8.scd new file mode 100644 index 0000000..0fe9128 --- /dev/null +++ b/man/depmod.8.scd @@ -0,0 +1,126 @@ +DEPMOD(8) "kmod" "depmod" + +# NAME + +depmod - Generate modules.dep and map files. + +# SYNOPSIS + +*depmod* [*-b* _basedir_] [*-o* _outdir_] [*-e*] [*-E* _Module.symvers_] +\ \ \ \ \ \ \ \[*-F* _System.map_] [*-n*] [*-v*] [*-A*] [*-P* _prefix_] [*-w*] [_version_] + +*depmod* [*-e*] [*-E* _Module.symvers_] [*-F* _System.map_] [*-n*] [*-v*] [*-P* _prefix_] +\ \ \ \ \ \ \ \[*-w*] [_version_] [_filename_...] + +# DESCRIPTION + +Linux kernel modules can provide services (called "symbols") for other modules +to use (using one of the EXPORT_SYMBOL variants in the code). If a second module +uses this symbol, that second module clearly depends on the first module. These +dependencies can get quite complex. + +*depmod* creates a list of module dependencies by reading each module under +@MODULE_DIRECTORY@/_version_ and determining what symbols it exports and what +symbols it needs. By default, this list is written to modules.dep, and a binary +hashed version named modules.dep.bin, in the same directory. If filenames are +given on the command line, only those modules are examined (which is rarely +useful unless all modules are listed). * depmod* also creates a list of symbols +provided by modules in the file named modules.symbols and its binary hashed +version, modules.symbols.bin. Finally, *depmod* will output a file named +modules.devname if modules supply special device names (devname) that should be +populated in /dev on boot (by a utility such as systemd-tmpfiles). + +If a _version_ is provided, then that kernel version's module directory is used +rather than the current kernel version (as returned by *uname -r*). + +# OPTIONS + +*-a*, *--all* + Probe all modules. This option is enabled by default if no file names + are given in the command-line. + +*-A*, *--quick* + This option scans to see if any modules are newer than the + modules.dep file before any work is done: if not, it silently exits + rather than regenerating the files. + +*-b* _basedir_, *--basedir* _basedir_ + If your modules are not currently in the (normal) directory + @MODULE_DIRECTORY@/_version_, but in a staging area, you can specify a + _basedir_ which is prepended to the directory name. This _basedir_ is + stripped from the resulting modules.dep file, so it is ready to be moved + into the normal location. Use this option if you are a distribution + vendor who needs to pre-generate the meta-data files rather than running + depmod again later. + +*-o* _outdir_, *--outdir* _outdir_ + Set the output directory where depmod will store any generated file. + _ outdir_ serves as a root to that location, similar to how _basedir_ is + used. Also this setting takes precedence and if used together with + _basedir_ it will result in the input being that directory, but the output + being the one set by _outdir_. + +*-C*, *--config* _file_ _or_ _directory_ + This option overrides the default configuration directory at + /etc/depmod.d/. + +*-e*, *--errsyms* + When combined with the *-F* option, this reports any symbols which a + module needs which are not supplied by other modules or the kernel. + Normally, any symbols not provided by modules are assumed to be provided + by the kernel (which should be true in a perfect world), but this + assumption can break especially when additionally updated third party + drivers are not correctly installed or were built incorrectly. + +*-E*, *--symvers* + When combined with the *-e* option, this reports any symbol versions + supplied by modules that do not match with the symbol versions provided + by the kernel in its Module.symvers. This option is mutually + incompatible with *-F*. + +*-F*, *--filesyms* _System.map_ + Supplied with the System.map produced when the kernel was built, this + allows the *-e* option to report unresolved symbols. This option is + mutually incompatible with *-E*. + +*-h*, *--help* + Print the help message and exit. + +*-n*, *--show*, *--dry-run* + This sends the resulting modules.dep and the various map files to + standard output rather than writing them into the module directory. + +*-P* + Some architectures prefix symbols with an extraneous character. This + specifies a prefix character (for example '\_') to ignore. + +*-v*, *--verbose* + In verbose mode, *depmod* will print (to stdout) all the symbols each + module depends on and the module's file name which provides that symbol. + +*-V*, *--version* + Show version of program and exit. See below for caveats when run on + older kernels. + +*-w* + Warn on duplicate dependencies, aliases, symbol versions, etc. + +# COPYRIGHT + +This manual page originally Copyright 2002, Rusty Russell, IBM Corporation. +Portions Copyright Jon Masters, and others. + +# SEE ALSO + +*depmod.d*(5), *modprobe*(8), *modules.dep*(5) + +# AUTHORS + +*Jon Masters* + Developer + +*Robby Workman* + Developer + +*Lucas De Marchi* + Developer diff --git a/man/depmod.d.5.scd b/man/depmod.d.5.scd new file mode 100644 index 0000000..9c42478 --- /dev/null +++ b/man/depmod.d.5.scd @@ -0,0 +1,95 @@ +DEPMOD.D(5) "kmod" "depmod.d" + +# NAME + +depmod.d - Configuration directory for depmod + +# SYNOPSIS + +/lib/depmod.d/\*.conf + +@DISTCONFDIR@/depmod.d/\*.conf + +/usr/local/lib/depmod.d/\*.conf + +/run/depmod.d/\*.conf + +/etc/depmod.d/\*.conf + +# DESCRIPTION + +The order in which modules are processed by the *depmod* command can be altered +on a global or per-module basis. This is typically useful in cases where +built-in kernel modules are complemented by custom built versions of the same +and the user wishes to affect the priority of processing in order to override +the module version supplied by the kernel. + +The format of files under depmod.d is simple: one command per line, with blank +lines and lines starting with '#' ignored (useful for adding comments). A '\\' +at the end of a line causes it to continue on the next line, which makes the +files a bit neater. + +# COMMANDS + +search _subdirectory..._ + This allows you to specify the order in which @MODULE_DIRECTORY@ (or + other configured module location) subdirectories will be processed by + *depmod*. Directories are listed in order, with the highest priority + given to the first listed directory and the lowest priority given to the + last directory listed. The special keyword *built-in* refers to the + standard module directories installed by the kernel. Another special + keyword *external* refers to the list of external directories, defined + by the *external* command. + + By default, depmod will give a higher priority to a directory with the + name *updates* using this built-in search string: "updates built-in" but + more complex arrangements are possible and are used in several popular + distributions. + +override _modulename_ _kernelversion_ _modulesubdirectory_ + This command allows you to override which version of a specific module + will be used when more than one module sharing the same name is + processed by the *depmod* command. It is possible to specify one kernel + or all kernels using the \* wildcard. _ modulesubdirectory_ is the name + of the subdirectory under @MODULE_DIRECTORY@ (or other module location) + where the target module is installed. + + For example, it is possible to override the priority of an updated test + module called *kmod* by specifying the following command: "override + kmod \* extra". This will ensure that any matching module name installed + under the *extra* subdirectory within @MODULE_DIRECTORY@ (or other + module location) will take priority over any likenamed module already + provided by the kernel. + +external _kernelversion_ _absolutemodulesdirectory..._ + This specifies a list of directories, which will be checked according to + the priorities in the *search* command. The order matters also, the + first directory has the higher priority. + + The _kernelversion_ is a POSIX regular expression or \* wildcard, like + in the *override*. + +exclude _excludedir_ + This specifies the trailing directories that will be excluded during the + search for kernel modules. + + The _excludedir_ is the trailing directory to exclude + +# COPYRIGHT + +This manual page Copyright 2006-2010, Jon Masters, Red Hat, Inc. + +# SEE ALSO + +*depmod*(8) + +# AUTHORS + +*Jon Masters* + Developer + +*Robby Workman* + Developer + +*Lucas De Marchi* + Developer diff --git a/man/insmod.8.scd b/man/insmod.8.scd new file mode 100644 index 0000000..b6f8654 --- /dev/null +++ b/man/insmod.8.scd @@ -0,0 +1,36 @@ +INSMOD(8) "kmod" "insmod" + +# NAME + +insmod - Simple program to insert a module into the Linux Kernel + +# SYNOPSIS + +*insmod* [_filename_] [_module options_...] + +# DESCRIPTION + +*insmod* is a trivial program to insert a module into the kernel. Most users +will want to use* modprobe*(8) instead, which is more clever and can handle +module dependencies. + +Only the most general of error messages are reported: as the work of trying to +link the module is now done inside the kernel, the *dmesg* usually gives more +information about errors. + +# COPYRIGHT + +This manual page originally Copyright 2002, Rusty Russell, IBM Corporation. +Maintained by Jon Masters and others. + +# SEE ALSO + +*modprobe*(8), *rmmod*(8), *lsmod*(8), *modinfo*(8) *depmod*(8) + +# AUTHORS + +*Jon Masters* + Developer + +*Lucas De Marchi* + Developer diff --git a/man/kmod.8.scd b/man/kmod.8.scd new file mode 100644 index 0000000..d292a13 --- /dev/null +++ b/man/kmod.8.scd @@ -0,0 +1,48 @@ +KMOD(8) "kmod" "kmod" + +# NAME + +kmod - Program to manage Linux Kernel modules + +# SYNOPSIS + +*kmod* [*OPTIONS*...] [_COMMAND_] [*COMMAND_OPTIONS*...] + +# DESCRIPTION + +*kmod* is a multi-call binary which implements the programs used to control +Linux Kernel modules. Most users will only run it using its other names. + +# OPTIONS + +*-V --version* + Show the program version and exit. + +*-h --help* + Show the help message. + +# COMMANDS + +*help* + Show the help message. + +*list* + List the currently loaded modules. + +*static-nodes* + Output the static device nodes information provided by the modules of + the currently running kernel version. + +# COPYRIGHT + +This manual page originally Copyright 2014, Marco d'Itri. Maintained by Lucas De +Marchi and others. + +# SEE ALSO + +*lsmod*(8), *rmmod*(8), *insmod*(8), *modinfo*(8), *modprobe*(8), *depmod*(8) + +# AUTHOR + +*Lucas De Marchi* + Developer diff --git a/man/lsmod.8.scd b/man/lsmod.8.scd new file mode 100644 index 0000000..7195cba --- /dev/null +++ b/man/lsmod.8.scd @@ -0,0 +1,30 @@ +LSMOD(8) "kmod" "lsmod" + +# NAME + +lsmod - Show the status of modules in the Linux Kernel + +# SYNOPSIS +*lsmod* + +# DESCRIPTION + +*lsmod* is a trivial program which nicely formats the contents of the +/proc/modules, showing what kernel modules are currently loaded. + +# COPYRIGHT + +This manual page originally Copyright 2002, Rusty Russell, IBM Corporation. +Maintained by Jon Masters and others. + +# SEE ALSO + +*insmod*(8), *modprobe*(8), *modinfo*(8) *depmod*(8) + +# AUTHORS + +*Jon Masters* + Developer + +*Lucas De Marchi* + Developer diff --git a/man/modinfo.8.scd b/man/modinfo.8.scd new file mode 100644 index 0000000..fd945ce --- /dev/null +++ b/man/modinfo.8.scd @@ -0,0 +1,78 @@ +MODINFO(8) "kmod" "modinfo" + +# NAME + +modinfo - Show information about a Linux Kernel module + +# SYNOPSIS + +*modinfo* [*-0*] [*-F* _field_] [*-k* _kernel_] [modulename|filename...] + +*modinfo* *-V* + +*modinfo* *-h* + +# DESCRIPTION + +*modinfo* extracts information from the Linux Kernel modules given on the +command line. If the module name is not a filename, then the @MODULE_DIRECTORY@/ +_version_ directory is searched, as is also done by *modprobe*(8) when loading +kernel modules. + +*modinfo* by default lists each attribute of the module in form _fieldname_ : +_value_, for easy reading. The filename is listed the same way (although it's +not really an attribute). + +This version of *modinfo* can understand modules of any Linux Kernel +architecture. + +# OPTIONS + +*-V*, *--version* + Print the modinfo version. + +*-F*, *--field* + Only print this field value, one per line. This is most useful for + scripts. Field names are case-insensitive. Common fields (which may not + be in every module) include author, description, license, parm, depends, + and alias. There are often multiple parm, alias and depends fields. The + special field filename lists the filename of the module. + +*-b* _basedir_, *--basedir* _basedir_ + Root directory for modules, / by default. + +*-k* _kernel_ + Provide information about a kernel other than the running one. This is + particularly useful for distributions needing to extract information + from a newly installed (but not yet running) set of kernel modules. For + example, you wish to find which firmware files are needed by various + modules in a new kernel for which you must make an initrd/initramfs + image prior to booting. + +*-0*, *--null* + Use the ASCII zero character to separate field values, instead of a new + line. This is useful for scripts, since a new line can theoretically + appear inside a field. + +*-a* *--author*, *-d* *--description*, *-l* *--license*, *-p* *--parameters*, +*-n* *--filename* + These are shortcuts for the *--field* flag's author, description, + license, parm and filename arguments, to ease the transition from the + old modutils *modinfo*. + +# COPYRIGHT + +This manual page originally Copyright 2003, Rusty Russell, IBM Corporation. +Maintained by Jon Masters and others. + +# SEE ALSO + +*modprobe*(8) + +# AUTHORS + +*Jon Masters* + Developer + +*Lucas De Marchi* + Developer diff --git a/man/modprobe.8.scd b/man/modprobe.8.scd new file mode 100644 index 0000000..f678654 --- /dev/null +++ b/man/modprobe.8.scd @@ -0,0 +1,216 @@ +MODPROBE(8) "kmod" "modprobe" + +# NAME + +modprobe - Add and remove modules from the Linux Kernel + +# SYNOPSIS + +*modprobe* [*-v*] [*-V*] [*-C *_config-file_] [*-n*] [*-i*] [*-q*] [*-b*] [_modulename_] +\ \ \ \ \ \ \ \ \ \[_module parameters_...] + +*modprobe* [-r] [*-v*] [*-n*] [*-i*] [_modulename_...] + +*modprobe* [-c] + +*modprobe* [--dump-modversions] [_filename_] + +# DESCRIPTION + +*modprobe* intelligently adds or removes a module from the Linux kernel: note +that for convenience, there is no difference between \_ and - in module names +(automatic underscore conversion is performed). * modprobe* looks in the module +directory @DISTCONFDIR@/`uname -r` for all the modules and other files, except +for the optional configuration files in the /etc/modprobe.d directory (see +*modprobe.d*(5)). * modprobe* will also use module options specified on the +kernel command line in the form of .