mirror of
https://git.yoctoproject.org/poky
synced 2026-09-19 09:49:33 +02:00
kernel-dev: Eliminated "Generating Configuration Files" section.
This section was largely redundant now. The small things that did add value I placed in other areas of the chapter 2. One was a new section on expanding variables using bitbake -e. Another was a bit about the defconfig file. And a small procedure on how to create config fragments using the "diffconfig" command was retained. Links from the dev-manual and the ref-manual were adjusted as well. (From yocto-docs rev: 7059d3eac1fec20089cabf197503f1bec747686d) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
2e21a56a8a
commit
fae276ea09
@@ -6770,9 +6770,6 @@ Some notes from Cal:
|
|||||||
<filename>scripts/kconfig</filename> directory.</para>
|
<filename>scripts/kconfig</filename> directory.</para>
|
||||||
<para>For more information on configuration fragments,
|
<para>For more information on configuration fragments,
|
||||||
see the
|
see the
|
||||||
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#generating-configuration-files'>Generating Configuration Files</ulink>"
|
|
||||||
section of the Yocto Project Linux Kernel Development
|
|
||||||
Manual and the
|
|
||||||
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#creating-config-fragments'>Creating Configuration Fragments</ulink>"
|
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#creating-config-fragments'>Creating Configuration Fragments</ulink>"
|
||||||
section in the Yocto Project Linux Kernel Development
|
section in the Yocto Project Linux Kernel Development
|
||||||
Manual.
|
Manual.
|
||||||
|
|||||||
@@ -319,8 +319,6 @@
|
|||||||
</literallayout>
|
</literallayout>
|
||||||
You can find information on configuration fragment files in the
|
You can find information on configuration fragment files in the
|
||||||
"<link linkend='creating-config-fragments'>Creating Configuration Fragments</link>"
|
"<link linkend='creating-config-fragments'>Creating Configuration Fragments</link>"
|
||||||
section and in
|
|
||||||
the "<link linkend='generating-configuration-files'>Generating Configuration Files</link>"
|
|
||||||
section.
|
section.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -347,7 +345,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
As described in the
|
As described in the
|
||||||
"<link linkend='generating-configuration-files'>Generating Configuration Files</link>"
|
"<link linkend='validating-configuration'>Validating Configuration</link>"
|
||||||
section, you can use the following BitBake command to audit your
|
section, you can use the following BitBake command to audit your
|
||||||
configuration:
|
configuration:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
@@ -634,7 +632,7 @@
|
|||||||
For information on how to break a complete
|
For information on how to break a complete
|
||||||
<filename>.config</filename> file into the various
|
<filename>.config</filename> file into the various
|
||||||
configuration fragments, see the
|
configuration fragments, see the
|
||||||
"<link linkend='generating-configuration-files'>Generating Configuration Files</link>"
|
"<link linkend='creating-config-fragments'>Creating Configuration Fragments</link>"
|
||||||
section.
|
section.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|||||||
@@ -1479,8 +1479,8 @@
|
|||||||
<title>Using <filename>menuconfig</filename></title>
|
<title>Using <filename>menuconfig</filename></title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The easiest way to define kernel configurations is to set them through the
|
The easiest way to define kernel configurations is to set
|
||||||
<filename>menuconfig</filename> tool.
|
them through the <filename>menuconfig</filename> tool.
|
||||||
This tool provides an interactive method with which
|
This tool provides an interactive method with which
|
||||||
to set kernel configurations.
|
to set kernel configurations.
|
||||||
For general information on <filename>menuconfig</filename>, see
|
For general information on <filename>menuconfig</filename>, see
|
||||||
@@ -1495,8 +1495,8 @@
|
|||||||
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
|
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
|
||||||
script found in the
|
script found in the
|
||||||
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>.
|
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>.
|
||||||
You must also be sure of the state of your build's configuration
|
You must also be sure of the state of your build's
|
||||||
in the
|
configuration in the
|
||||||
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
|
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
|
||||||
The following commands initialize the BitBake environment,
|
The following commands initialize the BitBake environment,
|
||||||
run the
|
run the
|
||||||
@@ -1516,6 +1516,17 @@
|
|||||||
After making your changes, simply exit the tool and save your
|
After making your changes, simply exit the tool and save your
|
||||||
changes to create an updated version of the
|
changes to create an updated version of the
|
||||||
<filename>.config</filename> configuration file.
|
<filename>.config</filename> configuration file.
|
||||||
|
<note>
|
||||||
|
You can use the entire <filename>.config</filename> file
|
||||||
|
as the <filename>defconfig</filename> file.
|
||||||
|
For information on <filename>defconfig</filename> files,
|
||||||
|
see the
|
||||||
|
"<link linkend='changing-the-configuration'>Changing the Configuration</link>",
|
||||||
|
"<link linkend='using-an-in-tree-defconfig-file'>Using an In-Tree <filename>defconfig</filename> File</link>,
|
||||||
|
and
|
||||||
|
"<link linkend='creating-a-defconfig-file'>Creating a <filename>defconfig</filename> File</link>"
|
||||||
|
sections.
|
||||||
|
</note>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@@ -1655,10 +1666,8 @@
|
|||||||
after applying the existing defconfig file configurations.
|
after applying the existing defconfig file configurations.
|
||||||
</note>
|
</note>
|
||||||
For more information on configuring the kernel, see the
|
For more information on configuring the kernel, see the
|
||||||
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#changing-the-configuration'>Changing the Configuration</ulink>"
|
"<link link='changing-the-configuration'>Changing the Configuration</link>"
|
||||||
and
|
section.
|
||||||
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#generating-configuration-files'>Generating Configuration Files</ulink>"
|
|
||||||
sections.
|
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -1695,6 +1704,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
It is simple to create a configuration fragment.
|
It is simple to create a configuration fragment.
|
||||||
|
One method is to use shell commands.
|
||||||
For example, issuing the following from the shell creates a
|
For example, issuing the following from the shell creates a
|
||||||
configuration fragment file named
|
configuration fragment file named
|
||||||
<filename>my_smp.cfg</filename> that enables multi-processor
|
<filename>my_smp.cfg</filename> that enables multi-processor
|
||||||
@@ -1710,6 +1720,66 @@
|
|||||||
</note>
|
</note>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Another method is to create a configuration fragment using the
|
||||||
|
differences between two configuration files: one previously
|
||||||
|
created and saved, and one freshly created using the
|
||||||
|
<filename>menuconfig</filename> tool.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
To create a configuration fragment using this method, follow
|
||||||
|
these steps:
|
||||||
|
<orderedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<emphasis>Complete a Build Through Kernel Configuration:</emphasis>
|
||||||
|
Complete a build at least through the kernel
|
||||||
|
configuration task as follows:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ bitbake linux-yocto -c kernel_configme -f
|
||||||
|
</literallayout>
|
||||||
|
This step ensures that you create a
|
||||||
|
<filename>.config</filename> file from a known state.
|
||||||
|
Because situations exist where your build state might
|
||||||
|
become unknown, it is best to run this task prior
|
||||||
|
to starting <filename>menuconfig</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<emphasis>Launch <filename>menuconfig</filename>:</emphasis>
|
||||||
|
Run the <filename>menuconfig</filename> command:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ bitbake linux-yocto -c menuconfig
|
||||||
|
</literallayout>
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<emphasis>Create the Configuration Fragment:</emphasis>
|
||||||
|
Run the <filename>diffconfig</filename>
|
||||||
|
command to prepare a configuration fragment.
|
||||||
|
The resulting file <filename>fragment.cfg</filename>
|
||||||
|
is placed in the
|
||||||
|
<filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink><filename>}</filename> directory:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ bitbake linux-yocto -c diffconfig
|
||||||
|
</literallayout>
|
||||||
|
</para></listitem>
|
||||||
|
</orderedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <filename>diffconfig</filename> command creates a file
|
||||||
|
that is a list of Linux kernel <filename>CONFIG_</filename>
|
||||||
|
assignments.
|
||||||
|
See the "<link linkend='changing-the-configuration'>Changing the Configuration</link>"
|
||||||
|
section for additional information on how to use the output
|
||||||
|
as a configuration fragment.
|
||||||
|
<note>
|
||||||
|
You can also use this method to create configuration
|
||||||
|
fragments for a BSP.
|
||||||
|
See the "<link linkend='bsp-descriptions'>BSP Descriptions</link>"
|
||||||
|
section for more information.
|
||||||
|
</note>
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Where do you put your configuration fragment files?
|
Where do you put your configuration fragment files?
|
||||||
You can place these files in an area pointed to by
|
You can place these files in an area pointed to by
|
||||||
@@ -1976,6 +2046,24 @@
|
|||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section id='expanding-variables'>
|
||||||
|
<title>Expanding Variables</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Sometimes it is helpful to determine what a variable expands
|
||||||
|
to during a build.
|
||||||
|
You can do examine the values of variables by examining the
|
||||||
|
output of the <filename>bitbake -e</filename> command.
|
||||||
|
The output is long and is more easily managed in a text file,
|
||||||
|
which allows for easy searches:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ bitbake -e virtual/kernel > <replaceable>some_text_file</replaceable>
|
||||||
|
</literallayout>
|
||||||
|
Within the text file, you can see exactly how each variable is
|
||||||
|
expanded and used by the OpenEmbedded build system.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
<section id='working-with-a-dirty-kernel-version-string'>
|
<section id='working-with-a-dirty-kernel-version-string'>
|
||||||
<title>Working with a "Dirty" Kernel Version String</title>
|
<title>Working with a "Dirty" Kernel Version String</title>
|
||||||
|
|
||||||
@@ -2045,102 +2133,6 @@
|
|||||||
"linux-yocto".
|
"linux-yocto".
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<section id='generating-configuration-files'>
|
|
||||||
<title>Generating Configuration Files</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You can manipulate the <filename>.config</filename> file
|
|
||||||
used to build a linux-yocto recipe with the
|
|
||||||
<filename>menuconfig</filename> command as follows:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ bitbake linux-yocto -c menuconfig
|
|
||||||
</literallayout>
|
|
||||||
This command starts the Linux kernel configuration tool,
|
|
||||||
which allows you to prepare a new
|
|
||||||
<filename>.config</filename> file for the build.
|
|
||||||
When you exit the tool, be sure to save your changes
|
|
||||||
at the prompt.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The resulting <filename>.config</filename> file is
|
|
||||||
located in the build directory,
|
|
||||||
<filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-B'><filename>B</filename></ulink><filename>}</filename>,
|
|
||||||
which expands to
|
|
||||||
<filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink><filename>}</filename><filename>/linux-</filename><filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_ARCH'><filename>PACKAGE_ARCH</filename></ulink><filename>}-${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LINUX_KERNEL_TYPE'><filename>LINUX_KERNEL_TYPE</filename></ulink><filename>}-build</filename>.
|
|
||||||
You can use the entire <filename>.config</filename> file as the
|
|
||||||
<filename>defconfig</filename> file as described in the
|
|
||||||
"<link linkend='changing-the-configuration'>Changing the Configuration</link>" section.
|
|
||||||
For more information on the <filename>.config</filename> file,
|
|
||||||
see the
|
|
||||||
"<link linkend='using-menuconfig'>Using <filename>menuconfig</filename></link>"
|
|
||||||
section.
|
|
||||||
<note>
|
|
||||||
You can determine what a variable expands to by looking
|
|
||||||
at the output of the <filename>bitbake -e</filename>
|
|
||||||
command:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ bitbake -e virtual/kernel
|
|
||||||
</literallayout>
|
|
||||||
Search the output for the variable in which you are
|
|
||||||
interested to see exactly how it is expanded and used.
|
|
||||||
</note>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
A better method is to create a configuration fragment using the
|
|
||||||
differences between two configuration files: one previously
|
|
||||||
created and saved, and one freshly created using the
|
|
||||||
<filename>menuconfig</filename> tool.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
To create a configuration fragment using this method, follow
|
|
||||||
these steps:
|
|
||||||
<orderedlist>
|
|
||||||
<listitem><para>Complete a build at least through the kernel
|
|
||||||
configuration task as follows:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ bitbake linux-yocto -c kernel_configme -f
|
|
||||||
</literallayout>
|
|
||||||
This step ensures that you will be creating a
|
|
||||||
<filename>.config</filename> file from a known state.
|
|
||||||
Because situations exist where your build state might
|
|
||||||
become unknown, it is best to run the previous
|
|
||||||
command prior to starting up
|
|
||||||
<filename>menuconfig</filename>.
|
|
||||||
</para></listitem>
|
|
||||||
<listitem><para>Run the <filename>menuconfig</filename>
|
|
||||||
command:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ bitbake linux-yocto -c menuconfig
|
|
||||||
</literallayout></para></listitem>
|
|
||||||
<listitem><para>Run the <filename>diffconfig</filename>
|
|
||||||
command to prepare a configuration fragment.
|
|
||||||
The resulting file <filename>fragment.cfg</filename>
|
|
||||||
will be placed in the
|
|
||||||
<filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink><filename>}</filename> directory:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ bitbake linux-yocto -c diffconfig
|
|
||||||
</literallayout></para></listitem>
|
|
||||||
</orderedlist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The <filename>diffconfig</filename> command creates a file that is a
|
|
||||||
list of Linux kernel <filename>CONFIG_</filename> assignments.
|
|
||||||
See the "<link linkend='changing-the-configuration'>Changing the Configuration</link>"
|
|
||||||
section for information on how to use the output as a
|
|
||||||
configuration fragment.
|
|
||||||
<note>
|
|
||||||
You can also use this method to create configuration
|
|
||||||
fragments for a BSP.
|
|
||||||
See the "<link linkend='bsp-descriptions'>BSP Descriptions</link>"
|
|
||||||
section for more information.
|
|
||||||
</note>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='modifying-source-code'>
|
<section id='modifying-source-code'>
|
||||||
<title>Modifying Source Code</title>
|
<title>Modifying Source Code</title>
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,8 @@
|
|||||||
</question>
|
</question>
|
||||||
<answer>
|
<answer>
|
||||||
<para>
|
<para>
|
||||||
Refer to the "<link linkend='generating-configuration-files'>Generating Configuration Files</link>"
|
Refer to the
|
||||||
|
"<link linkend='creating-config-fragments'>Creating Configuration Fragments</link>"
|
||||||
section for information.
|
section for information.
|
||||||
</para>
|
</para>
|
||||||
</answer>
|
</answer>
|
||||||
|
|||||||
@@ -212,7 +212,7 @@
|
|||||||
Applicable:</emphasis>
|
Applicable:</emphasis>
|
||||||
If your situation calls for changing the kernel's
|
If your situation calls for changing the kernel's
|
||||||
configuration, you can use
|
configuration, you can use
|
||||||
<link linkend='generating-configuration-files'><filename>menuconfig</filename></link>,
|
<link linkend='using-menuconfig'><filename>menuconfig</filename></link>,
|
||||||
which allows you to interactively develop and test the
|
which allows you to interactively develop and test the
|
||||||
configuration changes you are making to the kernel.
|
configuration changes you are making to the kernel.
|
||||||
Saving changes you make with <filename>menuconfig</filename>
|
Saving changes you make with <filename>menuconfig</filename>
|
||||||
|
|||||||
@@ -883,7 +883,7 @@
|
|||||||
$ bitbake linux-yocto -c diffconfig
|
$ bitbake linux-yocto -c diffconfig
|
||||||
</literallayout>
|
</literallayout>
|
||||||
For more information, see the
|
For more information, see the
|
||||||
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#generating-configuration-files'>Generating Configuration Files</ulink>"
|
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#creating-config-fragments'>Creating Configuration Fragments</ulink>"
|
||||||
section in the Yocto Project Linux Kernel Development Manual.
|
section in the Yocto Project Linux Kernel Development Manual.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
@@ -918,7 +918,7 @@
|
|||||||
$ bitbake linux-yocto -c kernel_configcheck -f
|
$ bitbake linux-yocto -c kernel_configcheck -f
|
||||||
</literallayout>
|
</literallayout>
|
||||||
For more information, see the
|
For more information, see the
|
||||||
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#generating-configuration-files'>Generating Configuration Files</ulink>"
|
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#validating-configuration'>Validating Configuration</ulink>"
|
||||||
section in the Yocto Project Linux Kernel Development Manual.
|
section in the Yocto Project Linux Kernel Development Manual.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
@@ -956,12 +956,9 @@
|
|||||||
</literallayout>
|
</literallayout>
|
||||||
</note>
|
</note>
|
||||||
See the
|
See the
|
||||||
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#generating-configuration-files'>Generating Configuration Files</ulink>"
|
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#using-menuconfig'>Using <filename>menuconfig</filename></ulink>"
|
||||||
section in the Yocto Project Linux Kernel Development Manual
|
section in the Yocto Project Linux Kernel Development Manual
|
||||||
for more information on this configuration tool.
|
for more information on this configuration tool.
|
||||||
You can also reference the
|
|
||||||
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#using-menuconfig'>Using <filename>menuconfig</filename></ulink>"
|
|
||||||
section in the Yocto Project Linux Kernel Development Manual.
|
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user