A variety of tweaks to kernel-dev manual, section kernel-dev-common.xml, which include:
* adding extra text in places to clarify possibly ambiguous content * some formatting changes related to font and overly long lines * update some old version numbers that don't even exist anymore Signed-off-by: Robert P. J. Day <rpj...@crashcourse.ca> --- diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml index a9aafd3..cb186c9 100644 --- a/documentation/kernel-dev/kernel-dev-common.xml +++ b/documentation/kernel-dev/kernel-dev-common.xml @@ -25,10 +25,10 @@ If you are going to be modifying kernel recipes, it is recommended that you create and prepare your own layer in which to do your work. - Your layer contains its own + Your layer would typically contain its own <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink> append files - (<filename>.bbappend</filename>) and provides a convenient + (<filename>.bbappend</filename>) and would provide a convenient mechanism to create your own recipe files (<filename>.bb</filename>). For details on how to create and work with layers, see the following @@ -59,9 +59,9 @@ <para> Modifying an existing recipe can consist of the following: <itemizedlist> - <listitem><para>Creating the append file</para></listitem> - <listitem><para>Applying patches</para></listitem> - <listitem><para>Changing the configuration</para></listitem> + <listitem><para>Creating an append file</para></listitem> + <listitem><para>Applying some local patches</para></listitem> + <listitem><para>Changing the kernel configuration</para></listitem> </itemizedlist> </para> @@ -81,14 +81,14 @@ <para> You create this file in your custom layer. - You also name it accordingly based on the linux-yocto recipe - you are using. + You also name it accordingly based on the version of the + linux-yocto recipe you are modifying. For example, if you are modifying the - <filename>meta/recipes-kernel/linux/linux-yocto_3.19.bb</filename> - recipe, the append file will typically be located as follows - within your custom layer: + <filename>meta/recipes-kernel/linux/linux-yocto_4.4.bb</filename> + recipe, the corresponding append file will typically be located + as follows within your custom layer: <literallayout class='monospaced'> - <replaceable>your-layer</replaceable>/recipes-kernel/linux/linux-yocto_3.19.bbappend + <replaceable>your-layer</replaceable>/recipes-kernel/linux/linux-yocto_4.4.bbappend </literallayout> The append file should initially extend the <ulink url='&YOCTO_DOCS_REF_URL;#var-FILESPATH'><filename>FILESPATH</filename></ulink> @@ -133,12 +133,14 @@ <para> For example, you can apply a three-patch series by adding the - following lines to your linux-yocto - <filename>.bbappend</filename> file in your layer: + following lines to the linux-yocto + <filename>.bbappend</filename> file in your custom layer: <literallayout class='monospaced'> - SRC_URI += "file://0001-first-change.patch" - SRC_URI += "file://0002-second-change.patch" - SRC_URI += "file://0003-third-change.patch" + SRC_URI += " \ + file://0001-first-change.patch \ + file://0002-second-change.patch \ + file://0003-third-change.patch \ + " </literallayout> The next time you run BitBake to build the Linux kernel, BitBake detects the change in the recipe and fetches and @@ -158,11 +160,12 @@ <para> You can make wholesale or incremental changes to the final <filename>.config</filename> file used for the eventual - Linux kernel configuration by including a - <filename>defconfig</filename> file and by specifying + Linux kernel configuration by including a local + <filename>defconfig</filename> file, as well as by specifying configuration fragments in the <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> - to be applied to that file. + to be applied to the configuration defined by that + <filename>defconfig</filename> file. </para> <para> @@ -204,10 +207,10 @@ <para> Generally speaking, the preferred approach is to determine the - incremental change you want to make and add that as a - configuration fragment. - For example, if you want to add support for a basic serial - console, create a file named <filename>8250.cfg</filename> in + incremental changes you want to make and add each of those changes + using a separate configuration fragment. + For example, if you want to add support for a basic (8250 UART-based) serial + console, create a file named, for example, <filename>8250.cfg</filename> in the <filename>${PN}</filename> directory with the following content (without indentation): <literallayout class='monospaced'> @@ -219,7 +222,7 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y </literallayout> - Next, include this configuration fragment and extend the + Next, include this configuration fragment and (as before) extend the <filename>FILESPATH</filename> variable in your <filename>.bbappend</filename> file: <literallayout class='monospaced'> @@ -231,6 +234,17 @@ new configuration before building the kernel. </para> + <note> + Depending on the kernel config fragment you are adding, it might not be + necessary to specify every single setting related to what you want. + For instance, in the above example, once you select + <varname>CONFIG_SERIAL_8250=y</varname>, some of the subsequent config + settings might be set based on default values in the kernel's + corresponding <varname>Kconfig</varname> + file. However, some developers prefer to list everything related to + the selected feature for the sake of completeness and clarity. + </note> + <para> For a detailed example showing how to configure the kernel, see the @@ -270,7 +284,7 @@ edit the recipe that builds your kernel so that it has the following command form: <literallayout class='monospaced'> - KBUILD_DEFCONFIG_KMACHINE ?= <replaceable>defconfig_file</replaceable> + KBUILD_DEFCONFIG_<replaceable>KMACHINE</replaceable> ?= <replaceable>defconfig_file</replaceable> </literallayout> You need to append the variable with <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ======================================================================== -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto