mirror of
https://github.com/mudler/luet.git
synced 2025-08-12 20:46:09 +00:00
534 lines
38 KiB
HTML
534 lines
38 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, shrink-to-fit=no">
|
||
|
<meta name="generator" content="Hugo 0.91.2" />
|
||
|
<meta name="robots" content="index, follow">
|
||
|
|
||
|
|
||
|
<link rel="shortcut icon" href="/docs/favicons/favicon.ico" >
|
||
|
<link rel="apple-touch-icon" href="/docs/favicons/apple-touch-icon-180x180.png" sizes="180x180">
|
||
|
<link rel="icon" type="image/png" href="/docs/favicons/favicon-16x16.png" sizes="16x16">
|
||
|
<link rel="icon" type="image/png" href="/docs/favicons/favicon-32x32.png" sizes="32x32">
|
||
|
<link rel="icon" type="image/png" href="/docs/favicons/android-36x36.png" sizes="36x36">
|
||
|
<link rel="icon" type="image/png" href="/docs/favicons/android-48x48.png" sizes="48x48">
|
||
|
<link rel="icon" type="image/png" href="/docs/favicons/android-72x72.png" sizes="72x72">
|
||
|
<link rel="icon" type="image/png" href="/docs/favicons/android-96x96.png" sizes="96x96">
|
||
|
<link rel="icon" type="image/png" href="/docs/favicons/android-144x144.png" sizes="144x144">
|
||
|
<link rel="icon" type="image/png" href="/docs/favicons/android-192x192.png" sizes="192x192">
|
||
|
|
||
|
<title>ARM images | Luet</title>
|
||
|
<meta name="description" content="Use Luet to build, track, and release OTA update for your embedded devices.
|
||
|
">
|
||
|
<meta property="og:title" content="ARM images" />
|
||
|
<meta property="og:description" content="Use Luet to build, track, and release OTA update for your embedded devices.
|
||
|
" />
|
||
|
<meta property="og:type" content="article" />
|
||
|
<meta property="og:url" content="https://luet-lab.github.io/docs/docs/resources/arm/" /><meta property="article:section" content="docs" />
|
||
|
|
||
|
<meta property="article:modified_time" content="2022-01-30T19:44:45+01:00" /><meta property="og:site_name" content="Luet" />
|
||
|
|
||
|
<meta itemprop="name" content="ARM images">
|
||
|
<meta itemprop="description" content="Use Luet to build, track, and release OTA update for your embedded devices.
|
||
|
">
|
||
|
<meta itemprop="dateModified" content="2022-01-30T19:44:45+01:00" />
|
||
|
<meta itemprop="wordCount" content="292">
|
||
|
<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/>
|
||
|
<meta name="twitter:title" content="ARM images"/>
|
||
|
<meta name="twitter:description" content="Use Luet to build, track, and release OTA update for your embedded devices.
|
||
|
"/>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<link rel="preload" href="/docs/scss/main.min.eb38b57306ca3844ed6f8a1be2101248121fe9c4dfd2981c1df0ba83c4ad6f7c.css" as="style">
|
||
|
<link href="/docs/scss/main.min.eb38b57306ca3844ed6f8a1be2101248121fe9c4dfd2981c1df0ba83c4ad6f7c.css" rel="stylesheet" integrity="">
|
||
|
|
||
|
<script
|
||
|
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
||
|
integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK"
|
||
|
crossorigin="anonymous"></script>
|
||
|
<script
|
||
|
src="https://unpkg.com/lunr@2.3.9/lunr.min.js"
|
||
|
integrity="sha384-203J0SNzyqHby3iU6hzvzltrWi/M41wOP5Gu+BiJMz5nwKykbkUx8Kp7iti0Lpli"
|
||
|
crossorigin="anonymous"></script>
|
||
|
|
||
|
<script type="application/javascript">
|
||
|
var doNotTrack = false;
|
||
|
if (!doNotTrack) {
|
||
|
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
||
|
ga('create', 'UA-00000000-0', 'auto');
|
||
|
|
||
|
ga('send', 'pageview');
|
||
|
}
|
||
|
</script>
|
||
|
<script async src='https://www.google-analytics.com/analytics.js'></script>
|
||
|
|
||
|
</head>
|
||
|
<body class="td-page">
|
||
|
<header>
|
||
|
|
||
|
<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar">
|
||
|
<a class="navbar-brand" href="/docs/">
|
||
|
<span class="navbar-logo"><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 500 500" style="enable-background:new 0 0 500 500"><g><path style="fill:#fff" d="M116.8525 421.9722c-5.7041.0-10.3442-4.3127-10.3442-9.6129V88.183c0-5.3002 4.6401-9.6117 10.3442-9.6117H320.858c3.0347.0 9.3959.5498 11.7506 2.6302l.3545.3442 58.905 63.2912c2.3101 2.491 2.9202 8.4928 2.9202 11.3184v256.2039c0 5.3002-4.6407 9.6129-10.3436 9.6129H116.8525z"/><g><g><g><path style="fill:#767676" d="M384.4445 423.2066H116.852c-6.3839.0-11.5786-4.8658-11.5786-10.8474V88.1831c0-5.9804 5.1947-10.8461 11.5786-10.8461h204.0062c.377.0 9.2786.0329 12.568 2.9389l.3947.3833 58.9508 63.337c3.2135 3.4652 3.2514 11.7924 3.2514 12.1593v256.2036C396.0231 418.3408 390.8284 423.2066 384.4445 423.2066zM116.5079 411.9189c.0848.0278.1999.0531.3441.0531h267.5925c.1442.0.2581-.0253.3441-.0531V156.1556c-.0076-.9033-.3593-3.7347-.7034-5.0037l-57.6527-61.9416c-1.4651-.3176-4.4533-.6389-5.5742-.6389H116.852c-.143.0-.2594.024-.3441.0531V411.9189zm267.4533-261.149zM327.0321 89.371v.0013V89.371z"/></g></g></g><g><g><path style="fill:#5b7fc0" d="M189.0874 210.1754l.0012-.0012c7.7751.0012 15.0295 4.1862 18.932 10.9234 1.9177 3.3159 2.9305 7.1011 2.9293 10.9378.0 5.8394-2.2733 11.3304-6.4032 15.4604-4.1288 4.1288-9.6186 6.4032-15.458 6.4032s-11.328-2.2733-15.458-6.4032-6.4032-9.6186-6.4056-15.4628c.0012-6.025 2.454-11.4897 6.4116-15.4473C177.5953 212.627 183.0601 210.1742 189.0874 210.1754zm7.993 21.8576c.0012-1.4042-.3687-2.7868-1.063-3.9887-1.4293-2.4684-4.0833-3.9995-6.9299-4.0019-4.4077.0024-7.993 3.5877-7.993 7.993.0 2.1356.832 4.1431 2.3427 5.6539 1.5083 1.5083 3.5159 2.3403 5.6503 2.3415 2.1356.0 4.1443-.8308 5.6539-2.3403S197.0816 234.1722 197.0804 232.033z"/><path style="opacity:.3;fill:#fff" d="M189.0898 210.176c7.7763.0 15.0283 4.1826 18.926 10.9151 1.9201 3.3136 2.9377 7.0988 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8613-12.0547.0024-21.8636-9.8066-21.8612-21.8613.0-6.0285 2.4516-11.4921 6.4116-15.452C177.5977 212.6276 183.0612 210.176 189.0898 210.176zm7.9941 21.8612c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.1861 236.239 197.0839 234.2399 197.0839 232.0372z"/><g><defs><path id="SVGID_1_" d="M194.7376 237.6875c-1.4461 1.4461-3.4452 2.3439-5.6479 2.3439-4.4077-.0024-7.9918-3.5865-7.9942-7.9942.0024-4.4125 3.5937-7.999 7.9942-7.9942 2.8443.0 5.497 1.5323 6.924 3.9983.6991 1.2067 1.0702 2.5881 1.0702 3.9959C197.0839 234.2399 196.1861 236.239 194.7376 237.6875z"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" style="overflow:visible"/></clipPath><path style="clip-path:url(#SVGID_2_);fill:#fff" d="M190.0704 225.0237c-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0011 1.9546.7088 3.7452 1.8782 5.1354-1.7447-1.4674-2.8575-3.663-2.8588-6.116.0024-4.4125 3.5936-7.999 7.9942-7.9942 2.3802-1e-4 4.616 1.0833 6.1218 2.8788C193.7885 225.7247 191.9774 225.0237 190.0704 225.0237z"/><path style="opacity:.13;clip-path:url(#SVGID_2_);fill:#020202" d="M190.0704 225.0237c-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0011 1.9546.7088 3.7452 1.8782 5.1354-1.7447-1.4674-2.8575-3.663-2.8588-6.116.0024-4.4125 3.5936-7.999 7.9942-7.9942 2.3802-1e-4 4.616 1.0833 6.1218 2.8788C193.7885 225.7247 191.9774 225.0237 190.0704 225.0237z"/></g><g><defs><path id="SVGID_3_" d="M189.0898 210.176c7.7763.0 15.0283 4.1826 18.926 10.9151 1.9201 3.3136 2.9377 7.0988 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8613-12.0547.0024-21.8636-9.8066-21.8612-21.8613.0-6.0285 2.4516-11.4921 6.4116-15.452C177.5977 212.6276 183.0612 210.176 189.0898 210.176zm7.9941 21.8612c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.1861 236.239 197.0839 234.2399 197.0839 232.0372z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" style="overflo
|
||
|
</a>
|
||
|
<div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar">
|
||
|
<ul class="navbar-nav mt-2 mt-lg-0">
|
||
|
|
||
|
|
||
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<a class="nav-link" href="/docs/about/" ><span>About</span></a>
|
||
|
</li>
|
||
|
|
||
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<a class="nav-link active" href="/docs/docs/" ><span class="active">Documentation</span></a>
|
||
|
</li>
|
||
|
|
||
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<a class="nav-link" href="/docs/blog/" ><span>Blog</span></a>
|
||
|
</li>
|
||
|
|
||
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<a class="nav-link" href="/docs/community/" ><span>Community</span></a>
|
||
|
</li>
|
||
|
|
||
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<a class="nav-link" href="https://github.com/mudler/luet/contribute" target="_blank" ><i class='fab fa-github'></i><span>Contribution guidelines</span></a>
|
||
|
</li>
|
||
|
|
||
|
|
||
|
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="navbar-nav d-none d-lg-block"><input
|
||
|
type="search"
|
||
|
class="form-control td-search-input"
|
||
|
placeholder=" Search this site…"
|
||
|
aria-label="Search this site…"
|
||
|
autocomplete="off"
|
||
|
|
||
|
data-offline-search-index-json-src="/docs/offline-search-index.ae6c9cefc5908f9afd46cbb71dd03087.json"
|
||
|
data-offline-search-base-href="/"
|
||
|
data-offline-search-max-results="10"
|
||
|
>
|
||
|
</div>
|
||
|
</nav>
|
||
|
|
||
|
</header>
|
||
|
<div class="container-fluid td-outer">
|
||
|
<div class="td-main">
|
||
|
<div class="row flex-xl-nowrap">
|
||
|
<aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none">
|
||
|
|
||
|
<div id="td-sidebar-menu" class="td-sidebar__inner">
|
||
|
<form class="td-sidebar__search d-flex align-items-center">
|
||
|
<input
|
||
|
type="search"
|
||
|
class="form-control td-search-input"
|
||
|
placeholder=" Search this site…"
|
||
|
aria-label="Search this site…"
|
||
|
autocomplete="off"
|
||
|
|
||
|
data-offline-search-index-json-src="/docs/offline-search-index.ae6c9cefc5908f9afd46cbb71dd03087.json"
|
||
|
data-offline-search-base-href="/"
|
||
|
data-offline-search-max-results="10"
|
||
|
>
|
||
|
|
||
|
<button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation">
|
||
|
</button>
|
||
|
</form>
|
||
|
<nav class="collapse td-sidebar-nav" id="td-section-nav">
|
||
|
<ul class="td-sidebar-nav__section pr-md-3 ul-0">
|
||
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-docsdocs-li">
|
||
|
<a href="/docs/docs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-docsdocs"><span class="">Documentation</span></a>
|
||
|
<ul class="ul-1">
|
||
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsgetting-started-li">
|
||
|
<a href="/docs/docs/getting-started/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsdocsgetting-started"><span class="">Getting Started</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docsdocsconcepts-li">
|
||
|
<a href="/docs/docs/concepts/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsdocsconcepts"><span class="">Concepts</span></a>
|
||
|
<ul class="ul-2 foldable">
|
||
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docsdocsconceptsoverview-li">
|
||
|
<a href="/docs/docs/concepts/overview/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsdocsconceptsoverview"><span class="">Overview</span></a>
|
||
|
<ul class="ul-3 foldable">
|
||
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsconceptsoverviewbuild_packages-li">
|
||
|
<a href="/docs/docs/concepts/overview/build_packages/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsconceptsoverviewbuild_packages"><span class="">Building packages</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsconceptsoverviewrepositories-li">
|
||
|
<a href="/docs/docs/concepts/overview/repositories/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsconceptsoverviewrepositories"><span class="">Creating Luet repositories</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsconceptsoverviewusage-li">
|
||
|
<a href="/docs/docs/concepts/overview/usage/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsconceptsoverviewusage"><span class="">CLI usage</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsconceptsoverviewconstraints-li">
|
||
|
<a href="/docs/docs/concepts/overview/constraints/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsconceptsoverviewconstraints"><span class="">CSP, SAT && RL</span></a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docsdocsconceptspackages-li">
|
||
|
<a href="/docs/docs/concepts/packages/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsdocsconceptspackages"><span class="">Packages</span></a>
|
||
|
<ul class="ul-3 foldable">
|
||
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsconceptspackagesspecfile-li">
|
||
|
<a href="/docs/docs/concepts/packages/specfile/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsconceptspackagesspecfile"><span class="">Specfile</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsconceptspackagestemplates-li">
|
||
|
<a href="/docs/docs/concepts/packages/templates/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsconceptspackagestemplates"><span class="">Templated packages</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsconceptspackagescollections-li">
|
||
|
<a href="/docs/docs/concepts/packages/collections/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsconceptspackagescollections"><span class="">Collections</span></a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsconceptsplugins-and-extensions-li">
|
||
|
<a href="/docs/docs/concepts/plugins-and-extensions/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsdocsconceptsplugins-and-extensions"><span class="">Plugins and Extensions</span></a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docsdocstutorials-li">
|
||
|
<a href="/docs/docs/tutorials/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsdocstutorials"><span class="">Tutorials</span></a>
|
||
|
<ul class="ul-2 foldable">
|
||
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocstutorialshello_world-li">
|
||
|
<a href="/docs/docs/tutorials/hello_world/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocstutorialshello_world"><span class="">Hello world!</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocstutorialsbuild_package-li">
|
||
|
<a href="/docs/docs/tutorials/build_package/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocstutorialsbuild_package"><span class="">Build a package</span></a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-docsdocsresources-li">
|
||
|
<a href="/docs/docs/resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsdocsresources"><span class="">Resources</span></a>
|
||
|
<ul class="ul-2 foldable">
|
||
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-docsdocsresourcesarm-li">
|
||
|
<a href="/docs/docs/resources/arm/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-docsdocsresourcesarm"><span class="td-sidebar-nav-active-item">ARM images</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsresourcesbuilding-li">
|
||
|
<a href="/docs/docs/resources/building/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsresourcesbuilding"><span class="">Building</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsresourcesfaq-li">
|
||
|
<a href="/docs/docs/resources/faq/" title="Frequently Asked Questions" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsresourcesfaq"><span class="">FAQ</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsresourcesscratch-li">
|
||
|
<a href="/docs/docs/resources/scratch/" title="Images from scratch" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsresourcesscratch"><span class="">ScratchImages</span></a>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocsresourcesreferences-li">
|
||
|
<a href="/docs/docs/resources/references/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocsresourcesreferences"><span class="">References</span></a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsdocscontribution-guidelines-li">
|
||
|
<a href="/docs/docs/contribution-guidelines/" title="Contributing" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsdocscontribution-guidelines"><span class="">Contribution guidelines</span></a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</nav>
|
||
|
</div>
|
||
|
|
||
|
</aside>
|
||
|
<aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none">
|
||
|
|
||
|
<div class="td-page-meta ml-2 pb-1 pt-2 mb-0">
|
||
|
<a href="https://github.com/mudler/luet/tree/master/docs/content/en/docs/Resources/arm.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a>
|
||
|
<a href="https://github.com/mudler/luet/edit/master/docs/content/en/docs/Resources/arm.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||
|
<a href="https://github.com/mudler/luet/new/master/docs/content/en/docs/Resources/arm.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+section+at+the+top+of+the+page+%28weight+controls+how+its+ordered+amongst+other+pages+in+the+same+directory%3B+lowest+number+first%29.%0A%2A+Add+a+good+commit+message+at+the+bottom+of+the+page+%28%3C80+characters%3B+use+the+extended+description+field+for+more+detail%29.%0A%2A+Create+a+new+branch+so+you+can+preview+your+new+file+and+request+a+review+via+Pull+Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a>
|
||
|
<a href="https://github.com/mudler/luet/issues/new?title=ARM%20images" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||
|
<a href="https://github.com/mudler/luet/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="td-toc"><nav id="TableOfContents">
|
||
|
<ul>
|
||
|
<li><a href="#prerequisites">Prerequisites</a></li>
|
||
|
<li><a href="#build-the-packages">Build the packages</a></li>
|
||
|
<li><a href="#create-the-repository">Create the repository</a></li>
|
||
|
<li><a href="#serve-the-repo-locally">Serve the repo locally</a></li>
|
||
|
<li><a href="#create-the-flashable-image">Create the flashable image</a>
|
||
|
<ul>
|
||
|
<li><a href="#funtoo-based-system">Funtoo based system</a></li>
|
||
|
<li><a href="#raspbian-based-system">Raspbian based system</a></li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li><a href="#add-packages">Add packages</a></li>
|
||
|
</ul>
|
||
|
</nav></div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</aside>
|
||
|
<main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="td-content">
|
||
|
<h1>ARM images</h1>
|
||
|
<div class="lead">Use Luet to build, track, and release OTA update for your embedded devices.</div>
|
||
|
<header class="article-meta">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</header>
|
||
|
|
||
|
|
||
|
<div class="alert alert-warning" role="alert">
|
||
|
<h4 class="alert-heading">Warning</h4>
|
||
|
|
||
|
This article is outdated.
|
||
|
Please refer to the <a href="../../tutorials/hello_world/">“Hello World”</a> tutorial instead.
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<p>Here we show an example on how to build “burnable” SD images for Raspberry Pi with Luet. This approach lets you describe and version OTA upgrades for your embedded devices, delivering upgrades as layer upgrades on the Pi.</p>
|
||
|
<p>The other good side of the medal is that you can build a Luet package repository with multiple distributions (e.g. <code>Raspbian</code>, <code>OpenSUSE</code>, <code>Gentoo</code>, … ) and switch among them in runtime. In the above example <code>Raspbian</code> and <code>Funtoo</code> (at the time of writing) are available.</p>
|
||
|
<h2 id="prerequisites">Prerequisites</h2>
|
||
|
<p>You have to run the following steps inside an ARM board to produce arm-compatible binaries. Any distribution with Docker will work. Note that the same steps could be done in a cross-compilation approach, or with qemu-binfmt in a amd64 host.</p>
|
||
|
<p>You will also need in your host:</p>
|
||
|
<ul>
|
||
|
<li>Docker</li>
|
||
|
<li>Luet installed (+container-diff) in <code>/usr/bin/luet</code> (arm build)</li>
|
||
|
<li>make</li>
|
||
|
</ul>
|
||
|
<h2 id="build-the-packages">Build the packages</h2>
|
||
|
<p>Clone the repository <a href="https://github.com/Luet-lab/luet-embedded">https://github.com/Luet-lab/luet-embedded</a></p>
|
||
|
<pre><code>$> git clone https://github.com/Luet-lab/luet-embedded
|
||
|
$> cd luet-embedded
|
||
|
$> sudo make build-all
|
||
|
...
|
||
|
</code></pre>
|
||
|
<p>If a rebuild is needed, just do <code>sudo make rebuild-all</code> after applying the changes.</p>
|
||
|
<h2 id="create-the-repository">Create the repository</h2>
|
||
|
<pre><code>$> sudo make create-repo
|
||
|
...
|
||
|
</code></pre>
|
||
|
<h2 id="serve-the-repo-locally">Serve the repo locally</h2>
|
||
|
<pre><code>$> make serve-repo
|
||
|
...
|
||
|
</code></pre>
|
||
|
<h2 id="create-the-flashable-image">Create the flashable image</h2>
|
||
|
<h3 id="funtoo-based-system">Funtoo based system</h3>
|
||
|
<pre><code>$> sudo LUET_PACKAGES='distro/funtoo-1.4 distro/raspbian-boot-0.20191208 system/luet-develop-0.5' make image
|
||
|
...
|
||
|
</code></pre>
|
||
|
<h3 id="raspbian-based-system">Raspbian based system</h3>
|
||
|
<pre><code>$> sudo LUET_PACKAGES='distro/raspbian-0.20191208 distro/raspbian-boot-0.20191208 system/luet-develop-0.5' make image
|
||
|
...
|
||
|
</code></pre>
|
||
|
<p>At the end of the process, a file <code>luet_os.img</code>, ready to be flashed to an SD card, should be present in the current directory.</p>
|
||
|
<h2 id="add-packages">Add packages</h2>
|
||
|
<p>In order to build and add <a href="/docs/docs/concepts/packages/">packages</a> to the exiting repository, simply add or edit the <a href="/docs/docs/concepts/specfile">specfiles</a> under the <code>distro</code> folder. When doing <code>make rebuild-all</code> the packages will be automatically compiled and made available to the local repository.</p>
|
||
|
|
||
|
|
||
|
<style>
|
||
|
.feedback--answer {
|
||
|
display: inline-block;
|
||
|
}
|
||
|
.feedback--answer-no {
|
||
|
margin-left: 1em;
|
||
|
}
|
||
|
.feedback--response {
|
||
|
display: none;
|
||
|
margin-top: 1em;
|
||
|
}
|
||
|
.feedback--response__visible {
|
||
|
display: block;
|
||
|
}
|
||
|
</style>
|
||
|
<div class="d-print-none">
|
||
|
<h2 class="feedback--title">Feedback</h2>
|
||
|
<p class="feedback--question">Was this page helpful?</p>
|
||
|
<button class="btn btn-primary mb-4 feedback--answer feedback--answer-yes">Yes</button>
|
||
|
<button class="btn btn-primary mb-4 feedback--answer feedback--answer-no">No</button>
|
||
|
<p class="feedback--response feedback--response-yes">
|
||
|
Glad to hear it! Please <a href="https://github.com/Luet-lab/docs/issues/new">tell us how we can improve</a>.
|
||
|
</p>
|
||
|
<p class="feedback--response feedback--response-no">
|
||
|
Sorry to hear that. Please <a href="https://github.com/Luet-lab/docs/issues/new">tell us how we can improve</a>.
|
||
|
</p>
|
||
|
</div>
|
||
|
<script>
|
||
|
const yesButton = document.querySelector('.feedback--answer-yes');
|
||
|
const noButton = document.querySelector('.feedback--answer-no');
|
||
|
const yesResponse = document.querySelector('.feedback--response-yes');
|
||
|
const noResponse = document.querySelector('.feedback--response-no');
|
||
|
const disableButtons = () => {
|
||
|
yesButton.disabled = true;
|
||
|
noButton.disabled = true;
|
||
|
};
|
||
|
const sendFeedback = (value) => {
|
||
|
if (typeof ga !== 'function') return;
|
||
|
const args = {
|
||
|
command: 'send',
|
||
|
hitType: 'event',
|
||
|
category: 'Helpful',
|
||
|
action: 'click',
|
||
|
label: window.location.pathname,
|
||
|
value: value
|
||
|
};
|
||
|
ga(args.command, args.hitType, args.category, args.action, args.label, args.value);
|
||
|
};
|
||
|
yesButton.addEventListener('click', () => {
|
||
|
yesResponse.classList.add('feedback--response__visible');
|
||
|
disableButtons();
|
||
|
sendFeedback(1);
|
||
|
});
|
||
|
noButton.addEventListener('click', () => {
|
||
|
noResponse.classList.add('feedback--response__visible');
|
||
|
disableButtons();
|
||
|
sendFeedback(0);
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<br />
|
||
|
|
||
|
|
||
|
<div class="text-muted mt-5 pt-3 border-top">
|
||
|
Last modified January 30, 2022: <a href="https://github.com/mudler/luet/commit/91fd5b0a75c62102d9a43e1ff1887df946cd74af">:notebook: Add docs alongside (91fd5b0)</a>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</main>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<footer class="bg-dark py-5 row d-print-none">
|
||
|
<div class="container-fluid mx-sm-5">
|
||
|
<div class="row">
|
||
|
<div class="col-6 col-sm-4 text-xs-center order-sm-2">
|
||
|
|
||
|
|
||
|
|
||
|
</div>
|
||
|
<div class="col-6 col-sm-4 text-right text-xs-center order-sm-3">
|
||
|
|
||
|
|
||
|
|
||
|
<ul class="list-inline mb-0">
|
||
|
|
||
|
<li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="GitHub" aria-label="GitHub">
|
||
|
<a class="text-white" target="_blank" rel="noopener" href="https://github.com/mudler/luet" aria-label="GitHub">
|
||
|
<i class="fab fa-github"></i>
|
||
|
</a>
|
||
|
</li>
|
||
|
|
||
|
<li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Slack" aria-label="Slack">
|
||
|
<a class="text-white" target="_blank" rel="noopener" href="https://join.slack.com/t/luet/shared_invite/enQtOTQxMjcyNDQ0MDUxLWQ5ODVlNTI1MTYzNDRkYzkyYmM1YWE5YjM0NTliNDEzNmQwMTkxNDRhNDIzM2Y5NDBlOTZjZTYxYWQyNDE4YzY" aria-label="Slack">
|
||
|
<i class="fab fa-slack"></i>
|
||
|
</a>
|
||
|
</li>
|
||
|
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
</div>
|
||
|
<div class="col-12 col-sm-4 text-center py-2 order-sm-2">
|
||
|
<small class="text-white">© 2022 Ettore Di Giacinto All Rights Reserved</small>
|
||
|
<small class="ml-1"><a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Privacy Policy</a></small>
|
||
|
|
||
|
<p class="mt-2"><a href="/docs/about/">About Luet</a></p>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</footer>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"
|
||
|
integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN"
|
||
|
crossorigin="anonymous"></script>
|
||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js"
|
||
|
integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA=="
|
||
|
crossorigin="anonymous"></script>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<script src='/docs/js/tabpane-persist.js'></script>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<script src="/docs/js/main.min.8ab8f81ff7e1454d30024cd6f956d4d341c3a97e2a673f988065f2ee4e147922.js" integrity="sha256-irj4H/fhRU0wAkzW+VbU00HDqX4qZz+YgGXy7k4UeSI=" crossorigin="anonymous"></script>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|