diff options
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> |