From a0ac33680174f372d520a4f84b0799a6c01e8345 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 14 Jan 2013 11:59:38 -0800 Subject: kernel-dev: Edits to the "Incorporating Out-of-Tree Modules" section. Removed the original text. (From yocto-docs rev: 0f3e89c7e6b8249cd643822f33c8168ca7cd83c9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/kernel-dev/kernel-dev-common.xml | 67 -------------------------- 1 file changed, 67 deletions(-) (limited to 'documentation') diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml index 96c7933805..784bf0b8f9 100644 --- a/documentation/kernel-dev/kernel-dev-common.xml +++ b/documentation/kernel-dev/kernel-dev-common.xml @@ -659,73 +659,6 @@ a RDEPENDS variable, the build will not fail if this module is not available to include in the image. - - - Original Text: - -While it is always preferable to work with sources integrated into the Linux -kernel sources, if you have need of an external kernel module, the hello-mod -recipe is available as a template to create your own out-of-tree Linux kernel -module recipe. It is available in the poky repository at: - - meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb - -To get started, copy this recipe to your layer and provide it with a meaningful name, such as -mymodule_1.0.bb. In the same directory, create a directory named "files" where -you can store any source files, patches, or other files necessary for building -the module which do not come with the sources. Finally, update the recipe as -appropriate for the module. Typically you will need to set the following -variables: - - o DESCRIPTION - o LICENSE* - o SRC_URI - o PV - -Depending on the build system used by the module sources, you may need to make -adjustments. For example, a typical module Makefile will look much like that -provided with hello-mod: - - obj-m := hello.o - - SRC := $(shell pwd) - - all: - $(MAKE) -C $(KERNEL_SRC) M=$(SRC) - - modules_install: - $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install - ... - -The important point to note here is the KERNEL_SRC variable. The module bbclass -class sets this, as well as KERNEL_PATH, to ${STAGING_KERNEL_DIR} with the -necessary Linux kernel build information to build modules. If your module -Makefile uses a different variable, you may want to override the do_compile() -step, or create a patch to the Makefile to work with the more typical KERNEL_SRC -or KERNEL_PATH variables. - -After you have prepared the recipe, you will likely want to include the module -in your images. To do this, see the documentation for the following variables in -the Yocto Project Reference Manual and set one of them as appropriate in your -machine config file: - - MACHINE_ESSENTIAL_EXTRA_RDEPENDS - MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS - MACHINE_EXTRA_RDEPENDS - MACHINE_EXTRA_RRECOMMENDS - -As modules are often not required for boot and may be excluded from certain -build configurations, the following allows for the most flexibility: - - MACHINE_EXTRA_RRECOMMENDS += "kernel-module-mymodule" - -Where the value is derived by appending the module filename without the .ko -extension to the string "kernel-module-". - -As it is an RRECOMMENDS (and not an RDEPENDS) variable, the build will not fail -if this module is not available to include in the image. - -