Files
2025-04-29 19:37:55 +00:00

2573 lines
76 KiB
HTML

<!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/User-Guide_Troubleshooting/">
<link rel="prev" href="../User-Guide_Autoconfig/">
<link rel="next" href="../User-Guide_FAQ/">
<link rel="icon" href="../images/logo.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.12">
<title>Troubleshooting and Recovery - Armbian Documentation</title>
<link rel="stylesheet" href="../assets/stylesheets/main.2afb09e1.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.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="#hardware-troubleshooting-guide" 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://github.com/sponsors/armbian">
<span class="twemoji twitter">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 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 2024 Fonticons, Inc.--><path d="m47.6 300.4 180.7 168.7c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l180.7-168.7c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141-45.6-7.6-92 7.3-124.6 39.9l-12 12-12-12c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5"/></svg>
</span> &nbsp; Become a sponsor to Armbian!
</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/logo.svg" 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">
Troubleshooting and Recovery
</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 480 512"><!--! Font Awesome Free 6.7.2 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 2024 Fonticons, Inc.--><path d="M186.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.1M480 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 md-tabs__item--active">
<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">
<a href="../Developer-Guide_Overview/" 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/logo.svg" 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 480 512"><!--! Font Awesome Free 6.7.2 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 2024 Fonticons, Inc.--><path d="M186.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.1M480 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--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" checked>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<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="true">
<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">
<a href="../User-Guide_Configuration/" class="md-nav__link">
<span class="md-ellipsis">
Configuration
</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_4" >
<label class="md-nav__link" for="__nav_1_4" id="__nav_1_4_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_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_4">
<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-Features/" class="md-nav__link">
<span class="md-ellipsis">
Advanced Features
</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 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">
Troubleshooting and Recovery
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Troubleshooting and Recovery
</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="#powering-notes" class="md-nav__link">
<span class="md-ellipsis">
Powering notes
</span>
</a>
<nav class="md-nav" aria-label="Powering notes">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#power-supply" class="md-nav__link">
<span class="md-ellipsis">
Power supply
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cable" class="md-nav__link">
<span class="md-ellipsis">
Cable
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#connector" class="md-nav__link">
<span class="md-ellipsis">
Connector
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#sd-card" class="md-nav__link">
<span class="md-ellipsis">
SD card
</span>
</a>
<nav class="md-nav" aria-label="SD card">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#sd-card-brand" class="md-nav__link">
<span class="md-ellipsis">
SD card brand
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#sd-card-size-and-speed-class" class="md-nav__link">
<span class="md-ellipsis">
SD card size and speed class
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#sd-card-testing" class="md-nav__link">
<span class="md-ellipsis">
SD card testing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#writing-images-to-the-sd-card" class="md-nav__link">
<span class="md-ellipsis">
Writing images to the SD card
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#network" class="md-nav__link">
<span class="md-ellipsis">
Network
</span>
</a>
<nav class="md-nav" aria-label="Network">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#mac-address-conflicts" class="md-nav__link">
<span class="md-ellipsis">
MAC Address Conflicts
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#video" class="md-nav__link">
<span class="md-ellipsis">
Video
</span>
</a>
<nav class="md-nav" aria-label="Video">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#no-screen-on-4k-resolution" class="md-nav__link">
<span class="md-ellipsis">
No Screen on 4k Resolution
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#board-configuration" class="md-nav__link">
<span class="md-ellipsis">
Board configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#recovery" class="md-nav__link">
<span class="md-ellipsis">
Recovery
</span>
</a>
<nav class="md-nav" aria-label="Recovery">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#u-boot-shell-access" class="md-nav__link">
<span class="md-ellipsis">
U-Boot Shell Access
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#replacing-boot" class="md-nav__link">
<span class="md-ellipsis">
Replacing /boot
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#flashing-boot-loader" class="md-nav__link">
<span class="md-ellipsis">
Flashing boot loader
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</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_7" >
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_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_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_7">
<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/WebHosting/" class="md-nav__link">
<span class="md-ellipsis">
Web hosting
</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/Backup/" class="md-nav__link">
<span class="md-ellipsis">
Backup
</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/Finance/" class="md-nav__link">
<span class="md-ellipsis">
Finance
</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/Downloaders/" class="md-nav__link">
<span class="md-ellipsis">
Downloaders
</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/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/Monitoring/" class="md-nav__link">
<span class="md-ellipsis">
Monitoring
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../User-Guide_Armbian-Software/DevTools/" class="md-nav__link">
<span class="md-ellipsis">
DevTools
</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/Printing/" class="md-nav__link">
<span class="md-ellipsis">
Printing
</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/Netconfig/" class="md-nav__link">
<span class="md-ellipsis">
Netconfig
</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_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<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="false">
<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">
<a href="../Developer-Guide_Overview/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</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/User-Guide_Troubleshooting.md" title="Edit this page" class="md-content__button md-icon">
<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/User-Guide_Troubleshooting.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 id="hardware-troubleshooting-guide">Hardware troubleshooting guide<a class="headerlink" href="#hardware-troubleshooting-guide" title="Permanent link">&para;</a></h1>
<p>First aid video guide:</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/UpVMO7gbnYM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<p>If you are experiencing at least one of these problems:</p>
<ul>
<li>board does not boot</li>
<li>board freezes, crashes or reboots randomly or when connecting USB devices</li>
<li>plugged in USB devices are not detected (not listed in <code>lsusb</code> output)</li>
<li>error changing the root password at first boot (Authentication token manipulation error)</li>
<li>error installing or updating packages due to read-only file system</li>
</ul>
<p>and you are using a stable Armbian image, then most likely you have one of two common problems - <strong>powering issue</strong> or <strong>SD card issue</strong>.</p>
<p>Note that</p>
<ul>
<li><em>&ldquo;I know that my power supply is good&rdquo;, &ldquo;it worked yesterday&rdquo;, &ldquo;it works with a different device&rdquo;,</em> etc. are <strong>not objective reasons</strong> to skip powering related diagnostics</li>
<li><em>&ldquo;I know that my SD card is good&rdquo;, &ldquo;it worked yesterday&rdquo;, &ldquo;it works with a different device&rdquo;,</em> etc. are <strong>not objective reasons</strong> to skip storage related diagnostics</li>
<li>undervoltage can cause symptoms related to SD card problems such as filesystem corruptions and data loss, so powering has to be checked first</li>
</ul>
<h2 id="powering-notes">Powering notes<a class="headerlink" href="#powering-notes" title="Permanent link">&para;</a></h2>
<ul>
<li>Most boards, even ones fitted with PMIC (power management integrated circuit) do not have any measures to react to undervoltage that could prevent instability</li>
<li>It does not matter what voltage your power supply outputs, it matters what voltage will reach the onboard voltage regulators</li>
<li>Peak power consumption of popular boards can vary from 0.9A at 5V (H3 based Orange Pi PC) to 1.7A at 5V (RK3288 based Tinkerboard), both without any attached peripherials like USB devices</li>
<li>Due to the Ohm&rsquo;s law voltage drop due to cable and connector resistance will be proportional to the electric current, so most of the time problems will be experienced at current spikes caused by CPU load or peripherials like spinning up HDDs</li>
</ul>
<h3 id="power-supply">Power supply<a class="headerlink" href="#power-supply" title="Permanent link">&para;</a></h3>
<ul>
<li>Cheap phone chargers may not provide the current listed on their label, especially for long time periods</li>
<li>Some cheap phone chargers don&rsquo;t have proper feedback based stabilization, so output voltage may change depending on load</li>
<li>Power supplies will degrade over time (especially when working 24/7)</li>
<li>Some problems like degraded output filtering capacitors cannot be diagnosed even with a multimeter because of the non-linear voltage form</li>
</ul>
<h3 id="cable">Cable<a class="headerlink" href="#cable" title="Permanent link">&para;</a></h3>
<ul>
<li>The longer and thinner the cable - the higher its resistance - the greater the voltage drop will be under load</li>
<li>Even thick looking cable can have thin wires inside, so do not trust the outside cable diameter</li>
</ul>
<h3 id="connector">Connector<a class="headerlink" href="#connector" title="Permanent link">&para;</a></h3>
<ul>
<li>MicroUSB connector is rated for the maximum current of 1.8A, but even this number cannot be guaranteed. Trying to pass larger current (even momentarily) may result in a voltage dropping below USB specifications</li>
<li>Most of the boards can also be powered through GPIO pins. This can be used to bypass the microUSB connector and thus to improve stability</li>
</ul>
<h2 id="sd-card">SD card<a class="headerlink" href="#sd-card" title="Permanent link">&para;</a></h2>
<ul>
<li>A SD card is a complex storage device with an embedded controller that processes read, erase and write operations, wear leveling, error and corruption detection, but it does not provide any diagnostic protocols like S.M.A.R.T.</li>
<li>SD cards will degrade over time and may fail in the end in different ways - become completely or partially read-only or cause a silent data corruption</li>
</ul>
<h3 id="sd-card-brand">SD card brand<a class="headerlink" href="#sd-card-brand" title="Permanent link">&para;</a></h3>
<ul>
<li>Based on current prices and performance tests done by Armbian users Samsung Evo, Samsung Evo Plus and Sandisk Ultra cards are recommended</li>
<li>Other good alternatives may be added to this page in the future</li>
</ul>
<h3 id="sd-card-size-and-speed-class">SD card size and speed class<a class="headerlink" href="#sd-card-size-and-speed-class" title="Permanent link">&para;</a></h3>
<ul>
<li>SD card speed class and size does not influence the reliability directly, but larger size means larger amount of lifetime data written, even if you are using 10-20% of the cards space</li>
</ul>
<h3 id="sd-card-testing">SD card testing<a class="headerlink" href="#sd-card-testing" title="Permanent link">&para;</a></h3>
<ul>
<li>There are many fake SD card around. eBay and Amazon Marketplace are notorious for selling fakes, but sometimes even reputable retailers get fooled.</li>
<li>Most commonly low capacity cards will be reprogrammed to appear as bigger, but any files written beyond the true capacity will be lost or corrupted.</li>
<li>We recommend to always <a href="https://fight-flash-fraud.readthedocs.io/en/latest/usage.html">test the capacity of each new SD cards using f3</a>.</li>
</ul>
<h3 id="writing-images-to-the-sd-card">Writing images to the SD card<a class="headerlink" href="#writing-images-to-the-sd-card" title="Permanent link">&para;</a></h3>
<ul>
<li>If you wrote an image to the card it does not mean that it was written successfully without any errors</li>
<li>so always verify images after write using some tools like <em>balenaEtcher</em> which is currently the only popular and cross-platform tool that does mandatory verify on write (more lightweight alternatives may be added to this page in the future)</li>
<li>&ldquo;Check for bad blocks&rdquo; function available in some tools is mostly useless when dealing with SD cards</li>
<li>Note that <em>balenaEtcher</em> verifies only 1-2GB that are occupied by the initial unresized image, it does not verify the whole SD card</li>
</ul>
<h2 id="network">Network<a class="headerlink" href="#network" title="Permanent link">&para;</a></h2>
<h3 id="mac-address-conflicts">MAC Address Conflicts<a class="headerlink" href="#mac-address-conflicts" title="Permanent link">&para;</a></h3>
<p>If you experience strange network problems, especially if you are running several of these SOC-boards with the same operating system, then the problems may be sourced by not having a real hardware MAC address. The operating systems try to generate a hardware MAC address from the CPUid, but what if that SOC has no CPUid either?</p>
<p>Then you have to do it manually. Depending on system and network installation, there are several possibilities:</p>
<ul>
<li>the preferred way: change <code>/boot/armbianEnv.txt</code> and add a line:<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">1</span></pre></div></td><td class="code"><div><pre><span></span><code> ethaddr=XX:XX:XX:XX:XX:XX
</code></pre></div></td></tr></table></div>
</li>
</ul>
<p>but that file is interpreted by u-boot, which happens early in boot process, but not every u-boot is able to read that file.</p>
<ul>
<li>next possibility to set mac-address is changing network configuration. On systems with <strong>ifupdown</strong> you can do that by changing <code>/etc/network/interfaces</code>. Add these lines:<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">1</span>
<span class="normal">2</span>
<span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span><code> auto eth0
iface eth0 inet dhcp
hwaddress ether XX:XX:XX:XX:XX:XX
</code></pre></div></td></tr></table></div>
</li>
</ul>
<ul>
<li>if the above does not work, then your network is probably controlled by <strong>Network-manager</strong> . In directory <code>/etc/Networkmanager/system-connections</code> is a file <code>Wired connection 1.nmconnection</code>. Change entry <em>cloned-mac-address</em> of group <strong>[ethernet]</strong> :<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">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><code> [connection]
id=Wired connection 1
type=ethernet
[ethernet]
cloned-mac-address=XX:XX:XX:XX:XX:XX
</code></pre></div></td></tr></table></div>
</li>
</ul>
<h2 id="video">Video<a class="headerlink" href="#video" title="Permanent link">&para;</a></h2>
<h3 id="no-screen-on-4k-resolution">No Screen on 4k Resolution<a class="headerlink" href="#no-screen-on-4k-resolution" title="Permanent link">&para;</a></h3>
<p>Some combination of boards/kernel versions does not support 4k resolution. This may cause black screen on connecting the board to 4k resolution devices. A workaround to solve this without changing the kernel is forcing the video mode to 1080p. Add this directive to the <code>/boot/armbianEnv.txt</code> and reboot your system:</p>
<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">1</span></pre></div></td><td class="code"><div><pre><span></span><code>extraargs=video=HDMI-A-1:1920x1080@60
</code></pre></div></td></tr></table></div>
<ul>
<li>Despite of this config, some apps may try to use 4k resolution, example: <em>Retroarch</em>. In this case you have to change app configuration to use the 1080p resolution.</li>
</ul>
<ul>
<li>To edit files without video you could connect to the board using ssh. Other option is mount the sd card in another device.</li>
</ul>
<h2 id="board-configuration">Board configuration<a class="headerlink" href="#board-configuration" title="Permanent link">&para;</a></h2>
<ul>
<li>Some boards require the setup of the correct device tree file or they will not boot. Check the board specific documentation for details.</li>
</ul>
<h2 id="recovery">Recovery<a class="headerlink" href="#recovery" title="Permanent link">&para;</a></h2>
<p>In 95 percent of all cases it is either a faulty/fraud/counterfeit <a href="#sd-card">SD card</a> or an <a href="#power-supply">insufficient power supply</a> that is causing all sorts of <em>does not work</em> issues! So, please, make sure you checked the sections above before proceeding.</p>
<p>The following options are presented in (more or less) increasing levels of despair. But keep heart! :) And proceed in order.</p>
<h3 id="u-boot-shell-access">U-Boot Shell Access<a class="headerlink" href="#u-boot-shell-access" title="Permanent link">&para;</a></h3>
<p>If you broke the system you can try to get in this way. You have to get to u-boot command prompt, using either a serial adapter or monitor and usb keyboard.</p>
<ul>
<li>Note: USB support in u-boot is currently not enabled on all H3 boards.</li>
</ul>
<p>After switching power on or rebooting, when u-boot loads up, press some key on the keyboard (or send some key presses via terminal) to abort default boot sequence and get to the command prompt:</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</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></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><span class="go">U-Boot SPL 2015.07-dirty (Oct 01 2015 - 15:05:21)</span>
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2"></a><span class="go">...</span>
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3"></a><span class="go">Hit any key to stop autoboot: 0</span>
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4"></a><span class="go">sunxi#</span>
</span></code></pre></div></td></tr></table></div>
<p>Enter the following commands, replacing root device path if necessary.</p>
<ul>
<li>Note: these are for booting with mainline kernel; check <code>boot.cmd</code> for your device for commands related to legacy kernel.</li>
</ul>
<p>For serial:</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-1-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1"></a><span class="go">sunxi# setenv bootargs init=/bin/bash root=/dev/mmcblk0p1 rootwait console=ttyS0,115200</span>
</span></code></pre></div></td></tr></table></div>
<p>For monitor:</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-2-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1"></a><span class="go">sunxi# setenv bootargs init=/bin/bash root=/dev/mmcblk0p1 rootwait console=tty1</span>
</span></code></pre></div></td></tr></table></div>
<p>Then:</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-3-1">1</a></span>
<span class="normal"><a href="#__codelineno-3-2">2</a></span>
<span class="normal"><a href="#__codelineno-3-3">3</a></span>
<span class="normal"><a href="#__codelineno-3-4">4</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1"></a><span class="go">sunxi# ext4load mmc 0 0x49000000 /boot/dtb/${fdtfile}</span>
</span><span id="__span-3-2"><a id="__codelineno-3-2" name="__codelineno-3-2"></a><span class="go">sunxi# ext4load mmc 0 0x46000000 /boot/zImage</span>
</span><span id="__span-3-3"><a id="__codelineno-3-3" name="__codelineno-3-3"></a><span class="go">sunxi# env set fdt_high ffffffff</span>
</span><span id="__span-3-4"><a id="__codelineno-3-4" name="__codelineno-3-4"></a><span class="go">sunxi# bootz 0x46000000 - 0x49000000</span>
</span></code></pre></div></td></tr></table></div>
<p>System should eventually boot to bash shell:</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-4-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1"></a><span class="gp">root@host:/#</span>
</span></code></pre></div></td></tr></table></div>
<p>Now you can try to fix your broken system.</p>
<h3 id="replacing-boot">Replacing /boot<a class="headerlink" href="#replacing-boot" title="Permanent link">&para;</a></h3>
<p>When something goes terribly wrong and you are not able to boot the system (and cannot gain access via u-boot as outlined above), this is the way to proceed. You will need some Debian based Linux machine where you can mount the failed SD card. With this procedure you will reinstall the kernel and hardware settings. In most cases this should be enough to unbrick the board.</p>
<p>It is recommended to issue a filesystem check before mounting. Replace <code>X</code> and <code>Y</code> below with your device and partition(s), respectively (if not a flash based device, it may even be <code>/dev/sdXY</code>, etc).</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-5-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1"></a><span class="go">/ # fsck /dev/mmcblkXpY -f</span>
</span></code></pre></div></td></tr></table></div>
<p>Mount the SD card.</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-6-1">1</a></span>
<span class="normal"><a href="#__codelineno-6-2">2</a></span>
<span class="normal"><a href="#__codelineno-6-3">3</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1"></a><span class="go">/ # cd /mnt</span>
</span><span id="__span-6-2"><a id="__codelineno-6-2" name="__codelineno-6-2"></a><span class="go">/mnt # mkdir sdcard</span>
</span><span id="__span-6-3"><a id="__codelineno-6-3" name="__codelineno-6-3"></a><span class="go">/mnt # mount /dev/mmcblkXpY /mnt/sdcard</span>
</span></code></pre></div></td></tr></table></div>
<p>Make another temporary directory somewhere else (in our example <code>~/tmp/recovery</code>) and download the Linux root, kernel, firmware and dtb packages for your board and currently used OS.</p>
<ul>
<li>Note: This example is only for <strong>Nanopi Neo 2</strong> with <strong>Ubuntu Focal</strong>, <strong>current</strong> kernel (mainline) and <strong>Armbian 20.08.13</strong> firmware. Alter package names according to your device name, SOC-family, kernel and firmware version!</li>
</ul>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-7-1"> 1</a></span>
<span class="normal"><a href="#__codelineno-7-2"> 2</a></span>
<span class="normal"><a href="#__codelineno-7-3"> 3</a></span>
<span class="normal"><a href="#__codelineno-7-4"> 4</a></span>
<span class="normal"><a href="#__codelineno-7-5"> 5</a></span>
<span class="normal"><a href="#__codelineno-7-6"> 6</a></span>
<span class="normal"><a href="#__codelineno-7-7"> 7</a></span>
<span class="normal"><a href="#__codelineno-7-8"> 8</a></span>
<span class="normal"><a href="#__codelineno-7-9"> 9</a></span>
<span class="normal"><a href="#__codelineno-7-10">10</a></span>
<span class="normal"><a href="#__codelineno-7-11">11</a></span>
<span class="normal"><a href="#__codelineno-7-12">12</a></span>
<span class="normal"><a href="#__codelineno-7-13">13</a></span>
<span class="normal"><a href="#__codelineno-7-14">14</a></span>
<span class="normal"><a href="#__codelineno-7-15">15</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1"></a><span class="go">/mnt $ cd</span>
</span><span id="__span-7-2"><a id="__codelineno-7-2" name="__codelineno-7-2"></a><span class="go">~ $ mkdir -p tmp/recovery</span>
</span><span id="__span-7-3"><a id="__codelineno-7-3" name="__codelineno-7-3"></a><span class="go">~ $ cd tmp/recovery</span>
</span><span id="__span-7-4"><a id="__codelineno-7-4" name="__codelineno-7-4"></a>
</span><span id="__span-7-5"><a id="__codelineno-7-5" name="__codelineno-7-5"></a><span class="gp gp-VirtualEnv">(Root file system)</span><span class="go">:</span>
</span><span id="__span-7-6"><a id="__codelineno-7-6" name="__codelineno-7-6"></a><span class="go">~/tmp/recovery $ wget https://apt.armbian.com/pool/main/l/linux-focal-root-current-nanopineo2/linux-focal-root-current-nanopineo2_20.08.13_arm64.deb</span>
</span><span id="__span-7-7"><a id="__codelineno-7-7" name="__codelineno-7-7"></a>
</span><span id="__span-7-8"><a id="__codelineno-7-8" name="__codelineno-7-8"></a><span class="gp gp-VirtualEnv">(Kernel)</span><span class="go">:</span>
</span><span id="__span-7-9"><a id="__codelineno-7-9" name="__codelineno-7-9"></a><span class="go">~/tmp/recovery $ wget https://apt.armbian.com/pool/main/l/linux-5.8.16-sunxi64/linux-image-current-sunxi64_20.08.13_arm64.deb</span>
</span><span id="__span-7-10"><a id="__codelineno-7-10" name="__codelineno-7-10"></a>
</span><span id="__span-7-11"><a id="__codelineno-7-11" name="__codelineno-7-11"></a><span class="gp gp-VirtualEnv">(Firmware)</span><span class="go">:</span>
</span><span id="__span-7-12"><a id="__codelineno-7-12" name="__codelineno-7-12"></a><span class="go">~/tmp/recovery $ wget https://apt.armbian.com/pool/main/a/armbian-firmware/armbian-firmware_20.08.13_all.deb</span>
</span><span id="__span-7-13"><a id="__codelineno-7-13" name="__codelineno-7-13"></a>
</span><span id="__span-7-14"><a id="__codelineno-7-14" name="__codelineno-7-14"></a><span class="gp gp-VirtualEnv">(Device Tree Binary (DTB)</span><span class="go">):</span>
</span><span id="__span-7-15"><a id="__codelineno-7-15" name="__codelineno-7-15"></a><span class="go">~/tmp/recovery $ wget https://apt.armbian.com/pool/main/l/linux-5.8.16-sunxi64/linux-dtb-current-sunxi64_20.08.13_arm64.deb</span>
</span></code></pre></div></td></tr></table></div>
<p>Extract all the Debian packages (<code>.deb</code> files) to the mounted sd card.</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-8-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1"></a><span class="go">~/tmp/recovery # for f in *.deb; do dpkg -x $f /mnt/sdcard; done</span>
</span></code></pre></div></td></tr></table></div>
<p>Navigate to <code>/mnt/sdcard/boot</code> and create symlinks:</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-9-1">1</a></span>
<span class="normal"><a href="#__codelineno-9-2">2</a></span>
<span class="normal"><a href="#__codelineno-9-3">3</a></span>
<span class="normal"><a href="#__codelineno-9-4">4</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1"></a><span class="go">~/tmp/recovery # cd /mnt/sdcard/boot</span>
</span><span id="__span-9-2"><a id="__codelineno-9-2" name="__codelineno-9-2"></a><span class="go">/mnt/sdcard/boot # ln -s vmlinuz-5.8.16-sunxi64 zImage</span>
</span><span id="__span-9-3"><a id="__codelineno-9-3" name="__codelineno-9-3"></a><span class="go">/mnt/sdcard/boot # ln -s uInitrd-5.8.16-sunxi64 uInitrd</span>
</span><span id="__span-9-4"><a id="__codelineno-9-4" name="__codelineno-9-4"></a><span class="go">/mnt/sdcard/boot # ln -s dtb-5.8.16 dtb</span>
</span></code></pre></div></td></tr></table></div>
<p>If you upgrade from some very old build, you might need to update your boot script.</p>
<ul>
<li>Note: The following example is for Allwinner boards.</li>
</ul>
<ul>
<li>Note: You will need a <code>u-boot-tools</code> package on your host system.</li>
</ul>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-10-1">1</a></span>
<span class="normal"><a href="#__codelineno-10-2">2</a></span>
<span class="normal"><a href="#__codelineno-10-3">3</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-10-1"><a id="__codelineno-10-1" name="__codelineno-10-1"></a><span class="go">/mnt/sdcard/boot # wget https://raw.githubusercontent.com/armbian/build/master/config/bootscripts/boot-sunxi.cmd</span>
</span><span id="__span-10-2"><a id="__codelineno-10-2" name="__codelineno-10-2"></a><span class="go">/mnt/sdcard/boot # mv boot-sunxi.cmd boot.cmd</span>
</span><span id="__span-10-3"><a id="__codelineno-10-3" name="__codelineno-10-3"></a><span class="go">/mnt/sdcard/boot # mkimage -C none -A arm -T script -d boot.cmd boot.scr</span>
</span></code></pre></div></td></tr></table></div>
<p>Unmount SD card.</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-11-1">1</a></span>
<span class="normal"><a href="#__codelineno-11-2">2</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-11-1"><a id="__codelineno-11-1" name="__codelineno-11-1"></a><span class="go">/mnt/sdcard/boot # cd /</span>
</span><span id="__span-11-2"><a id="__codelineno-11-2" name="__codelineno-11-2"></a><span class="go">/ # umount /mnt/sdcard</span>
</span></code></pre></div></td></tr></table></div>
<p>Move it to the board and power on. Check serial output for errors if problems persist.</p>
<h3 id="flashing-boot-loader">Flashing boot loader<a class="headerlink" href="#flashing-boot-loader" title="Permanent link">&para;</a></h3>
<p>Sometimes we need to flash boot loader from some other Linux. Attach an SD card reader with your SD card and proceed this way:</p>
<div class="language-console highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">Bash Session</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-12-1">1</a></span>
<span class="normal"><a href="#__codelineno-12-2">2</a></span>
<span class="normal"><a href="#__codelineno-12-3">3</a></span>
<span class="normal"><a href="#__codelineno-12-4">4</a></span>
<span class="normal"><a href="#__codelineno-12-5">5</a></span>
<span class="normal"><a href="#__codelineno-12-6">6</a></span>
<span class="normal"><a href="#__codelineno-12-7">7</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-12-1"><a id="__codelineno-12-1" name="__codelineno-12-1"></a><span class="go">/mnt $ cd</span>
</span><span id="__span-12-2"><a id="__codelineno-12-2" name="__codelineno-12-2"></a><span class="go">~ $ mkdir -p tmp/recovery</span>
</span><span id="__span-12-3"><a id="__codelineno-12-3" name="__codelineno-12-3"></a><span class="go">~ $ cd tmp/recovery</span>
</span><span id="__span-12-4"><a id="__codelineno-12-4" name="__codelineno-12-4"></a><span class="go">~ $ wget https://imola.armbian.com/apt/pool/main/l/linux-u-boot-nanopineo2-current/linux-u-boot-current-nanopineo2_20.08.13_arm64.deb</span>
</span><span id="__span-12-5"><a id="__codelineno-12-5" name="__codelineno-12-5"></a><span class="go">~ $ dpkg-deb -x linux-u-boot-current-nanopineo2_20.08.13_arm64.deb pack</span>
</span><span id="__span-12-6"><a id="__codelineno-12-6" name="__codelineno-12-6"></a><span class="go">~ $ source pack/usr/lib/u-boot/platform_install.sh</span>
</span><span id="__span-12-7"><a id="__codelineno-12-7" name="__codelineno-12-7"></a><span class="go">~ $ write_uboot_platform pack/usr/lib/linux-u-boot-nanopineo2-current /dev/XXX # replace XXX with the actual device /dev/sdb</span>
</span></code></pre></div></td></tr></table></div>
<p>Move it to the board and power on. Check serial output for errors if problems persist.</p>
</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 496 512"><!--! Font Awesome Free 6.7.2 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 2024 Fonticons, Inc.--><path d="M165.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.9M244.8 8C106.1 8 0 113.3 0 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.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.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 576 512"><!--! Font Awesome Free 6.7.2 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 2024 Fonticons, Inc.--><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1v16.2c0 22.1-17.9 40-40 40h-16c-1.1 0-2.2 0-3.3-.1-1.4.1-2.8.1-4.2.1L416 512h-24c-22.1 0-40-17.9-40-40v-88c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v88c0 22.1-17.9 40-40 40h-55.9c-1.5 0-3-.1-4.5-.2-1.2.1-2.4.2-3.6.2h-16c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9.1-2.8v-69.7h-32c-18 0-32-14-32-32.1 0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7l255.4 224.5c8 7 12 15 11 24"/></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 6.7.2 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 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253"/></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">{"base": "..", "features": ["content.action.edit", "content.action.view", "content.code.copy", "navigation.tabs", "navigation.top", "navigation.expand", "toc.integrate"], "search": "../assets/javascripts/workers/search.f8cc74c7.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.c8b220af.min.js"></script>
</body>
</html>