# Kernel documentation
Explore the Qualcomm^®^ Linux^®^ kernel—customized for performance, scalability, and system on chip (SoC) functionality.
## Kernel overview
Kernel overview
Qualcomm Linux helps to port and customize the Linux kernel to devices with Qualcomm hardware SoCs.
https://docs.qualcomm.com/doc/80-80022-3/topic/overview.html#linux-overview-firstpage
## Get started with the Qualcomm Linux kernel
Access the Qualcomm Linux kernel source code
Access the kernel source code and required meta layers.
https://docs.qualcomm.com/doc/80-80022-3/topic/getting_started_chapter2.html#access-the-source-code-task
Identify supported Qualcomm machines
Identify the supported machines in the software.
https://docs.qualcomm.com/doc/80-80022-3/topic/getting_started_chapter2.html#supported-machines
Build Yocto image recipes and kernel configuration
Learn how to build the Yocto images for base and custom variants.
https://docs.qualcomm.com/doc/80-80022-3/topic/getting_started_chapter2.html#kernel-configuration-image
Access the platform device tree
Locate the platform device tree for Qualcomm SoCs.
https://docs.qualcomm.com/doc/80-80022-3/topic/getting_started_chapter2.html#platform-device-tree
Manage out-of-tree kernel modules
Build and autoload out-of-tree kernel modules using Yocto.
https://docs.qualcomm.com/doc/80-80022-3/topic/getting_started_chapter2.html#out-of-tree-kernel-modules
Build the device image
Build full Qualcomm Linux images using Yocto.
https://docs.qualcomm.com/doc/80-80022-3/topic/getting_started_chapter2.html#build-chapter2
Bring up the device
Boot your device after the build is completed.
https://docs.qualcomm.com/doc/80-80022-3/topic/getting_started_chapter2.html#flash-images-and-boot
## Boot flow and architecture overview
Universal extensible firmware interface (UEFI) boot managers
Understand the Qualcomm Linux cold boot flow.
https://docs.qualcomm.com/doc/80-80022-3/topic/boot-flow-and-architecture-overview.html#section-uefi-boot-managers
Systemd-boot
Learn about systemd-boot that manages Qualcomm Linux boot entries and unified kernel images.
https://docs.qualcomm.com/doc/80-80022-3/topic/boot-flow-and-architecture-overview.html#systemd-boot
Qualcomm Linux kernel as the EFI stub
Boot the Qualcomm Linux kernel directly through EFI stub.
https://docs.qualcomm.com/doc/80-80022-3/topic/boot-flow-and-architecture-overview.html#efi-stub
Boot images and ESP or boot partition
Learn about the EFI system partition (ESP) composition.
https://docs.qualcomm.com/doc/80-80022-3/topic/boot-flow-and-architecture-overview.html#section-ovm-wjs-s1c
## Develop the kernel
Develop kernel using Yocto workflow
Set up your host computer compile and develop Qualcomm Linux kernel.
https://docs.qualcomm.com/doc/80-80022-3/topic/kernel-development.html#yocto-kernel-support
Compile the kernel independent of Yocto
Compile Qualcomm Linux kernel without Yocto build system support.
https://docs.qualcomm.com/doc/80-80022-3/topic/kernel-development.html#compthekernelinde
Configure the DTB support and kernel configuration
Add new DTBs to the Qualcomm Linux kernel.
https://docs.qualcomm.com/doc/80-80022-3/topic/kernel-development.html#platform-support
## Configure the remote processor (remoteproc) subsystems
Configure remoteproc recovery and subsystem restart
Ensure subsystem resilience with remoteproc’s crash detection, recovery orchestration, and coredump diagnostics for Qualcomm Linux platforms.
https://docs.qualcomm.com/doc/80-80022-3/topic/remoteproc-overview.html#configure-remote-proc-su
Qualcomm remoteproc support
Learn how to configure remote processors.
https://docs.qualcomm.com/doc/80-80022-3/topic/remoteproc-overview.html#configure-remote-proc-su
Enable or disable core dump
Enable or disable core dump for subsystems.
https://docs.qualcomm.com/doc/80-80022-3/topic/remoteproc-overview.html#enable-coredump
## Configure and manage memory
Configure ZRAM as a swap device
Configure ZRAM memory parameters.
https://docs.qualcomm.com/doc/80-80022-3/topic/memory.html#configure-zram
Extend the memory map
Modify the reserved or contiguous memory allocator (CMA) memory in device tree source inclusion (DTSI).
https://docs.qualcomm.com/doc/80-80022-3/topic/memory.html#extend-memory-map
## Configure the scheduler
Understand CPU topology and EAS
Learn about CPU capacities and topology.
https://docs.qualcomm.com/doc/80-80022-3/topic/scheduler.html#cpu-topology-and-eas
Configure utilization clamping (UCLAMP)
Adjust the UCLAMP for processes.
https://docs.qualcomm.com/doc/80-80022-3/topic/scheduler.html#utilization-clamping-uclamp
## Configure the dynamic voltage and frequency scaling (DVFS) governors
Select the CPU DVFS governor
Configure the CPU frequency governor.
https://docs.qualcomm.com/doc/80-80022-3/topic/dynamic-clock-and-voltage-scaling-dcvs.html#select-cpu-dvfs
Configure the cache and memory DVFS governors
Configure cache and DDR bandwidth frequency.
https://docs.qualcomm.com/doc/80-80022-3/topic/dynamic-clock-and-voltage-scaling-dcvs.html#configure-cache-and-memory-dvfs
## Configure the pinctrl driver
Configure the pinctrl driver
Manage and configure pins used for general-purpose input/output (GPIO).
https://docs.qualcomm.com/doc/80-80022-3/topic/pinctrl-configuration.html#pinctrl-configuration
Configure the GPIO usage
Understand GPIO configuration available in the SoC.
https://docs.qualcomm.com/doc/80-80022-3/topic/customize-cache-and-memory-dvfs.html#configure-cache-and-memory
Configure GPIOs to generate clock or pulse width modulation
Generate PWM pulse using GPIO.
https://docs.qualcomm.com/doc/80-80022-3/topic/pinctrl-configuration.html#configure-gpios-pwm
Configure GPIOs from the user space
Manage GPIO from the user space.
https://docs.qualcomm.com/doc/80-80022-3/topic/pinctrl-configuration.html#control-gpios-from-userspace
## Access content from the device
Enable secure shell (SSH)
Connect to the device using SSH.
https://docs.qualcomm.com/doc/80-80022-3/topic/access-content-from-the-device.html#adb-shell
Retrieve the information from the device
Retrieve the information to debug the kernel issues.
https://docs.qualcomm.com/doc/80-80022-3/topic/access-content-from-the-device.html#retrieve-the-info
## Capture the kernel logs
Capture the serial console logs
Configure the serial console to capture early boot logs.
https://docs.qualcomm.com/doc/80-80022-3/topic/capture-the-kernel-logs.html#capture-the-kernel
Configure the console log level
Configure the kernel log levels.
https://docs.qualcomm.com/doc/80-80022-3/topic/capture-the-kernel-logs.html#configure-console-log
## Configure debug methods
Enable and mount the debugfs filesystem
Mount the debugfs filesystem to trace, debug, and inspect kernel data structures from user space.
https://docs.qualcomm.com/doc/80-80022-3/topic/debug.html#enable-and-mount-debugfs
Debug with kernel probes
Configure the kernel with kprobes.
https://docs.qualcomm.com/doc/80-80022-3/topic/debug.html#kernel-probes
## Configure kernel debugger
Debug kernel modules with kernel GNU debugger (KGDB)
Connect KGDB to the device.
https://docs.qualcomm.com/doc/80-80022-3/topic/configure-kernel-debugger.html#debugging-kernel-and-modules-via-gdb
Use KGDB with serial COM port
Configure KGDB to connect over a serial port.
https://docs.qualcomm.com/doc/80-80022-3/topic/configure-kernel-debugger.html#use-kgdb-with-serial-com-port
## Troubleshoot kernel issues
Boot failure due to incorrect or no DTB picked
Verify the boot time device tree loading.
https://docs.qualcomm.com/doc/80-80022-3/topic/common_troubleshooting.html#boot-failure-due-to
Serial console not working
Debug serial port configuration issues.
https://docs.qualcomm.com/doc/80-80022-3/topic/common_troubleshooting.html#serial-console-not-working
Last Published: Apr 27, 2026
[Next Topic
Kernel overview](https://docs.qualcomm.com/bundle/publicresource/80-80022-3/topics/overview.md)