Files
2025-11-12 20:16:56 +00:00

2778 lines
68 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Official documentation for Armbian OS and Armbian build framework">
<meta name="author" content="Armbian team">
<link rel="canonical" href="https://docs.armbian.com/Developer-Guide_Overview/">
<link rel="prev" href="../User-Guide_Armbian-Software/WebHosting/">
<link rel="next" href="../Developer-Guide_Build-Preparation/">
<link rel="icon" href="../images/logo.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.0">
<title>Overview - Armbian Documentation</title>
<link rel="stylesheet" href="../assets/stylesheets/main.618322db.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="../css/armbian-extra.css">
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config","UA-284946-9"),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","UA-284946-9",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=UA-284946-9",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script>
<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#what-it-does" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
<aside class="md-banner">
<div class="md-banner__inner md-grid md-typeset">
<a href="https://www.armbian.com">
<span class="twemoji twitter">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M277.8 8.6c-12.3-11.4-31.3-11.4-43.5 0l-224 208c-9.6 9-12.8 22.9-8 35.1S18.8 272 32 272h16v176c0 35.3 28.7 64 64 64h288c35.3 0 64-28.7 64-64V272h16c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8-35.1zM240 320h32c26.5 0 48 21.5 48 48v96H192v-96c0-26.5 21.5-48 48-48"/></svg>
</span> &nbsp; Home
</a>
&nbsp;
<a href="https://www.armbian.com/download">
<span class="twemoji twitter">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v210.7l-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 242.7zM64 320c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64v-32c0-35.3-28.7-64-64-64h-46.9l-56.6 56.6c-31.2 31.2-81.9 31.2-113.1 0L110.9 320zm304 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48"/></svg>
</span> &nbsp; Download
</a>
&nbsp;
<a href="https://blog.armbian.com">
<span class="twemoji twitter">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M0 416V120c0-13.3 10.7-24 24-24s24 10.7 24 24v288c0 13.3 10.7 24 24 24s24-10.7 24-24V96c0-35.3 28.7-64 64-64h288c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64m160-288v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32v-64c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32m24 240c-13.3 0-24 10.7-24 24s10.7 24 24 24h240c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-24-72c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24m200-120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24z"/></svg>
</span> &nbsp; Newsletter
</a>
&nbsp;
<a href="https://forum.armbian.com">
<span class="twemoji twitter">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M64 128a112 112 0 1 1 224 0 112 112 0 1 1-224 0M0 464c0-97.2 78.8-176 176-176s176 78.8 176 176v6c0 23.2-18.8 42-42 42H42c-23.2 0-42-18.8-42-42zM432 64a96 96 0 1 1 0 192 96 96 0 1 1 0-192m0 240c79.5 0 144 64.5 144 144v22.4c0 23-18.6 41.6-41.6 41.6H389.6c6.6-12.5 10.4-26.8 10.4-42v-6c0-51.5-17.4-98.9-46.5-136.7 22.6-14.7 49.6-23.3 78.5-23.3"/></svg>
</span> &nbsp; Forum
</a>
&nbsp;
<a href="https://github.com/armbian">
<span class="twemoji twitter">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</span> &nbsp; GitHub / Source code
</a>
&nbsp;
<a href="https://www.armbian.com/donate">
<span class="twemoji twitter">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="m241 87.1 15 20.7 15-20.7C296 52.5 336.2 32 378.9 32 452.4 32 512 91.6 512 165.1v2.6c0 112.2-139.9 242.5-212.9 298.2-12.4 9.4-27.6 14.1-43.1 14.1s-30.8-4.6-43.1-14.1C139.9 410.2 0 279.9 0 167.7v-2.6C0 91.6 59.6 32 133.1 32 175.8 32 216 52.5 241 87.1"/></svg>
</span> &nbsp; Donate
</a>
<a rel="me" href="https://fosstodon.org/@armbian"></a>
</div>
</aside>
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href=".." title="Armbian Documentation" class="md-header__button md-logo" aria-label="Armbian Documentation" data-md-component="logo">
<img src="../images/armbian-logo.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Armbian Documentation
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Overview
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6m0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4M7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/armbian/documentation" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M202.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1M496 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2m-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3m-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1"/></svg>
</div>
<div class="md-source__repository">
armbian/documentation
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href=".." class="md-tabs__link">
ARMBIAN OS
</a>
</li>
<li class="md-tabs__item">
<a href="../User-Guide_Armbian-Config/" class="md-tabs__link">
ARMBIAN CONFIG
</a>
</li>
<li class="md-tabs__item">
<a href="../User-Guide_Armbian-Software/" class="md-tabs__link">
ARMBIAN SOFTWARE
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="./" class="md-tabs__link">
ARMBIAN BUILD FRAMEWORK
</a>
</li>
<li class="md-tabs__item">
<a href="../Community_Forums/" class="md-tabs__link">
ARMBIAN COMMUNITY
</a>
</li>
<li class="md-tabs__item">
<a href="../Process_Contribute/" class="md-tabs__link">
CONTRIBUTE
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="Armbian Documentation" class="md-nav__button md-logo" aria-label="Armbian Documentation" data-md-component="logo">
<img src="../images/armbian-logo.png" alt="logo">
</a>
Armbian Documentation
</label>
<div class="md-nav__source">
<a href="https://github.com/armbian/documentation" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M202.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1M496 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2m-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3m-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1"/></svg>
</div>
<div class="md-source__repository">
armbian/documentation
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_1" >
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="0">
<span class="md-ellipsis">
ARMBIAN OS
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
ARMBIAN OS
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href=".." class="md-nav__link">
<span class="md-ellipsis">
Introduction
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Getting-Started/" class="md-nav__link">
<span class="md-ellipsis">
Getting Started
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_1_3" >
<label class="md-nav__link" for="__nav_1_3" id="__nav_1_3_label" tabindex="0">
<span class="md-ellipsis">
Advanced Usage
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_3">
<span class="md-nav__icon md-icon"></span>
Advanced Usage
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../User-Guide_Advanced-Configuration/" class="md-nav__link">
<span class="md-ellipsis">
Advanced Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Networking/" class="md-nav__link">
<span class="md-ellipsis">
Networking
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Autoconfig/" class="md-nav__link">
<span class="md-ellipsis">
Firstboot config
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Troubleshooting/" class="md-nav__link">
<span class="md-ellipsis">
Troubleshooting and Recovery
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_FAQ/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_1_6" >
<label class="md-nav__link" for="__nav_1_6" id="__nav_1_6_label" tabindex="0">
<span class="md-ellipsis">
Appendix
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_6">
<span class="md-nav__icon md-icon"></span>
Appendix
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../Release_Changelog/" class="md-nav__link">
<span class="md-ellipsis">
Changelog
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Process_Release-Model/" class="md-nav__link">
<span class="md-ellipsis">
Release Model
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/" class="md-nav__link">
<span class="md-ellipsis">
Unit Test Status
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
ARMBIAN CONFIG
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
ARMBIAN CONFIG
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Config/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Config/System/" class="md-nav__link">
<span class="md-ellipsis">
System
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Config/Network/" class="md-nav__link">
<span class="md-ellipsis">
Network
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Config/Localisation/" class="md-nav__link">
<span class="md-ellipsis">
Localisation
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
ARMBIAN SOFTWARE
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
ARMBIAN SOFTWARE
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Armbian/" class="md-nav__link">
<span class="md-ellipsis">
Armbian
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Backup/" class="md-nav__link">
<span class="md-ellipsis">
Backup
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Containers/" class="md-nav__link">
<span class="md-ellipsis">
Containers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Database/" class="md-nav__link">
<span class="md-ellipsis">
Database
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/DevTools/" class="md-nav__link">
<span class="md-ellipsis">
Development tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/DNS/" class="md-nav__link">
<span class="md-ellipsis">
DNS blockers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Downloaders/" class="md-nav__link">
<span class="md-ellipsis">
Downloaders
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Finance/" class="md-nav__link">
<span class="md-ellipsis">
Finance
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/HomeAutomation/" class="md-nav__link">
<span class="md-ellipsis">
Home automation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Management/" class="md-nav__link">
<span class="md-ellipsis">
Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Media/" class="md-nav__link">
<span class="md-ellipsis">
Media
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Monitoring/" class="md-nav__link">
<span class="md-ellipsis">
Monitoring
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Music/" class="md-nav__link">
<span class="md-ellipsis">
Music
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Netconfig/" class="md-nav__link">
<span class="md-ellipsis">
Netconfig
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/Printing/" class="md-nav__link">
<span class="md-ellipsis">
Printing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/VPN/" class="md-nav__link">
<span class="md-ellipsis">
VPN
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/WebHosting/" class="md-nav__link">
<span class="md-ellipsis">
Web hosting
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
<span class="md-ellipsis">
ARMBIAN BUILD FRAMEWORK
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
ARMBIAN BUILD FRAMEWORK
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Overview
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Overview
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#what-it-does" class="md-nav__link">
<span class="md-ellipsis">
What it does?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#key-advantages" class="md-nav__link">
<span class="md-ellipsis">
Key Advantages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#framework-structure" class="md-nav__link">
<span class="md-ellipsis">
Framework Structure
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../Developer-Guide_Build-Preparation/" class="md-nav__link">
<span class="md-ellipsis">
Getting Started
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Developer-Guide_Build-Commands/" class="md-nav__link">
<span class="md-ellipsis">
Build Commands
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Developer-Guide_Build-Switches/" class="md-nav__link">
<span class="md-ellipsis">
Build Switches
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Developer-Guide_User-Configurations/" class="md-nav__link">
<span class="md-ellipsis">
User Configurations
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Developer-Guide_Extensions-Hooks/" class="md-nav__link">
<span class="md-ellipsis">
Extensions Hooks
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Developer-Guide_Building-with-Multipass/" class="md-nav__link">
<span class="md-ellipsis">
Building with Multipass
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Developer-Guide_Building-with-Docker/" class="md-nav__link">
<span class="md-ellipsis">
Building with Docker
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Developer-Guide_Extensions/" class="md-nav__link">
<span class="md-ellipsis">
Extensions
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-ellipsis">
ARMBIAN COMMUNITY
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
ARMBIAN COMMUNITY
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../Community_Forums/" class="md-nav__link">
<span class="md-ellipsis">
Forums
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Community_Github/" class="md-nav__link">
<span class="md-ellipsis">
Github
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Community_IRC/" class="md-nav__link">
<span class="md-ellipsis">
Chat
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-ellipsis">
CONTRIBUTE
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
CONTRIBUTE
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../Process_Contribute/" class="md-nav__link">
<span class="md-ellipsis">
Contribute
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Contribute/Armbian-config/" class="md-nav__link">
<span class="md-ellipsis">
Armbian config
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../WifiPerformance/" class="md-nav__link">
<span class="md-ellipsis">
Wifi performance tests
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Mirrors/" class="md-nav__link">
<span class="md-ellipsis">
Mirrors
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Process_CI/" class="md-nav__link">
<span class="md-ellipsis">
Automation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Board-Support-Rules/" class="md-nav__link">
<span class="md-ellipsis">
Board Support Rules
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/armbian/documentation/edit/main/docs/Developer-Guide_Overview.md" title="Edit this page" class="md-content__button md-icon" rel="edit">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg>
</a>
<a href="https://github.com/armbian/documentation/raw/main/docs/Developer-Guide_Overview.md" title="View source of this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg>
</a>
<h1>Overview</h1>
<h2 id="what-it-does">What it does?<a class="headerlink" href="#what-it-does" title="Permanent link">&para;</a></h2>
<ul>
<li>Builds custom <strong>kernel</strong>, <strong>image</strong> or a Debian based Linux <strong>distribution</strong> optimized for low-resource hardware,</li>
<li>Include filesystem generation, low-level control software, kernel image and <strong>bootloader</strong> compilation,</li>
<li>Provides a <strong>consistent user experience</strong> by keeping system standards across different platforms.</li>
</ul>
<pre class="mermaid"><code>graph LR
A[./compile.sh] --&gt; B{Change&lt;br&gt;kernel&lt;br&gt;config};
B ---&gt; |yes| C["HW"];
B ---&gt; |no| C["HW"];
C ---&gt; |branch| D["legacy&lt;br&gt;vendor&lt;br&gt;current&lt;br&gt;edge"];
D --&gt; |base| E["Debian&lt;br&gt;Ubuntu"];
E ---&gt; |type| F["CLI"];
F ---&gt; |type| G["Server"];
F ---&gt; |type| H["Minimal"];
E ---&gt; I["Desktop"];
I ---&gt; K["XFCE"];
I ---&gt; L["Gnome"];
I ---&gt; M["Cinammon"];
I ---&gt; N["KDE Neon"];</code></pre>
<h2 id="key-advantages">Key Advantages<a class="headerlink" href="#key-advantages" title="Permanent link">&para;</a></h2>
<ul>
<li>Simplicity with interactive graphical interface.</li>
<li>Generates widely recognized and well maintained userspace</li>
<li>Fast learning curve for complex operations</li>
</ul>
<p>Check other similarities, advantages and disadvantages compared with leading industry standard build software.</p>
<table>
<thead>
<tr>
<th style="text-align: left;">Function</th>
<th style="text-align: left;">Armbian</th>
<th style="text-align: left;">Yocto</th>
<th style="text-align: left;">Buildroot</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">Target</td>
<td style="text-align: left;">general purpose</td>
<td style="text-align: left;">embedded</td>
<td style="text-align: left;">embedded / IOT</td>
</tr>
<tr>
<td style="text-align: left;">U-boot and kernel</td>
<td style="text-align: left;">compiled from sources</td>
<td style="text-align: left;">compiled from sources</td>
<td style="text-align: left;">compiled from sources</td>
</tr>
<tr>
<td style="text-align: left;">Board support maintenance &nbsp;</td>
<td style="text-align: left;">complete</td>
<td style="text-align: left;">outside</td>
<td style="text-align: left;">outside</td>
</tr>
<tr>
<td style="text-align: left;">Root file system</td>
<td style="text-align: left;">Debian or Ubuntu based</td>
<td style="text-align: left;">custom</td>
<td style="text-align: left;">custom</td>
</tr>
<tr>
<td style="text-align: left;">Package manager</td>
<td style="text-align: left;">APT</td>
<td style="text-align: left;">any</td>
<td style="text-align: left;">none</td>
</tr>
<tr>
<td style="text-align: left;">Configurability</td>
<td style="text-align: left;">limited</td>
<td style="text-align: left;">large</td>
<td style="text-align: left;">large</td>
</tr>
<tr>
<td style="text-align: left;">Initramfs support</td>
<td style="text-align: left;">yes</td>
<td style="text-align: left;">yes</td>
<td style="text-align: left;">yes</td>
</tr>
<tr>
<td style="text-align: left;">Getting started</td>
<td style="text-align: left;">quick</td>
<td style="text-align: left;">very slow</td>
<td style="text-align: left;">slow</td>
</tr>
<tr>
<td style="text-align: left;">Cross compilation</td>
<td style="text-align: left;">yes</td>
<td style="text-align: left;">yes</td>
<td style="text-align: left;">yes</td>
</tr>
</tbody>
</table>
<h2 id="framework-structure">Framework Structure<a class="headerlink" href="#framework-structure" title="Permanent link">&para;</a></h2>
<div class="language-text highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Text Only</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-1"> 1</a></span>
<span class="normal"><a href="#__codelineno-0-2"> 2</a></span>
<span class="normal"><a href="#__codelineno-0-3"> 3</a></span>
<span class="normal"><a href="#__codelineno-0-4"> 4</a></span>
<span class="normal"><a href="#__codelineno-0-5"> 5</a></span>
<span class="normal"><a href="#__codelineno-0-6"> 6</a></span>
<span class="normal"><a href="#__codelineno-0-7"> 7</a></span>
<span class="normal"><a href="#__codelineno-0-8"> 8</a></span>
<span class="normal"><a href="#__codelineno-0-9"> 9</a></span>
<span class="normal"><a href="#__codelineno-0-10">10</a></span>
<span class="normal"><a href="#__codelineno-0-11">11</a></span>
<span class="normal"><a href="#__codelineno-0-12">12</a></span>
<span class="normal"><a href="#__codelineno-0-13">13</a></span>
<span class="normal"><a href="#__codelineno-0-14">14</a></span>
<span class="normal"><a href="#__codelineno-0-15">15</a></span>
<span class="normal"><a href="#__codelineno-0-16">16</a></span>
<span class="normal"><a href="#__codelineno-0-17">17</a></span>
<span class="normal"><a href="#__codelineno-0-18">18</a></span>
<span class="normal"><a href="#__codelineno-0-19">19</a></span>
<span class="normal"><a href="#__codelineno-0-20">20</a></span>
<span class="normal"><a href="#__codelineno-0-21">21</a></span>
<span class="normal"><a href="#__codelineno-0-22">22</a></span>
<span class="normal"><a href="#__codelineno-0-23">23</a></span>
<span class="normal"><a href="#__codelineno-0-24">24</a></span>
<span class="normal"><a href="#__codelineno-0-25">25</a></span>
<span class="normal"><a href="#__codelineno-0-26">26</a></span>
<span class="normal"><a href="#__codelineno-0-27">27</a></span>
<span class="normal"><a href="#__codelineno-0-28">28</a></span>
<span class="normal"><a href="#__codelineno-0-29">29</a></span>
<span class="normal"><a href="#__codelineno-0-30">30</a></span>
<span class="normal"><a href="#__codelineno-0-31">31</a></span>
<span class="normal"><a href="#__codelineno-0-32">32</a></span>
<span class="normal"><a href="#__codelineno-0-33">33</a></span>
<span class="normal"><a href="#__codelineno-0-34">34</a></span>
<span class="normal"><a href="#__codelineno-0-35">35</a></span>
<span class="normal"><a href="#__codelineno-0-36">36</a></span>
<span class="normal"><a href="#__codelineno-0-37">37</a></span>
<span class="normal"><a href="#__codelineno-0-38">38</a></span>
<span class="normal"><a href="#__codelineno-0-39">39</a></span>
<span class="normal"><a href="#__codelineno-0-40">40</a></span>
<span class="normal"><a href="#__codelineno-0-41">41</a></span>
<span class="normal"><a href="#__codelineno-0-42">42</a></span>
<span class="normal"><a href="#__codelineno-0-43">43</a></span>
<span class="normal"><a href="#__codelineno-0-44">44</a></span>
<span class="normal"><a href="#__codelineno-0-45">45</a></span>
<span class="normal"><a href="#__codelineno-0-46">46</a></span>
<span class="normal"><a href="#__codelineno-0-47">47</a></span>
<span class="normal"><a href="#__codelineno-0-48">48</a></span>
<span class="normal"><a href="#__codelineno-0-49">49</a></span>
<span class="normal"><a href="#__codelineno-0-50">50</a></span>
<span class="normal"><a href="#__codelineno-0-51">51</a></span>
<span class="normal"><a href="#__codelineno-0-52">52</a></span>
<span class="normal"><a href="#__codelineno-0-53">53</a></span>
<span class="normal"><a href="#__codelineno-0-54">54</a></span>
<span class="normal"><a href="#__codelineno-0-55">55</a></span>
<span class="normal"><a href="#__codelineno-0-56">56</a></span>
<span class="normal"><a href="#__codelineno-0-57">57</a></span>
<span class="normal"><a href="#__codelineno-0-58">58</a></span>
<span class="normal"><a href="#__codelineno-0-59">59</a></span>
<span class="normal"><a href="#__codelineno-0-60">60</a></span>
<span class="normal"><a href="#__codelineno-0-61">61</a></span>
<span class="normal"><a href="#__codelineno-0-62">62</a></span>
<span class="normal"><a href="#__codelineno-0-63">63</a></span>
<span class="normal"><a href="#__codelineno-0-64">64</a></span>
<span class="normal"><a href="#__codelineno-0-65">65</a></span>
<span class="normal"><a href="#__codelineno-0-66">66</a></span>
<span class="normal"><a href="#__codelineno-0-67">67</a></span>
<span class="normal"><a href="#__codelineno-0-68">68</a></span>
<span class="normal"><a href="#__codelineno-0-69">69</a></span>
<span class="normal"><a href="#__codelineno-0-70">70</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1"></a>├── cache Work / cache directory
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2"></a>│   ├── aptcache Packages
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3"></a>│   ├── ccache C/C++ compiler
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4"></a>│   ├── docker Docker last pull
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5"></a>│   ├── git-bare Minimal Git
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6"></a>│   ├── git-bundles Full Git
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7"></a>│   ├── initrd Ram disk
</span><span id="__span-0-8"><a id="__codelineno-0-8" name="__codelineno-0-8"></a>│   ├── memoize Git status
</span><span id="__span-0-9"><a id="__codelineno-0-9" name="__codelineno-0-9"></a>│   ├── patch Kernel drivers patch
</span><span id="__span-0-10"><a id="__codelineno-0-10" name="__codelineno-0-10"></a>│   ├── pip Python
</span><span id="__span-0-11"><a id="__codelineno-0-11" name="__codelineno-0-11"></a>│   ├── rootfs Compressed userspaces
</span><span id="__span-0-12"><a id="__codelineno-0-12" name="__codelineno-0-12"></a>│   ├── sources Kernel, u-boot and other sources
</span><span id="__span-0-13"><a id="__codelineno-0-13" name="__codelineno-0-13"></a>│   ├── tools Additional tools like ORAS
</span><span id="__span-0-14"><a id="__codelineno-0-14" name="__codelineno-0-14"></a>│   └── utility
</span><span id="__span-0-15"><a id="__codelineno-0-15" name="__codelineno-0-15"></a>├── config Packages repository configurations
</span><span id="__span-0-16"><a id="__codelineno-0-16" name="__codelineno-0-16"></a>│   ├── targets.conf Board build target configuration
</span><span id="__span-0-17"><a id="__codelineno-0-17" name="__codelineno-0-17"></a>│   ├── boards Board configurations
</span><span id="__span-0-18"><a id="__codelineno-0-18" name="__codelineno-0-18"></a>│   ├── bootenv Initial boot loaders environments per family
</span><span id="__span-0-19"><a id="__codelineno-0-19" name="__codelineno-0-19"></a>│   ├── bootscripts Initial Boot loaders scripts per family
</span><span id="__span-0-20"><a id="__codelineno-0-20" name="__codelineno-0-20"></a>│   ├── cli CLI packages configurations per distribution
</span><span id="__span-0-21"><a id="__codelineno-0-21" name="__codelineno-0-21"></a>│   ├── desktop Desktop packages configurations per distribution
</span><span id="__span-0-22"><a id="__codelineno-0-22" name="__codelineno-0-22"></a>│   ├── distributions Distributions settings
</span><span id="__span-0-23"><a id="__codelineno-0-23" name="__codelineno-0-23"></a>│   ├── kernel Kernel build configurations per family
</span><span id="__span-0-24"><a id="__codelineno-0-24" name="__codelineno-0-24"></a>│   ├── sources Kernel and u-boot sources locations and scripts
</span><span id="__span-0-25"><a id="__codelineno-0-25" name="__codelineno-0-25"></a>│   ├── templates User configuration templates which populate userpatches
</span><span id="__span-0-26"><a id="__codelineno-0-26" name="__codelineno-0-26"></a>│   └── torrents External compiler and rootfs cache torrents
</span><span id="__span-0-27"><a id="__codelineno-0-27" name="__codelineno-0-27"></a>├── extensions Extend build system with specific functionality
</span><span id="__span-0-28"><a id="__codelineno-0-28" name="__codelineno-0-28"></a>├── lib Main build framework libraries
</span><span id="__span-0-29"><a id="__codelineno-0-29" name="__codelineno-0-29"></a>│   ├── functions
</span><span id="__span-0-30"><a id="__codelineno-0-30" name="__codelineno-0-30"></a>│   │   ├── artifacts
</span><span id="__span-0-31"><a id="__codelineno-0-31" name="__codelineno-0-31"></a>│   │   ├── bsp
</span><span id="__span-0-32"><a id="__codelineno-0-32" name="__codelineno-0-32"></a>│   │   ├── cli
</span><span id="__span-0-33"><a id="__codelineno-0-33" name="__codelineno-0-33"></a>│   │   ├── compilation
</span><span id="__span-0-34"><a id="__codelineno-0-34" name="__codelineno-0-34"></a>│   │   ├── configuration
</span><span id="__span-0-35"><a id="__codelineno-0-35" name="__codelineno-0-35"></a>│   │   ├── general
</span><span id="__span-0-36"><a id="__codelineno-0-36" name="__codelineno-0-36"></a>│   │   ├── host
</span><span id="__span-0-37"><a id="__codelineno-0-37" name="__codelineno-0-37"></a>│   │   ├── image
</span><span id="__span-0-38"><a id="__codelineno-0-38" name="__codelineno-0-38"></a>│   │   ├── logging
</span><span id="__span-0-39"><a id="__codelineno-0-39" name="__codelineno-0-39"></a>│   │   ├── main
</span><span id="__span-0-40"><a id="__codelineno-0-40" name="__codelineno-0-40"></a>│   │   └── rootfs
</span><span id="__span-0-41"><a id="__codelineno-0-41" name="__codelineno-0-41"></a>│   └── tools
</span><span id="__span-0-42"><a id="__codelineno-0-42" name="__codelineno-0-42"></a>├── output Build artifact
</span><span id="__span-0-43"><a id="__codelineno-0-43" name="__codelineno-0-43"></a>│   └── deb Deb packages
</span><span id="__span-0-44"><a id="__codelineno-0-44" name="__codelineno-0-44"></a>│   └── images Bootable images - RAW or compressed
</span><span id="__span-0-45"><a id="__codelineno-0-45" name="__codelineno-0-45"></a>│   └── debug Patch and build logs
</span><span id="__span-0-46"><a id="__codelineno-0-46" name="__codelineno-0-46"></a>│   └── config Kernel configuration export location
</span><span id="__span-0-47"><a id="__codelineno-0-47" name="__codelineno-0-47"></a>│   └── patch Created patches location
</span><span id="__span-0-48"><a id="__codelineno-0-48" name="__codelineno-0-48"></a>├── packages Support scripts, binary blobs, packages
</span><span id="__span-0-49"><a id="__codelineno-0-49" name="__codelineno-0-49"></a>│   ├── blobs Wallpapers, various configs, closed source bootloaders
</span><span id="__span-0-50"><a id="__codelineno-0-50" name="__codelineno-0-50"></a>│   ├── bsp-cli Automatically added to armbian-bsp-cli package
</span><span id="__span-0-51"><a id="__codelineno-0-51" name="__codelineno-0-51"></a>│   ├── bsp-desktop Automatically added to armbian-bsp-desktopo package
</span><span id="__span-0-52"><a id="__codelineno-0-52" name="__codelineno-0-52"></a>│   ├── bsp Scripts and configs overlay for rootfs
</span><span id="__span-0-53"><a id="__codelineno-0-53" name="__codelineno-0-53"></a>│   └── extras-buildpkgs Optional compilation and packaging engine
</span><span id="__span-0-54"><a id="__codelineno-0-54" name="__codelineno-0-54"></a>├── patch Collection of patches
</span><span id="__span-0-55"><a id="__codelineno-0-55" name="__codelineno-0-55"></a>│   ├── atf ARM trusted firmware
</span><span id="__span-0-56"><a id="__codelineno-0-56" name="__codelineno-0-56"></a>│   ├── kernel Linux kernel patches
</span><span id="__span-0-57"><a id="__codelineno-0-57" name="__codelineno-0-57"></a>| |   └── family-branch Per kernel family and branch
</span><span id="__span-0-58"><a id="__codelineno-0-58" name="__codelineno-0-58"></a>│   ├── misc Linux kernel packaging patches
</span><span id="__span-0-59"><a id="__codelineno-0-59" name="__codelineno-0-59"></a>│   └── u-boot Universal boot loader patches
</span><span id="__span-0-60"><a id="__codelineno-0-60" name="__codelineno-0-60"></a>| ├── u-boot-board For specific board
</span><span id="__span-0-61"><a id="__codelineno-0-61" name="__codelineno-0-61"></a>|    └── u-boot-family For entire kernel family
</span><span id="__span-0-62"><a id="__codelineno-0-62" name="__codelineno-0-62"></a>├── tools Tools for dealing with kernel patches and configs
</span><span id="__span-0-63"><a id="__codelineno-0-63" name="__codelineno-0-63"></a>└── userpatches User: configuration patching area
</span><span id="__span-0-64"><a id="__codelineno-0-64" name="__codelineno-0-64"></a> ├── config-example.conf User: example user config file
</span><span id="__span-0-65"><a id="__codelineno-0-65" name="__codelineno-0-65"></a> ├── customize-image.sh User: script will execute just before closing the image
</span><span id="__span-0-66"><a id="__codelineno-0-66" name="__codelineno-0-66"></a>    ├── atf User: ARM trusted firmware
</span><span id="__span-0-67"><a id="__codelineno-0-67" name="__codelineno-0-67"></a>    ├── extensions User: Extend build system with specific functionality
</span><span id="__span-0-68"><a id="__codelineno-0-68" name="__codelineno-0-68"></a>    ├── kernel User: Linux kernel per kernel family
</span><span id="__span-0-69"><a id="__codelineno-0-69" name="__codelineno-0-69"></a>    ├── misc User: various
</span><span id="__span-0-70"><a id="__codelineno-0-70" name="__codelineno-0-70"></a>    └── u-boot User: universal boot loader patches
</span></code></pre></div></td></tr></table></div>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2013 - 2024 Armbian.com
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
<div class="md-social">
<a href="https://github.com/armbian" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</a>
<a href="https://www.armbian.com/" target="_blank" rel="noopener" title="www.armbian.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M277.8 8.6c-12.3-11.4-31.3-11.4-43.5 0l-224 208c-9.6 9-12.8 22.9-8 35.1S18.8 272 32 272h16v176c0 35.3 28.7 64 64 64h288c35.3 0 64-28.7 64-64V272h16c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8-35.1zM240 320h32c26.5 0 48 21.5 48 48v96H192v-96c0-26.5 21.5-48 48-48"/></svg>
</a>
<a href="https://twitter.com/armbian" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["content.action.edit", "content.action.view", "content.code.copy", "navigation.tabs", "navigation.top", "navigation.expand", "toc.integrate"], "search": "../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="../assets/javascripts/bundle.e71a0d61.min.js"></script>
</body>
</html>