summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'documentation')
-rw-r--r--documentation/kernel-dev/kernel-dev-advanced.xml80
1 files changed, 43 insertions, 37 deletions
diff --git a/documentation/kernel-dev/kernel-dev-advanced.xml b/documentation/kernel-dev/kernel-dev-advanced.xml
index ad46fcc8f0..a951aaec5d 100644
--- a/documentation/kernel-dev/kernel-dev-advanced.xml
+++ b/documentation/kernel-dev/kernel-dev-advanced.xml
@@ -77,7 +77,7 @@ to source changes.
77 feature enablement. 77 feature enablement.
78 The BSP can be influenced from within the linux-yocto recipe. 78 The BSP can be influenced from within the linux-yocto recipe.
79 <note> 79 <note>
80 Linux kernel source that contains this Metadata is said to be 80 Linux kernel source that contains kernel Metadata is said to be
81 "linux-yocto style" kernel source. 81 "linux-yocto style" kernel source.
82 A Linux kernel recipe that inherits from the 82 A Linux kernel recipe that inherits from the
83 <filename>linux-yocto.inc</filename> include file is said to be a 83 <filename>linux-yocto.inc</filename> include file is said to be a
@@ -91,14 +91,15 @@ to source changes.
91 variable. 91 variable.
92 This variable is typically set to the same value as the 92 This variable is typically set to the same value as the
93 <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> 93 <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
94 variable used by BitBake (e.g. "routerstationpro" or "fri2"). 94 variable, which is used by BitBake (e.g. "routerstationpro" or "fri2").
95 However, multiple BSPs can reuse the same <filename>KMACHINE</filename> 95 Multiple BSPs can reuse the same <filename>KMACHINE</filename>
96 name if they are built using the same BSP description. 96 name if they are built using the same BSP description.
97 The "fri2" and "fri2-noemgd" BSP combination
98 in the <filename>meta-intel</filename>
99 layer is a good example of two BSPs using the same
100 <filename>KMACHINE</filename> value (i.e. "fri2").
97 See the <link linkend='bsp-descriptions'>BSP Descriptions</link> section 101 See the <link linkend='bsp-descriptions'>BSP Descriptions</link> section
98 for more information. 102 for more information.
99 The <filename>meta-intel</filename> "fri2" and "fri2-noemgd" are good
100 examples of such a situation where each specifies
101 <filename>KMACHINE</filename> as "fri2".
102 </para> 103 </para>
103 104
104 <para> 105 <para>
@@ -110,39 +111,43 @@ to source changes.
110 KBRANCH_DEFAULT 111 KBRANCH_DEFAULT
111 LINUX_KERNEL_TYPE 112 LINUX_KERNEL_TYPE
112 </literallayout> 113 </literallayout>
113 <filename>KBRANCH_DEFAULT</filename> defines the default source branch 114 <filename>KBRANCH_DEFAULT</filename> defines the Linux kernel source
114 within the Linux kernel source repository to be used to build the 115 repository's default branch to use to build the Linux kernel.
115 Linux kernel. 116 The value is used as the default for <filename>KBRANCH</filename>, which
116 It is used as the default value for <filename>KBRANCH</filename> which 117 can define an alternate branch typically with a machine override as
117 may define an alternate branch, typically with a machine override, 118 follows:
118 such as:
119 <literallayout class='monospaced'> 119 <literallayout class='monospaced'>
120 KBRANCH_fri2 = "standard/fri2" 120 KBRANCH_fri2 = "standard/fri2"
121 </literallayout> 121 </literallayout>
122 Unless you specify otherwise, <filename>KBRANCH_DEFAULT</filename> 122 Unless you specify otherwise, <filename>KBRANCH_DEFAULT</filename>
123 is initialized to "master". 123 initializes to "master".
124 </para> 124 </para>
125 125
126 <para> 126 <para>
127 <filename>LINUX_KERNEL_TYPE</filename> defines the kernel type to be 127 <filename>LINUX_KERNEL_TYPE</filename> defines the kernel type to be
128 used in assembling the configuration and defaults to "standard" 128 used in assembling the configuration.
129 if you do not specify otherwise. 129 If you do not specify a <filename>LINUX_KERNEL_TYPE</filename>,
130 Together with <filename>KMACHINE</filename>, this defines the search 130 it defaults to "standard".
131 arguments used by the Yocto Project Linux kernel tools to find the 131 Together with <filename>KMACHINE</filename>,
132 appropriate description within the metadata with which to build out 132 <filename>LINUX_KERNEL_TYPE</filename> defines the search
133 the sources and configuration. 133 arguments used by the kernel tools to find the
134 appropriate description within the kernel Metadata with which to
135 build out the sources and configuration.
134 The linux-yocto recipes define "standard", "tiny", and "preempt-rt" 136 The linux-yocto recipes define "standard", "tiny", and "preempt-rt"
135 kernel types. 137 kernel types.
136 See section 3.3.4 for more inforation on kernel types. 138 See the <link linkend='kernel-types'>Kernel Types</link> section
139 for more inforation on kernel types.
137 </para> 140 </para>
138 141
139 <para> 142 <para>
140 During the build, the kern-tools will search for the BSP description 143 During the build, the kern-tools search for the BSP description
141 file that most closely matches the <filename>KMACHINE</filename> 144 file that most closely matches the <filename>KMACHINE</filename>
142 and <filename>LINUX_KERNEL_TYPE</filename> passed in from the 145 and <filename>LINUX_KERNEL_TYPE</filename> variables passed in from the
143 recipe. 146 recipe.
144 It will use the first BSP description it finds matching both variables. 147 The tools use the first BSP description it finds that match
145 Failing that it will issue a warning such as the following: 148 both variables.
149 If the tools cannot find a match, they issue a warning such as
150 the following:
146 <literallayout class='monospaced'> 151 <literallayout class='monospaced'>
147 WARNING: Can't find any BSP hardware or required configuration fragments. 152 WARNING: Can't find any BSP hardware or required configuration fragments.
148 WARNING: Looked at meta/cfg/broken/fri2-broken/hdw_frags.txt and 153 WARNING: Looked at meta/cfg/broken/fri2-broken/hdw_frags.txt and
@@ -154,19 +159,19 @@ to source changes.
154 </para> 159 </para>
155 160
156 <para> 161 <para>
157 It will then search first for the <filename>KMACHINE</filename> and 162 The tools first search for the <filename>KMACHINE</filename> and
158 then for the <filename>LINUX_KERNEL_TYPE</filename>. 163 then for the <filename>LINUX_KERNEL_TYPE</filename>.
159 If it cannot find a partial match, it will use the 164 If the tools cannot find a partial match, they will use the
160 sources from the <filename>KBRANCH</filename> and any configuration 165 sources from the <filename>KBRANCH</filename> and any configuration
161 specified in the <filename>SRC_URI</filename>. 166 specified in the <filename>SRC_URI</filename>.
162 </para> 167 </para>
163 168
164 <para> 169 <para>
165 <filename>KERNEL_FEATURES</filename> can be used to include features 170 You can use the <filename>KERNEL_FEATURES</filename> variable
166 (configuration fragments, patches, or both) that are not already 171 to include features (configuration fragments, patches, or both) that
167 included by the <filename>KMACHINE</filename> and 172 are not already included by the <filename>KMACHINE</filename> and
168 <filename>LINUX_KERNEL_TYPE</filename> combination. 173 <filename>LINUX_KERNEL_TYPE</filename> variable combination.
169 To include a feature specified as "features/netfilter.scc" for example, 174 For example, to include a feature specified as "features/netfilter.scc",
170 specify: 175 specify:
171 <literallayout class='monospaced'> 176 <literallayout class='monospaced'>
172 KERNEL_FEATURES += "features/netfilter.scc" 177 KERNEL_FEATURES += "features/netfilter.scc"
@@ -177,12 +182,13 @@ to source changes.
177 KERNEL_FEATURES_append_qemux86 = "cfg/sound.scc" 182 KERNEL_FEATURES_append_qemux86 = "cfg/sound.scc"
178 </literallayout> 183 </literallayout>
179 The value of the entries in <filename>KERNEL_FEATURES</filename> 184 The value of the entries in <filename>KERNEL_FEATURES</filename>
180 are dependent on their location within the metadata itself. 185 are dependent on their location within the kernel Metadata itself.
181 The examples here are taken from the 186 The examples here are taken from the
182 <filename>linux-yocto-3.4</filename> repository where "features" 187 <filename>linux-yocto-3.4</filename> repository where "features"
183 and "cfg" are subdirectories of the <filename>metadata</filename> 188 and "cfg" are subdirectories within the
184 directory. 189 <filename>meta/cfg/kernel-cache</filename> directory.
185 For details, see section 3.3. 190 For more information, see the
191 "<link linkend='metadata-syntax'>Metadata Syntax</link>" section.
186 <note> 192 <note>
187 The processing of the these variables has evolved some between the 193 The processing of the these variables has evolved some between the
188 0.9 and 1.3 releases of the Yocto Project and associated 194 0.9 and 1.3 releases of the Yocto Project and associated
@@ -275,8 +281,8 @@ metadata directory. For details, see 3.3.
275 </para> 281 </para>
276</section> 282</section>
277 283
278<section id='metadata-location'> 284<section id='kernel-metadata-location'>
279 <title>Metadata Location</title> 285 <title>Kernel Metadata Location</title>
280 286
281 <para> 287 <para>
282 This metadata can be defined along with the Linux kernel 288 This metadata can be defined along with the Linux kernel