mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 22:21:21 +00:00
kbuild: fixup Documentation/kbuild/modules.txt
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
da7c04083c
commit
2e99f3190f
1 changed files with 23 additions and 23 deletions
|
@ -24,7 +24,7 @@ In this document you will find information about:
|
||||||
--- 6.1 INSTALL_MOD_PATH
|
--- 6.1 INSTALL_MOD_PATH
|
||||||
--- 6.2 INSTALL_MOD_DIR
|
--- 6.2 INSTALL_MOD_DIR
|
||||||
=== 7. Module versioning & Module.symvers
|
=== 7. Module versioning & Module.symvers
|
||||||
--- 7.1 Symbols fron the kernel (vmlinux + modules)
|
--- 7.1 Symbols from the kernel (vmlinux + modules)
|
||||||
--- 7.2 Symbols and external modules
|
--- 7.2 Symbols and external modules
|
||||||
--- 7.3 Symbols from another external module
|
--- 7.3 Symbols from another external module
|
||||||
=== 8. Tips & Tricks
|
=== 8. Tips & Tricks
|
||||||
|
@ -63,14 +63,15 @@ when building an external module.
|
||||||
For the running kernel use:
|
For the running kernel use:
|
||||||
make -C /lib/modules/`uname -r`/build M=`pwd`
|
make -C /lib/modules/`uname -r`/build M=`pwd`
|
||||||
|
|
||||||
For the above command to succeed the kernel must have been built with
|
For the above command to succeed, the kernel must have been
|
||||||
modules enabled.
|
built with modules enabled.
|
||||||
|
|
||||||
To install the modules that were just built:
|
To install the modules that were just built:
|
||||||
|
|
||||||
make -C <path-to-kernel> M=`pwd` modules_install
|
make -C <path-to-kernel> M=`pwd` modules_install
|
||||||
|
|
||||||
More complex examples later, the above should get you going.
|
More complex examples will be shown later, the above should
|
||||||
|
be enough to get you started.
|
||||||
|
|
||||||
--- 2.2 Available targets
|
--- 2.2 Available targets
|
||||||
|
|
||||||
|
@ -89,13 +90,13 @@ when building an external module.
|
||||||
Same functionality as if no target was specified.
|
Same functionality as if no target was specified.
|
||||||
See description above.
|
See description above.
|
||||||
|
|
||||||
make -C $KDIR M=$PWD modules_install
|
make -C $KDIR M=`pwd` modules_install
|
||||||
Install the external module(s).
|
Install the external module(s).
|
||||||
Installation default is in /lib/modules/<kernel-version>/extra,
|
Installation default is in /lib/modules/<kernel-version>/extra,
|
||||||
but may be prefixed with INSTALL_MOD_PATH - see separate
|
but may be prefixed with INSTALL_MOD_PATH - see separate
|
||||||
chapter.
|
chapter.
|
||||||
|
|
||||||
make -C $KDIR M=$PWD clean
|
make -C $KDIR M=`pwd` clean
|
||||||
Remove all generated files for the module - the kernel
|
Remove all generated files for the module - the kernel
|
||||||
source directory is not modified.
|
source directory is not modified.
|
||||||
|
|
||||||
|
@ -129,17 +130,16 @@ when building an external module.
|
||||||
|
|
||||||
To make sure the kernel contains the information required to
|
To make sure the kernel contains the information required to
|
||||||
build external modules the target 'modules_prepare' must be used.
|
build external modules the target 'modules_prepare' must be used.
|
||||||
'module_prepare' solely exists as a simple way to prepare
|
'module_prepare' exists solely as a simple way to prepare
|
||||||
a kernel for building external modules.
|
a kernel source tree for building external modules.
|
||||||
Note: modules_prepare will not build Module.symvers even if
|
Note: modules_prepare will not build Module.symvers even if
|
||||||
CONFIG_MODULEVERSIONING is set.
|
CONFIG_MODULEVERSIONING is set. Therefore a full kernel build
|
||||||
Therefore a full kernel build needs to be executed to make
|
needs to be executed to make module versioning work.
|
||||||
module versioning work.
|
|
||||||
|
|
||||||
--- 2.5 Building separate files for a module
|
--- 2.5 Building separate files for a module
|
||||||
It is possible to build single files which are part of a module.
|
It is possible to build single files which are part of a module.
|
||||||
This works equal for the kernel, a module and even for external
|
This works equally well for the kernel, a module and even for
|
||||||
modules.
|
external modules.
|
||||||
Examples (module foo.ko, consist of bar.o, baz.o):
|
Examples (module foo.ko, consist of bar.o, baz.o):
|
||||||
make -C $KDIR M=`pwd` bar.lst
|
make -C $KDIR M=`pwd` bar.lst
|
||||||
make -C $KDIR M=`pwd` bar.o
|
make -C $KDIR M=`pwd` bar.o
|
||||||
|
@ -177,7 +177,7 @@ Then, to install the module use the following command:
|
||||||
M=`pwd` \
|
M=`pwd` \
|
||||||
modules_install
|
modules_install
|
||||||
|
|
||||||
If one looks closely you will see that this is the same commands as
|
If you look closely you will see that this is the same command as
|
||||||
listed before - with the directories spelled out.
|
listed before - with the directories spelled out.
|
||||||
|
|
||||||
The above are rather long commands, and the following chapter
|
The above are rather long commands, and the following chapter
|
||||||
|
@ -462,12 +462,12 @@ Module.symvers contains a list of all exported symbols from a kernel build.
|
||||||
Sample:
|
Sample:
|
||||||
0x2d036834 scsi_remove_host drivers/scsi/scsi_mod
|
0x2d036834 scsi_remove_host drivers/scsi/scsi_mod
|
||||||
|
|
||||||
For a kernel build without CONFIG_MODVERSIONING enabled, the crc
|
For a kernel build without CONFIG_MODVERSIONS enabled, the crc
|
||||||
would read: 0x00000000
|
would read: 0x00000000
|
||||||
|
|
||||||
Module.symvers serves two purposes:
|
Module.symvers serves two purposes:
|
||||||
1) It lists all exported symbols both from vmlinux and all modules
|
1) It lists all exported symbols both from vmlinux and all modules
|
||||||
2) It lists the CRC if CONFIG_MODVERSION is enabled
|
2) It lists the CRC if CONFIG_MODVERSIONS is enabled
|
||||||
|
|
||||||
--- 7.2 Symbols and external modules
|
--- 7.2 Symbols and external modules
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue