forked from brl/citadel
143 lines
6.0 KiB
XML
143 lines
6.0 KiB
XML
|
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||
|
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
|
||
|
|
||
|
<appendix id='kernel-dev-faq'>
|
||
|
<title>Kernel Development FAQ</title>
|
||
|
|
||
|
<section id='kernel-dev-faq-section'>
|
||
|
<title>Common Questions and Solutions</title>
|
||
|
|
||
|
<para>
|
||
|
The following lists some solutions for common questions.
|
||
|
|
||
|
|
||
|
<qandaset>
|
||
|
<qandaentry>
|
||
|
<question>
|
||
|
<para>
|
||
|
How do I use my own Linux kernel <filename>.config</filename>
|
||
|
file?
|
||
|
</para>
|
||
|
</question>
|
||
|
<answer>
|
||
|
<para>
|
||
|
Refer to the "<link linkend='changing-the-configuration'>Changing the Configuration</link>"
|
||
|
section for information.
|
||
|
</para>
|
||
|
</answer>
|
||
|
</qandaentry>
|
||
|
|
||
|
<qandaentry>
|
||
|
<question>
|
||
|
<para>
|
||
|
How do I create configuration fragments?
|
||
|
</para>
|
||
|
</question>
|
||
|
<answer>
|
||
|
<para>
|
||
|
Refer to the
|
||
|
"<link linkend='creating-config-fragments'>Creating Configuration Fragments</link>"
|
||
|
section for information.
|
||
|
</para>
|
||
|
</answer>
|
||
|
</qandaentry>
|
||
|
|
||
|
<qandaentry>
|
||
|
<question>
|
||
|
<para>
|
||
|
How do I use my own Linux kernel sources?
|
||
|
</para>
|
||
|
</question>
|
||
|
<answer>
|
||
|
<para>
|
||
|
Refer to the "<link linkend='working-with-your-own-sources'>Working With Your Own Sources</link>"
|
||
|
section for information.
|
||
|
</para>
|
||
|
</answer>
|
||
|
</qandaentry>
|
||
|
|
||
|
<qandaentry>
|
||
|
<question>
|
||
|
<para>
|
||
|
How do I install/not-install the kernel image on the rootfs?
|
||
|
</para>
|
||
|
</question>
|
||
|
<answer>
|
||
|
<para>
|
||
|
The kernel image (e.g. <filename>vmlinuz</filename>) is provided
|
||
|
by the <filename>kernel-image</filename> package.
|
||
|
Image recipes depend on <filename>kernel-base</filename>.
|
||
|
To specify whether or not the kernel
|
||
|
image is installed in the generated root filesystem, override
|
||
|
<filename>RDEPENDS_kernel-base</filename> to include or not
|
||
|
include "kernel-image".</para>
|
||
|
<para>See the
|
||
|
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files in Your Layer</ulink>"
|
||
|
section in the Yocto Project Development Tasks Manual
|
||
|
for information on how to use an append file to
|
||
|
override metadata.
|
||
|
</para>
|
||
|
</answer>
|
||
|
</qandaentry>
|
||
|
|
||
|
<qandaentry>
|
||
|
<question>
|
||
|
<para>
|
||
|
How do I install a specific kernel module?
|
||
|
</para>
|
||
|
</question>
|
||
|
<answer>
|
||
|
<para>
|
||
|
Linux kernel modules are packaged individually.
|
||
|
To ensure a specific kernel module is included in an image,
|
||
|
include it in the appropriate machine
|
||
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS'><filename>RRECOMMENDS</filename></ulink>
|
||
|
variable.</para>
|
||
|
<para>These other variables are useful for installing specific
|
||
|
modules:
|
||
|
<literallayout class='monospaced'>
|
||
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_ESSENTIAL_EXTRA_RDEPENDS'><filename>MACHINE_ESSENTIAL_EXTRA_RDEPENDS</filename></ulink>
|
||
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS'><filename>MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS</filename></ulink>
|
||
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_EXTRA_RDEPENDS'><filename>MACHINE_EXTRA_RDEPENDS</filename></ulink>
|
||
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_EXTRA_RRECOMMENDS'><filename>MACHINE_EXTRA_RRECOMMENDS</filename></ulink>
|
||
|
</literallayout>
|
||
|
For example, set the following in the <filename>qemux86.conf</filename>
|
||
|
file to include the <filename>ab123</filename> kernel modules
|
||
|
with images built for the <filename>qemux86</filename> machine:
|
||
|
<literallayout class='monospaced'>
|
||
|
MACHINE_EXTRA_RRECOMMENDS += "kernel-module-ab123"
|
||
|
</literallayout>
|
||
|
For more information, see the
|
||
|
"<link linkend='incorporating-out-of-tree-modules'>Incorporating Out-of-Tree Modules</link>"
|
||
|
section.
|
||
|
</para>
|
||
|
</answer>
|
||
|
</qandaentry>
|
||
|
|
||
|
<qandaentry>
|
||
|
<question>
|
||
|
<para>
|
||
|
How do I change the Linux kernel command line?
|
||
|
</para>
|
||
|
</question>
|
||
|
<answer>
|
||
|
<para>
|
||
|
The Linux kernel command line is typically specified in
|
||
|
the machine config using the <filename>APPEND</filename> variable.
|
||
|
For example, you can add some helpful debug information doing
|
||
|
the following:
|
||
|
<literallayout class='monospaced'>
|
||
|
APPEND += "printk.time=y initcall_debug debug"
|
||
|
</literallayout>
|
||
|
</para>
|
||
|
</answer>
|
||
|
</qandaentry>
|
||
|
</qandaset>
|
||
|
</para>
|
||
|
</section>
|
||
|
</appendix>
|
||
|
<!--
|
||
|
vim: expandtab tw=80 ts=4
|
||
|
-->
|