mirror of
https://git.yoctoproject.org/poky
synced 2026-09-16 00:49:32 +02:00
kernel-dev: Re-write of the "Kernel Types" section.
First real re-write of this section. (From yocto-docs rev: 636a852d4748904df6794bef391f7f5ef3db3c0f) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
48f8d9c2cc
commit
03dce08b4e
@@ -914,47 +914,50 @@ will want to specify in the KERNEL_FEATURES variable of the Linux kernel recipe
|
|||||||
<title>Kernel Types</title>
|
<title>Kernel Types</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Kernel types, or <filename>ktypes</filename>, are used to
|
A kernel type defines a high-level kernel policy by
|
||||||
aggregate all non-hardware configuration fragments together
|
aggregating non-hardware configuration fragments with
|
||||||
with any patches you want to use for all Linux kernel builds
|
patches you want to use when building a Linux kernels of a
|
||||||
of the specified <filename>ktype</filename>.
|
specific type.
|
||||||
In short, <filename>ktypes</filename> are where you define a
|
Syntactically, kernel types are no different than features
|
||||||
high-level kernel policy.
|
as described in the "<link linkend='features'>Features</link>"
|
||||||
Syntactically, however, they are no different than features
|
section.
|
||||||
as described in the previous section.
|
The <filename>LINUX_KERNEL_TYPE</filename> variable in the kernel
|
||||||
The <filename>ktype</filename> is selected by the
|
recipe selects the kernel type.
|
||||||
<filename>LINUX_KERNEL_TYPE</filename> variable in the recipe.
|
|
||||||
See the "<link linkend='using-kernel-metadata-in-a-recipe'>Using Kernel Metadata in a Recipe</link>"
|
See the "<link linkend='using-kernel-metadata-in-a-recipe'>Using Kernel Metadata in a Recipe</link>"
|
||||||
section for more information.
|
section for more information.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
By way of example, the linux-yocto-3.4 tree defines three
|
As an example, the <filename>linux-yocto-3.4</filename>
|
||||||
<filename>ktypes</filename>: standard, tiny, and preempt-rt.
|
tree defines three kernel types: "standard",
|
||||||
|
"tiny", and "preempt-rt":
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>standard:
|
<listitem><para>"standard":
|
||||||
Includes the generic Linux kernel
|
Includes the generic Linux kernel policy of the Yocto
|
||||||
policy of the Yocto Project linux-yocto kernel recipes.
|
Project linux-yocto kernel recipes.
|
||||||
This includes things like which file systems, which
|
This policy includes, among other things, which file
|
||||||
networking options, which core kernel features, and which
|
systems, networking options, core kernel features, and
|
||||||
debugging and tracing options are supported.
|
debugging and tracing options are supported.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>preempt-rt:
|
<listitem><para>"preempt-rt":
|
||||||
Applies the <filename>PREEMPT_RT</filename>
|
Applies the <filename>PREEMPT_RT</filename>
|
||||||
patches and the configuration options required to
|
patches and the configuration options required to
|
||||||
build a real-time Linux kernel.
|
build a real-time Linux kernel.
|
||||||
It inherits from standard.</para></listitem>
|
This kernel type inherits from the "standard" kernel type.
|
||||||
<listitem><para>tiny:
|
</para></listitem>
|
||||||
Independent from the standard configuration
|
<listitem><para>"tiny":
|
||||||
and defines a bare minimum configuration meant to serve as a
|
Defines a bare minimum configuration meant to serve as a
|
||||||
base for very small Linux kernels.
|
base for very small Linux kernels.
|
||||||
Tiny does not currently include any source changes, but it
|
The "tiny" kernel type is independent from the "standard"
|
||||||
might in the future.</para></listitem>
|
configuration.
|
||||||
|
Although the "tiny" kernel type does not currently include
|
||||||
|
any source changes, it might in the future.
|
||||||
|
</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The standard kernel type is defined by
|
The "standard" kernel type is defined by
|
||||||
<filename>standard.scc</filename>:
|
<filename>standard.scc</filename>:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
# Include this kernel type fragment to get the standard features and
|
# Include this kernel type fragment to get the standard features and
|
||||||
@@ -981,21 +984,24 @@ will want to specify in the KERNEL_FEATURES variable of the Linux kernel recipe
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
As with any <filename>scc</filename> file, a
|
As with any <filename>.scc</filename> file, a
|
||||||
<filename>ktype</filename> definition can aggregate other
|
kernel type definition can aggregate other
|
||||||
<filename>scc</filename> files with the
|
<filename>.scc</filename> files with
|
||||||
<filename>include</filename> command, or directly pull in
|
<filename>include</filename> commands.
|
||||||
|
These definitions can also directly pull in
|
||||||
configuration fragments and patches with the
|
configuration fragments and patches with the
|
||||||
<filename>kconf</filename> and <filename>patch</filename>
|
<filename>kconf</filename> and <filename>patch</filename>
|
||||||
commands, respectively.
|
commands, respectively.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
It is not strictly necessary to create a
|
It is not strictly necessary to create a kernel type
|
||||||
<filename>ktype scc</filename> file.
|
<filename>.scc</filename> file.
|
||||||
The BSP file can define the <filename>ktype</filename> implicitly
|
The Board Support Package (BSP) file can implicitly define
|
||||||
with a <filename>define KTYPE myktype</filename> line. See the
|
the kernel type using a <filename>define KTYPE myktype</filename>
|
||||||
next section for more information.
|
line.
|
||||||
|
See the "<link linkend='bsp-descriptions'>BSP Descriptions</link>"
|
||||||
|
section for more information.
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
|||||||
Reference in New Issue
Block a user