blob: 70bf4a2d4ba3d12b50a96b8fd389c66eed8aa5ac [file] [log] [blame]
Andrew Geisslerf0343792020-11-18 10:42:21 -06001.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Andrew Geisslerc9f78652020-09-18 14:11:35 -05002
3**********************
4Kernel Development FAQ
5**********************
6
7.. _kernel-dev-faq-section:
8
9Common Questions and Solutions
10==============================
11
12The following lists some solutions for common questions.
13
14How do I use my own Linux kernel ``.config`` file?
15--------------------------------------------------
16
17Refer to the
18":ref:`kernel-dev/kernel-dev-common:changing the configuration`"
19section for information.
20
21How do I create configuration fragments?
22----------------------------------------
23
24A: Refer to the
25":ref:`kernel-dev/kernel-dev-common:creating configuration fragments`"
26section for information.
27
28How do I use my own Linux kernel sources?
29-----------------------------------------
30
31Refer to the
32":ref:`kernel-dev/kernel-dev-common:working with your own sources`"
33section for information.
34
35How do I install/not-install the kernel image on the rootfs?
36------------------------------------------------------------
37
38The kernel image (e.g. ``vmlinuz``) is provided by the
39``kernel-image`` package. Image recipes depend on ``kernel-base``. To
40specify whether or not the kernel image is installed in the generated
41root filesystem, override ``RDEPENDS_kernel-base`` to include or not
42include "kernel-image". See the
43":ref:`dev-manual/dev-manual-common-tasks:using .bbappend files in your layer`"
44section in the
45Yocto Project Development Tasks Manual for information on how to use an
46append file to override metadata.
47
48How do I install a specific kernel module?
49------------------------------------------
50
51Linux kernel modules are packaged individually. To ensure a
52specific kernel module is included in an image, include it in the
53appropriate machine
54:term:`RRECOMMENDS` variable.
55These other variables are useful for installing specific modules:
56:term:`MACHINE_ESSENTIAL_EXTRA_RDEPENDS`
57:term:`MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS`
58:term:`MACHINE_EXTRA_RDEPENDS`
59:term:`MACHINE_EXTRA_RRECOMMENDS`
60For example, set the following in the ``qemux86.conf`` file to include
61the ``ab123`` kernel modules with images built for the ``qemux86``
62machine:
63::
64
65 MACHINE_EXTRA_RRECOMMENDS += "kernel-module-ab123"
66
67For more
68information, see the "`Incorporating Out-of-Tree
69Modules <#incorporating-out-of-tree-modules>`__" section.
70
71How do I change the Linux kernel command line?
72----------------------------------------------
73
74The Linux kernel command line is
75typically specified in the machine config using the ``APPEND`` variable.
76For example, you can add some helpful debug information doing the
77following:
78::
79
80 APPEND += "printk.time=y initcall_debug debug"
81