summaryrefslogtreecommitdiffstats
path: root/documentation/kernel-dev
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/kernel-dev')
-rw-r--r--documentation/kernel-dev/kernel-dev-advanced.xml74
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>