blob: d6be98a0acf052558639da85738d7709cc905917 [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
Andrew Geissler4c19ea12020-10-27 13:52:24 -050041root filesystem, override ``RDEPENDS_${KERNEL_PACKAGE_NAME}-base`` to include or not
Andrew Geisslerc9f78652020-09-18 14:11:35 -050042include "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
Andrew Geissler4c19ea12020-10-27 13:52:24 -050053appropriate machine :term:`RRECOMMENDS` variable.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050054These other variables are useful for installing specific modules:
Andrew Geissler4c19ea12020-10-27 13:52:24 -050055- :term:`MACHINE_ESSENTIAL_EXTRA_RDEPENDS`
56- :term:`MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS`
57- :term:`MACHINE_EXTRA_RDEPENDS`
58- :term:`MACHINE_EXTRA_RRECOMMENDS`
59
Andrew Geisslerc9f78652020-09-18 14:11:35 -050060For 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
Andrew Geissler4c19ea12020-10-27 13:52:24 -050067For more information, see the
68":ref:`kernel-dev/kernel-dev-common:incorporating out-of-tree modules`" section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050069
70How do I change the Linux kernel command line?
71----------------------------------------------
72
73The Linux kernel command line is
74typically specified in the machine config using the ``APPEND`` variable.
75For example, you can add some helpful debug information doing the
76following:
77::
78
79 APPEND += "printk.time=y initcall_debug debug"
80