blob: b5e6a84ebac17d6c4b2f474df844686bdb3b8c28 [file] [log] [blame]
.. SPDX-License-Identifier: CC-BY-2.0-UK
**********************
Kernel Development FAQ
**********************
.. _kernel-dev-faq-section:
Common Questions and Solutions
==============================
The following lists some solutions for common questions.
How do I use my own Linux kernel ``.config`` file?
--------------------------------------------------
Refer to the
":ref:`kernel-dev/kernel-dev-common:changing the configuration`"
section for information.
How do I create configuration fragments?
----------------------------------------
A: Refer to the
":ref:`kernel-dev/kernel-dev-common:creating configuration fragments`"
section for information.
How do I use my own Linux kernel sources?
-----------------------------------------
Refer to the
":ref:`kernel-dev/kernel-dev-common:working with your own sources`"
section for information.
How do I install/not-install the kernel image on the rootfs?
------------------------------------------------------------
The kernel image (e.g. ``vmlinuz``) is provided by the
``kernel-image`` package. Image recipes depend on ``kernel-base``. To
specify whether or not the kernel image is installed in the generated
root filesystem, override ``RDEPENDS_kernel-base`` to include or not
include "kernel-image". See the
":ref:`dev-manual/dev-manual-common-tasks:using .bbappend files in your layer`"
section in the
Yocto Project Development Tasks Manual for information on how to use an
append file to override metadata.
How do I install a specific kernel module?
------------------------------------------
Linux kernel modules are packaged individually. To ensure a
specific kernel module is included in an image, include it in the
appropriate machine
:term:`RRECOMMENDS` variable.
These other variables are useful for installing specific modules:
:term:`MACHINE_ESSENTIAL_EXTRA_RDEPENDS`
:term:`MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS`
:term:`MACHINE_EXTRA_RDEPENDS`
:term:`MACHINE_EXTRA_RRECOMMENDS`
For example, set the following in the ``qemux86.conf`` file to include
the ``ab123`` kernel modules with images built for the ``qemux86``
machine:
::
MACHINE_EXTRA_RRECOMMENDS += "kernel-module-ab123"
For more
information, see the "`Incorporating Out-of-Tree
Modules <#incorporating-out-of-tree-modules>`__" section.
How do I change the Linux kernel command line?
----------------------------------------------
The Linux kernel command line is
typically specified in the machine config using the ``APPEND`` variable.
For example, you can add some helpful debug information doing the
following:
::
APPEND += "printk.time=y initcall_debug debug"