diff options
| author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2013-01-09 12:31:21 -0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-01-16 15:59:17 +0000 |
| commit | 03dce08b4e81fe558429aa4faadd3ac4b1e3f3ae (patch) | |
| tree | 0a92f811555eb35c675c8ba1d045e04ba371bb57 /documentation/kernel-dev | |
| parent | 48f8d9c2cc12edc5e10082bede2792eb2cb287b3 (diff) | |
| download | poky-03dce08b4e81fe558429aa4faadd3ac4b1e3f3ae.tar.gz | |
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>
Diffstat (limited to 'documentation/kernel-dev')
| -rw-r--r-- | documentation/kernel-dev/kernel-dev-advanced.xml | 74 |
1 files changed, 40 insertions, 34 deletions
diff --git a/documentation/kernel-dev/kernel-dev-advanced.xml b/documentation/kernel-dev/kernel-dev-advanced.xml index 879d3f285a..4d4c850d85 100644 --- a/documentation/kernel-dev/kernel-dev-advanced.xml +++ b/documentation/kernel-dev/kernel-dev-advanced.xml | |||
| @@ -914,47 +914,50 @@ will want to specify in the KERNEL_FEATURES variable of the Linux kernel recipe | |||
| 914 | <title>Kernel Types</title> | 914 | <title>Kernel Types</title> |
| 915 | 915 | ||
| 916 | <para> | 916 | <para> |
| 917 | Kernel types, or <filename>ktypes</filename>, are used to | 917 | A kernel type defines a high-level kernel policy by |
| 918 | aggregate all non-hardware configuration fragments together | 918 | aggregating non-hardware configuration fragments with |
| 919 | with any patches you want to use for all Linux kernel builds | 919 | patches you want to use when building a Linux kernels of a |
| 920 | of the specified <filename>ktype</filename>. | 920 | specific type. |
| 921 | In short, <filename>ktypes</filename> are where you define a | 921 | Syntactically, kernel types are no different than features |
| 922 | high-level kernel policy. | 922 | as described in the "<link linkend='features'>Features</link>" |
| 923 | Syntactically, however, they are no different than features | 923 | section. |
| 924 | as described in the previous section. | 924 | The <filename>LINUX_KERNEL_TYPE</filename> variable in the kernel |
| 925 | The <filename>ktype</filename> is selected by the | 925 | recipe selects the kernel type. |
| 926 | <filename>LINUX_KERNEL_TYPE</filename> variable in the recipe. | ||
| 927 | See the "<link linkend='using-kernel-metadata-in-a-recipe'>Using Kernel Metadata in a Recipe</link>" | 926 | See the "<link linkend='using-kernel-metadata-in-a-recipe'>Using Kernel Metadata in a Recipe</link>" |
| 928 | section for more information. | 927 | section for more information. |
| 929 | </para> | 928 | </para> |
| 930 | 929 | ||
| 931 | <para> | 930 | <para> |
| 932 | By way of example, the linux-yocto-3.4 tree defines three | 931 | As an example, the <filename>linux-yocto-3.4</filename> |
| 933 | <filename>ktypes</filename>: standard, tiny, and preempt-rt. | 932 | tree defines three kernel types: "standard", |
| 933 | "tiny", and "preempt-rt": | ||
| 934 | <itemizedlist> | 934 | <itemizedlist> |
| 935 | <listitem><para>standard: | 935 | <listitem><para>"standard": |
| 936 | Includes the generic Linux kernel | 936 | Includes the generic Linux kernel policy of the Yocto |
| 937 | policy of the Yocto Project linux-yocto kernel recipes. | 937 | Project linux-yocto kernel recipes. |
| 938 | This includes things like which file systems, which | 938 | This policy includes, among other things, which file |
| 939 | networking options, which core kernel features, and which | 939 | systems, networking options, core kernel features, and |
| 940 | debugging and tracing options are supported. | 940 | debugging and tracing options are supported. |
| 941 | </para></listitem> | 941 | </para></listitem> |
| 942 | <listitem><para>preempt-rt: | 942 | <listitem><para>"preempt-rt": |
| 943 | Applies the <filename>PREEMPT_RT</filename> | 943 | Applies the <filename>PREEMPT_RT</filename> |
| 944 | patches and the configuration options required to | 944 | patches and the configuration options required to |
| 945 | build a real-time Linux kernel. | 945 | build a real-time Linux kernel. |
| 946 | It inherits from standard.</para></listitem> | 946 | This kernel type inherits from the "standard" kernel type. |
| 947 | <listitem><para>tiny: | 947 | </para></listitem> |
| 948 | Independent from the standard configuration | 948 | <listitem><para>"tiny": |
| 949 | and defines a bare minimum configuration meant to serve as a | 949 | Defines a bare minimum configuration meant to serve as a |
| 950 | base for very small Linux kernels. | 950 | base for very small Linux kernels. |
| 951 | Tiny does not currently include any source changes, but it | 951 | The "tiny" kernel type is independent from the "standard" |
| 952 | might in the future.</para></listitem> | 952 | configuration. |
| 953 | Although the "tiny" kernel type does not currently include | ||
| 954 | any source changes, it might in the future. | ||
| 955 | </para></listitem> | ||
| 953 | </itemizedlist> | 956 | </itemizedlist> |
| 954 | </para> | 957 | </para> |
| 955 | 958 | ||
| 956 | <para> | 959 | <para> |
| 957 | The standard kernel type is defined by | 960 | The "standard" kernel type is defined by |
| 958 | <filename>standard.scc</filename>: | 961 | <filename>standard.scc</filename>: |
| 959 | <literallayout class='monospaced'> | 962 | <literallayout class='monospaced'> |
| 960 | # Include this kernel type fragment to get the standard features and | 963 | # 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 | |||
| 981 | </para> | 984 | </para> |
| 982 | 985 | ||
| 983 | <para> | 986 | <para> |
| 984 | As with any <filename>scc</filename> file, a | 987 | As with any <filename>.scc</filename> file, a |
| 985 | <filename>ktype</filename> definition can aggregate other | 988 | kernel type definition can aggregate other |
| 986 | <filename>scc</filename> files with the | 989 | <filename>.scc</filename> files with |
| 987 | <filename>include</filename> command, or directly pull in | 990 | <filename>include</filename> commands. |
| 991 | These definitions can also directly pull in | ||
| 988 | configuration fragments and patches with the | 992 | configuration fragments and patches with the |
| 989 | <filename>kconf</filename> and <filename>patch</filename> | 993 | <filename>kconf</filename> and <filename>patch</filename> |
| 990 | commands, respectively. | 994 | commands, respectively. |
| 991 | </para> | 995 | </para> |
| 992 | 996 | ||
| 993 | <note> | 997 | <note> |
| 994 | It is not strictly necessary to create a | 998 | It is not strictly necessary to create a kernel type |
| 995 | <filename>ktype scc</filename> file. | 999 | <filename>.scc</filename> file. |
| 996 | The BSP file can define the <filename>ktype</filename> implicitly | 1000 | The Board Support Package (BSP) file can implicitly define |
| 997 | with a <filename>define KTYPE myktype</filename> line. See the | 1001 | the kernel type using a <filename>define KTYPE myktype</filename> |
| 998 | next section for more information. | 1002 | line. |
| 1003 | See the "<link linkend='bsp-descriptions'>BSP Descriptions</link>" | ||
| 1004 | section for more information. | ||
| 999 | </note> | 1005 | </note> |
| 1000 | 1006 | ||
| 1001 | <para> | 1007 | <para> |
