summaryrefslogtreecommitdiffstats
path: root/documentation/kernel-dev/kernel-dev-common.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/kernel-dev/kernel-dev-common.xml')
-rw-r--r--documentation/kernel-dev/kernel-dev-common.xml59
1 files changed, 59 insertions, 0 deletions
diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml
index c0acac8316..618d60cbaf 100644
--- a/documentation/kernel-dev/kernel-dev-common.xml
+++ b/documentation/kernel-dev/kernel-dev-common.xml
@@ -238,6 +238,65 @@
238 section in the Yocto Project Development Manual. 238 section in the Yocto Project Development Manual.
239 </para> 239 </para>
240 </section> 240 </section>
241
242 <section id='using-an-in-tree-defconfig-file'>
243 <title>Using an "In-Tree"&nbsp;&nbsp;<filename>defconfig</filename> File</title>
244
245 <para>
246 It might be desirable to have kernel configuration fragment
247 support through a <filename>defconfig</filename> file that
248 is pulled from the kernel source tree for the configured
249 machine.
250 By default, the OpenEmbedded build system looks for
251 <filename>defconfig</filename> files in the layer used for
252 Metadata, which is "out-of-tree", and then configures them
253 using the following:
254 <literallayout class='monospaced'>
255 SRC_URI += "file://defconfig"
256 </literallayout>
257 If you do not want to maintain copies of
258 <filename>defconfig</filename> files in your layer but would
259 rather allow users to use the default configuration from the
260 kernel tree and still be able to add configuration fragments
261 to the
262 <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
263 through, for example, append files, you can direct the
264 OpenEmbedded build system to use a
265 <filename>defconfig</filename> file that is "in-tree".
266 </para>
267
268 <para>
269 To specify an "in-tree" <filename>defconfig</filename> file,
270 edit the recipe that builds your kernel so that it has the
271 following command form:
272 <literallayout class='monospaced'>
273 KBUILD_DEFCONFIG_<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'>KMACHINE</ulink> ?= <replaceable>defconfig_file</replaceable>
274 </literallayout>
275 You need to append the variable with
276 <filename>KMACHINE</filename> and then supply the path to
277 your "in-tree" <filename>defconfig</filename> file.
278 </para>
279
280 <para>
281 Aside from modifying your kernel recipe and providing your own
282 <filename>defconfig</filename> file, you need to be sure no
283 files or statements set <filename>SRC_URI</filename> to use a
284 <filename>defconfig</filename> other than your "in-tree"
285 file (e.g. a kernel's <filename>linux-</filename><replaceable>machine</replaceable><filename>.inc</filename>
286 file).
287 In other words, if the build system detects a statement
288 that identifies an "out-of-tree"
289 <filename>defconfig</filename> file, that statement
290 will override your
291 <filename>KBUILD_DEFCONFIG</filename> variable.
292 </para>
293
294 <para>
295 See the
296 <ulink url='&YOCTO_DOCS_REF_URL;#var-KBUILD_DEFCONFIG'><filename>KBUILD_DEFCONFIG</filename></ulink>
297 variable description for more information.
298 </para>
299 </section>
241 </section> 300 </section>
242 301
243 <section id='using-an-iterative-development-process'> 302 <section id='using-an-iterative-development-process'>