Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e99f319 authored by Robert P. J. Day's avatar Robert P. J. Day Committed by Sam Ravnborg
Browse files

kbuild: fixup Documentation/kbuild/modules.txt



Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
parent da7c0408
Loading
Loading
Loading
Loading
+23 −23
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ In this document you will find information about:
	   --- 6.1 INSTALL_MOD_PATH
	   --- 6.2 INSTALL_MOD_DIR
	=== 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.3 Symbols from another external module
	=== 8. Tips & Tricks
@@ -63,14 +63,15 @@ when building an external module.
	For the running kernel use:
		make -C /lib/modules/`uname -r`/build M=`pwd`

	For the above command to succeed the kernel must have been built with
	modules enabled.
	For the above command to succeed, the kernel must have been
	built with modules enabled.

	To install the modules that were just built:

		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

@@ -89,13 +90,13 @@ when building an external module.
		Same functionality as if no target was specified.
		See description above.

	make -C $KDIR M=$PWD modules_install
	make -C $KDIR M=`pwd` modules_install
		Install the external module(s).
		Installation default is in /lib/modules/<kernel-version>/extra,
		but may be prefixed with INSTALL_MOD_PATH - see separate
		chapter.

	make -C $KDIR M=$PWD clean
	make -C $KDIR M=`pwd` clean
		Remove all generated files for the module - the kernel
		source directory is not modified.

@@ -129,17 +130,16 @@ when building an external module.

	To make sure the kernel contains the information required to
	build external modules the target 'modules_prepare' must be used.
	'module_prepare' solely exists as a simple way to prepare
	a kernel for building external modules.
	'module_prepare' exists solely as a simple way to prepare
	a kernel source tree for building external modules.
	Note: modules_prepare will not build Module.symvers even if
	      CONFIG_MODULEVERSIONING is set.
	      Therefore a full kernel build needs to be executed to make
	      module versioning work.
	CONFIG_MODULEVERSIONING is set. Therefore a full kernel build
	needs to be executed to make module versioning work.

--- 2.5 Building separate files for 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
	modules.
	This works equally well for the kernel, a module and even for
	external modules.
	Examples (module foo.ko, consist of bar.o, baz.o):
		make -C $KDIR M=`pwd` bar.lst
		make -C $KDIR M=`pwd` bar.o
@@ -177,7 +177,7 @@ Then, to install the module use the following command:
	        M=`pwd`                               \
		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.

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:
		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

	Module.symvers serves two purposes:
	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