# 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)