# Kernel overview

Qualcomm^®^ Linux^®^ facilitates porting and customizing the Linux kernel to
devices with Qualcomm hardware SoCs. It uses a long-term support (LTS) Linux kernel
(6.6.x) and the GNU compiler collection (GCC) toolchain that are
compatible with the Yocto project.

The Qualcomm^®^ Linux^®^ kernel offers the following key features and advancements related to the mainline
Linux kernel on Qualcomm platforms:

- The Qualcomm Linux BSP is tailored to support devices using Qualcomm platforms.
- The device tree corresponds to the Qualcomm Linux development kits.
- Multiple customized build configurations are available to suit your requirements.
- The Qualcomm Linux kernel integrates into the Yocto build system.
- The Qualcomm Linux kernel aligns with the upstream LTS kernel.
Qualcomm-specific additions are maintained separately.
- Support to configure, customize, and build kernel images that is flashed and booted on devices using Qualcomm hardware SoCs.
- Virtualization support for untrusted virtual machines using the
Gunyah™ Hypervisor Software.
- Periodic LTS merges from the corresponding LTS kernel branch to
get the latest security and stability fixes.

The kernel is integrated with Qualcomm Linux meta layers to support Linux. Qualcomm Linux provides a way to build
and customize the kernel and other packages to define a distribution
according to the needs of a device or application.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export overview_list.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.0694in" height="2.23149in" viewbox="0 0 797 160.667" xml:space="preserve" color-interpolation-filters="sRGB" class="st8" aria-label="Representation of Qualcomm Linux kernel workflow."><v:documentproperties v:langid="1033" v:viewmarkup="false">	<v:userdefs>		<v:ud v:nameu="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"></v:ud>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></v:documentproperties>
<style>.svg-1 .st1 { fill: #fafafa; stroke: #d2d7e1; stroke-width: 1 }
.svg-1 .st2 { marker-end: url("#mrkr4-9"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st3 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.37313432835821 }
.svg-1 .st4 { fill: #6280cc; stroke: #3253dc; stroke-opacity: 0; stroke-width: 2.5 }
.svg-1 .st5 { fill: none; stroke: none; stroke-width: 2.5 }
.svg-1 .st6 { fill: #ffffff; font-family: Roboto Flex, Qualcomm-Next, sans-serif; font-size: 1.00001em }
.svg-1 .st7 { font-size: 1em }
.svg-1 .st8 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend4">		<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"></path>	</g>	<marker id="mrkr4-9" class="st3" v:arrowtype="4" v:arrowsize="2" v:setback="5.36" refx="-5.36" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-2.68,-2.68) "></use>	</marker></defs><g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<v:userdefs>		<v:ud v:nameu="msvThemeOrder" v:val="VT0(0):26"></v:ud>	</v:userdefs>	<title>Page-1</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="0" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape1023-1" v:mid="1023" v:groupcontext="shape" transform="translate(19,-47.5)">		<title>Rectangle</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="95.6672" width="758.5" height="65" rx="4" ry="4" class="st1"></rect>	</g>	<g id="group1031-3" transform="translate(26.2709,-55)" v:mid="1031" v:groupcontext="group">		<title>Sheet.1031</title>		<g id="shape1017-4" v:mid="1017" v:groupcontext="shape" transform="translate(124.568,-24.6801)">			<title>Sheet.1017</title>			<path d="M0 160.67 L22.88 160.67" class="st2"></path>		</g>		<g id="shape1018-10" v:mid="1018" v:groupcontext="shape" transform="translate(279.516,-24.6801)">			<title>Sheet.1018</title>			<path d="M0 160.67 L22.88 160.67" class="st2"></path>		</g>		<g id="shape1020-15" v:mid="1020" v:groupcontext="shape" transform="translate(434.959,-24.6801)">			<title>Sheet.1020</title>			<path d="M0 160.67 L22.88 160.67" class="st2"></path>		</g>		<g id="shape1021-20" v:mid="1021" v:groupcontext="shape" transform="translate(589.906,-24.6801)">			<title>Sheet.1021</title>			<path d="M0 160.67 L22.88 160.67" class="st2"></path>		</g>		<g id="shape1002-25" v:mid="1002" v:groupcontext="shape">			<title>Rectangle.1002</title>			<v:userdefs>				<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>			</v:userdefs>			<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>			<rect x="0" y="110.667" width="123.677" height="50" rx="4" ry="4" class="st4"></rect>		</g>		<g id="shape1007-27" v:mid="1007" v:groupcontext="shape" transform="translate(6.01553,-3.43921)">			<title>Sheet.1007</title>			<desc>Download kernel source code</desc>			<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>			<v:textrect cx="55.8231" cy="139.426" width="111.65" height="42.4818"></v:textrect>			<rect x="0" y="118.185" width="111.646" height="42.4818" class="st5"></rect>			<text x="11.44" y="135.83" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Download kernel <tspan x="23.04" dy="1.2em" class="st7">source code</tspan></text>			</g>		<g id="shape1003-31" v:mid="1003" v:groupcontext="shape" transform="translate(155.344,-8.961E-07)">			<title>Rectangle.1003</title>			<v:userdefs>				<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>			</v:userdefs>			<rect x="0" y="110.667" width="123.677" height="50" rx="4" ry="4" class="st4"></rect>		</g>		<g id="shape1008-33" v:mid="1008" v:groupcontext="shape" transform="translate(165.65,-3.43921)">			<title>Sheet.1008</title>			<desc>Configure platform</desc>			<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>			<v:textrect cx="51.5322" cy="139.426" width="103.07" height="42.4818"></v:textrect>			<rect x="0" y="118.185" width="103.064" height="42.4818" class="st5"></rect>			<text x="25.47" y="135.83" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Configure <tspan x="28.69" dy="1.2em" class="st7">platform</tspan></text>			</g>		<g id="shape1005-37" v:mid="1005" v:groupcontext="shape" transform="translate(310.745,-8.961E-07)">			<title>Rectangle.1005</title>			<v:userdefs>				<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>			</v:userdefs>			<rect x="0" y="110.667" width="123.677" height="50" rx="4" ry="4" class="st4"></rect>		</g>		<g id="shape1015-39" v:mid="1015" v:groupcontext="shape" transform="translate(315.898,-3.43921)">			<title>Sheet.1015</title>			<desc>Modify Yocto build system</desc>			<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>			<v:textrect cx="56.6854" cy="139.426" width="113.38" height="42.4818"></v:textrect>			<rect x="0" y="118.185" width="113.371" height="42.4818" class="st5"></rect>			<text x="6.77" y="135.83" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Modify Yocto build <tspan x="37.26" dy="1.2em" class="st7">system</tspan></text>			</g>		<g id="shape1006-43" v:mid="1006" v:groupcontext="shape" transform="translate(465.651,-8.961E-07)">			<title>Rectangle.1006</title>			<v:userdefs>				<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>			</v:userdefs>			<rect x="0" y="110.667" width="123.677" height="50" rx="4" ry="4" class="st4"></rect>		</g>		<g id="shape1014-45" v:mid="1014" v:groupcontext="shape" transform="translate(465.651,-6.09432)">			<title>Sheet.1014</title>			<desc>Customize Linux kernel</desc>			<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>			<v:textrect cx="61.8386" cy="142.081" width="123.68" height="37.1716"></v:textrect>			<rect x="0" y="123.496" width="123.677" height="37.1716" class="st5"></rect>			<text x="17.52" y="138.48" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Customize Linux <tspan x="45.64" dy="1.2em" class="st7">kernel</tspan></text>			</g>		<g id="shape1012-49" v:mid="1012" v:groupcontext="shape" transform="translate(620.781,-8.961E-07)">			<title>Rectangle.1012</title>			<v:userdefs>				<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>			</v:userdefs>			<rect x="0" y="110.667" width="123.677" height="50" rx="4" ry="4" class="st4"></rect>		</g>		<g id="shape1013-51" v:mid="1013" v:groupcontext="shape" transform="translate(620.781,-6.09432)">			<title>Sheet.1013</title>			<desc>Debug Linux kernel issues</desc>			<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>			<v:textrect cx="61.8386" cy="142.081" width="123.68" height="37.1716"></v:textrect>			<rect x="0" y="123.496" width="123.677" height="37.1716" class="st5"></rect>			<text x="11.24" y="138.48" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Debug Linux kernel <tspan x="44.61" dy="1.2em" class="st7">issues</tspan></text>			</g>	</g></g>
</svg>

**Figure: Qualcomm Linux kernel workflow**

The Qualcomm Linux distribution supports the following hardware SoCs and
development kits:

> 
> 
> Table: Supported hardware SoCs and development kits
> 
> 
> | Hardware SoCs | Development kit |
> | --- | --- |
> | QCS6490 | <ul class="simple"><br><li><p>QCS6490 Qualcomm Dragonwing™ RB3 Gen 2 Core Development Kit</p></li><br><li><p>QCS6490 Dragonwing™ RB3 Gen 2 optional mezzanine boards</p></li><br></ul> |
> | QCS5430 | QCS5430 Dragonwing™ RB3 Gen 2 Core Development Kit |
> | IQ-9075 | Qualcomm Dragonwing™ IQ-9075 |
> | IQ-8275 | Qualcomm Dragonwing™ IQ-8275 |
> | IQ-615 | Qualcomm Dragonwing™ IQ-615 |

Note

See the [Hardware SoCs](https://docs.qualcomm.com/bundle/publicresource/topics/80-70023-115/soc.html) that are supported on Qualcomm Linux.

Last Published: Dec 26, 2025

[Previous Topic
Kernel documentation](https://docs.qualcomm.com/bundle/publicresource/80-70023-3/topics/kernel_landing_page.md) [Next Topic
Get started with the Qualcomm Linux kernel](https://docs.qualcomm.com/bundle/publicresource/80-70023-3/topics/getting_started_chapter2.md)