faq.rst 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. .. SPDX-License-Identifier: CC-BY-SA-2.0-UK
  2. **********************
  3. Kernel Development FAQ
  4. **********************
  5. Common Questions and Solutions
  6. ==============================
  7. Here are some solutions for common questions.
  8. How do I use my own Linux kernel ``.config`` file?
  9. --------------------------------------------------
  10. Refer to the
  11. ":ref:`kernel-dev/common:changing the configuration`"
  12. section for information.
  13. How do I create configuration fragments?
  14. ----------------------------------------
  15. A: Refer to the
  16. ":ref:`kernel-dev/common:creating configuration fragments`"
  17. section for information.
  18. How do I use my own Linux kernel sources?
  19. -----------------------------------------
  20. Refer to the
  21. ":ref:`kernel-dev/common:working with your own sources`"
  22. section for information.
  23. How do I install/not-install the kernel image on the root filesystem?
  24. ---------------------------------------------------------------------
  25. The kernel image (e.g. ``vmlinuz``) is provided by the
  26. ``kernel-image`` package. Image recipes depend on ``kernel-base``. To
  27. specify whether or not the kernel image is installed in the generated
  28. root filesystem, override ``RDEPENDS:${KERNEL_PACKAGE_NAME}-base`` to include or not
  29. include "kernel-image". See the
  30. ":ref:`dev-manual/layers:appending other layers metadata with your layer`"
  31. section in the
  32. Yocto Project Development Tasks Manual for information on how to use an
  33. append file to override metadata.
  34. How do I install a specific kernel module?
  35. ------------------------------------------
  36. Linux kernel modules are packaged individually. To ensure a
  37. specific kernel module is included in an image, include it in the
  38. appropriate machine :term:`RRECOMMENDS` variable.
  39. These other variables are useful for installing specific modules:
  40. - :term:`MACHINE_ESSENTIAL_EXTRA_RDEPENDS`
  41. - :term:`MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS`
  42. - :term:`MACHINE_EXTRA_RDEPENDS`
  43. - :term:`MACHINE_EXTRA_RRECOMMENDS`
  44. For example, set the following in the ``qemux86.conf`` file to include
  45. the ``ab123`` kernel modules with images built for the ``qemux86``
  46. machine::
  47. MACHINE_EXTRA_RRECOMMENDS += "kernel-module-ab123"
  48. For more information, see the
  49. ":ref:`kernel-dev/common:incorporating out-of-tree modules`" section.
  50. How do I change the Linux kernel command line?
  51. ----------------------------------------------
  52. The Linux kernel command line is
  53. typically specified in the machine config using the :term:`APPEND` variable.
  54. For example, you can add some helpful debug information doing the
  55. following::
  56. APPEND += "printk.time=y initcall_debug debug"