mirror of
https://github.com/FunKey-Project/FunKey-Project.github.io.git
synced 2025-12-16 12:18:51 +01:00
5 lines
45 KiB
HTML
5 lines
45 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="FunKey S - the world's smallest foldable handheld console Ultra-compact, foldable, powerful and comfortable, the FunKey S is the perfect handheld for playing retrogames anywhere, anytime."><meta name=author content="Michel Stempin"><link href=https://doc.funkey-project.com/developer_guide/tutorials/build_system/compilation_environments/ rel=canonical><link href=../ rel=prev><link href=../get_sources/ rel=next><link rel=icon href=../../../../assets/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.21"><title>Compilation Environments - FunKey Project Documentation</title><link rel=stylesheet href=../../../../assets/stylesheets/main.66ac8b77.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=../../../../assets/css/custom.css><link rel=stylesheet href=../../../../assets/css/simple-lightbox.min.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></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=deep-purple data-md-color-accent=indigo> <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=#build-on-a-physicalvirtual-machine class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class="md-header md-header--shadow" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../../.. title="FunKey Project Documentation" class="md-header__button md-logo" aria-label="FunKey Project Documentation" data-md-component=logo> <img src=../../../../assets/images/logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></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> FunKey Project Documentation </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Compilation Environments </span> </div> </div> </div> <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.516 6.516 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 5Z"/></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.516 6.516 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 5Z"/></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 11h12Z"/></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 12 19 6.41Z"/></svg> </button> </nav> </form> <div class=md-search__output> <div class=md-search__scrollwrap 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/FunKey-Project/FunKey-Project.github.io 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 448 512"><!-- Font Awesome Free 6.5.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="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> GitHub </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <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" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../../.. title="FunKey Project Documentation" class="md-nav__button md-logo" aria-label="FunKey Project Documentation" data-md-component=logo> <img src=../../../../assets/images/logo.png alt=logo> </a> FunKey Project Documentation </label> <div class=md-nav__source> <a href=https://github.com/FunKey-Project/FunKey-Project.github.io 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 448 512"><!-- Font Awesome Free 6.5.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="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> GitHub </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../.. class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> User's Manual </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> User's Manual </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_1> <label class=md-nav__link for=__nav_2_1 id=__nav_2_1_label tabindex=0> <span class=md-ellipsis> Tutorials </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_1_label aria-expanded=false> <label class=md-nav__title for=__nav_2_1> <span class="md-nav__icon md-icon"></span> Tutorials </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_1_1> <label class=md-nav__link for=__nav_2_1_1 id=__nav_2_1_1_label tabindex=0> <span class=md-ellipsis> Software </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_2_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_2_1_1> <span class="md-nav__icon md-icon"></span> Software </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/software/add_roms/ class=md-nav__link> <span class=md-ellipsis> Add New ROMs </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/software/add_opk/ class=md-nav__link> <span class=md-ellipsis> Add OPK Files </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/software/gba_bios/ class=md-nav__link> <span class=md-ellipsis> Install the GBA/PS1 BIOS </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/software/aspect_ratio/ class=md-nav__link> <span class=md-ellipsis> Change Aspect Ratio </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/software/snapshot/ class=md-nav__link> <span class=md-ellipsis> Take a Snapshot </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/software/firmware_update/ class=md-nav__link> <span class=md-ellipsis> Firmware Upgrade </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/software/gb_palette/ class=md-nav__link> <span class=md-ellipsis> Change Game Boy Palette </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/software/gmenu2x_wallpaper/ class=md-nav__link> <span class=md-ellipsis> Change GMenu2X Wallpaper </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_1_2> <label class=md-nav__link for=__nav_2_1_2 id=__nav_2_1_2_label tabindex=0> <span class=md-ellipsis> Hardware </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_2_1_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_1_2> <span class="md-nav__icon md-icon"></span> Hardware </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/hardware/teardown/ class=md-nav__link> <span class=md-ellipsis> Teardown </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/hardware/flash_change_sd_card/ class=md-nav__link> <span class=md-ellipsis> Flash & Change micro-SD Card </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/hardware/change_buttons/ class=md-nav__link> <span class=md-ellipsis> Change the Buttons </span> </a> </li> <li class=md-nav__item> <a href=../../../../user_manual/tutorials/hardware/fix_unstuck_screen/ class=md-nav__link> <span class=md-ellipsis> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Developer's Guide </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=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Developer's Guide </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <div class="md-nav__link md-nav__container"> <a href=../../../hardware_reference/ class="md-nav__link "> <span class=md-ellipsis> Hardware Reference </span> </a> <label class="md-nav__link " for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> Hardware Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../hardware_reference/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture </span> </a> </li> <li class=md-nav__item> <a href=https://htmlpreview.github.io/?https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/BOM/ibom.html class=md-nav__link> <span class=md-ellipsis> BOM </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/cpu/ class=md-nav__link> <span class=md-ellipsis> CPU </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_4> <label class=md-nav__link for=__nav_3_1_4 id=__nav_3_1_4_label tabindex=0> <span class=md-ellipsis> Power </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_4_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_4> <span class="md-nav__icon md-icon"></span> Power </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../hardware_reference/power/power_supplies_topologies/ class=md-nav__link> <span class=md-ellipsis> Regulated DC Power Supply Topologies </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/power/multiple_voltages/ class=md-nav__link> <span class=md-ellipsis> Multiple Power Supply Voltages </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/power/pmic/ class=md-nav__link> <span class=md-ellipsis> PMIC </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/power/dram_power/ class=md-nav__link> <span class=md-ellipsis> DRAM Power </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/power/decoupling/ class=md-nav__link> <span class=md-ellipsis> Decoupling </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../../hardware_reference/screen/ class=md-nav__link> <span class=md-ellipsis> Screen </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/audio/ class=md-nav__link> <span class=md-ellipsis> Audio </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/buttons/ class=md-nav__link> <span class=md-ellipsis> Buttons </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/sd-card/ class=md-nav__link> <span class=md-ellipsis> SD Card </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/usb/ class=md-nav__link> <span class=md-ellipsis> USB </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/uart/ class=md-nav__link> <span class=md-ellipsis> UART </span> </a> </li> <li class=md-nav__item> <a href=../../../hardware_reference/magnetic_switch/ class=md-nav__link> <span class=md-ellipsis> Magnetic Switch </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_2> <div class="md-nav__link md-nav__container"> <a href=../../../software_reference/ class="md-nav__link "> <span class=md-ellipsis> Software Reference </span> </a> <label class="md-nav__link " for=__nav_3_2 id=__nav_3_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_2_label aria-expanded=false> <label class=md-nav__title for=__nav_3_2> <span class="md-nav__icon md-icon"></span> Software Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_2_1> <div class="md-nav__link md-nav__container"> <a href=../../../software_reference/boot_process/ class="md-nav__link "> <span class=md-ellipsis> Boot Process </span> </a> <label class="md-nav__link " for=__nav_3_2_1 id=__nav_3_2_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_2_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_2_1> <span class="md-nav__icon md-icon"></span> Boot Process </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../software_reference/boot_process/boot_rom/ class=md-nav__link> <span class=md-ellipsis> Boot ROM </span> </a> </li> <li class=md-nav__item> <a href=../../../software_reference/boot_process/spl/ class=md-nav__link> <span class=md-ellipsis> SPL </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_2_2> <div class="md-nav__link md-nav__container"> <a href=../../../software_reference/sd_card_layout/ class="md-nav__link "> <span class=md-ellipsis> SD-Card Layout </span> </a> <label class="md-nav__link " for=__nav_3_2_2 id=__nav_3_2_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_3_2_2> <span class="md-nav__icon md-icon"></span> SD-Card Layout </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../software_reference/sd_card_layout/directory_structure/ class=md-nav__link> <span class=md-ellipsis> Directory Structure </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_3 checked> <label class=md-nav__link for=__nav_3_3 id=__nav_3_3_label tabindex=0> <span class=md-ellipsis> Tutorials </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3_3> <span class="md-nav__icon md-icon"></span> Tutorials </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../access_recovery/ class=md-nav__link> <span class=md-ellipsis> Access the Recovery Boot Mode </span> </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_3_2 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Build System </span> </a> <label class="md-nav__link " for=__nav_3_3_2 id=__nav_3_3_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_3_2_label aria-expanded=true> <label class=md-nav__title for=__nav_3_3_2> <span class="md-nav__icon md-icon"></span> Build System </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Compilation Environments </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Compilation Environments </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=#build-on-a-physicalvirtual-machine class=md-nav__link> <span class=md-ellipsis> Build on a Physical/Virtual Machine </span> </a> <nav class=md-nav aria-label="Build on a Physical/Virtual Machine"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#prerequisites class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#build-in-a-docker-container class=md-nav__link> <span class=md-ellipsis> Build in a Docker Container </span> </a> <nav class=md-nav aria-label="Build in a Docker Container"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#prerequisites_1 class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#build-on-windows-1011-with-wsl2 class=md-nav__link> <span class=md-ellipsis> Build on Windows 10/11 with WSL2 </span> </a> <nav class=md-nav aria-label="Build on Windows 10/11 with WSL2"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#prerequisites_2 class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> <nav class=md-nav aria-label=Prerequisites> <ul class=md-nav__list> <li class=md-nav__item> <a href=#enabling-windows-features class=md-nav__link> <span class=md-ellipsis> Enabling Windows Features </span> </a> </li> <li class=md-nav__item> <a href=#download-the-linux-kernel-update-package class=md-nav__link> <span class=md-ellipsis> Download the Linux kernel update package </span> </a> </li> <li class=md-nav__item> <a href=#set-wsl2-as-your-default-version-optional class=md-nav__link> <span class=md-ellipsis> Set WSL2 as your default version (optional) </span> </a> </li> <li class=md-nav__item> <a href=#install-ubuntu-using-the-microsoft-store class=md-nav__link> <span class=md-ellipsis> Install Ubuntu using the Microsoft Store </span> </a> </li> <li class=md-nav__item> <a href=#wsl2-is-now-ready-to-be-used class=md-nav__link> <span class=md-ellipsis> WSL2 is now ready to be used </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../get_sources/ class=md-nav__link> <span class=md-ellipsis> Get the Sources </span> </a> </li> <li class=md-nav__item> <a href=../compile_sdk/ class=md-nav__link> <span class=md-ellipsis> Compile SDK </span> </a> </li> <li class=md-nav__item> <a href=../compile_distribution/ class=md-nav__link> <span class=md-ellipsis> Compile Distribution </span> </a> </li> <li class=md-nav__item> <a href=../write_image/ class=md-nav__link> <span class=md-ellipsis> Write firmware to SD Card </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../build_program_using_sdk/ class=md-nav__link> <span class=md-ellipsis> Build Programs using SDK </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://grabcad.com/library/funkey-s-1 class=md-nav__link> <span class=md-ellipsis> 3D files </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Miscellaneous </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> Miscellaneous </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../miscellaneous/glossary/ class=md-nav__link> <span class=md-ellipsis> Glossary </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <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=#build-on-a-physicalvirtual-machine class=md-nav__link> <span class=md-ellipsis> Build on a Physical/Virtual Machine </span> </a> <nav class=md-nav aria-label="Build on a Physical/Virtual Machine"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#prerequisites class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#build-in-a-docker-container class=md-nav__link> <span class=md-ellipsis> Build in a Docker Container </span> </a> <nav class=md-nav aria-label="Build in a Docker Container"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#prerequisites_1 class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#build-on-windows-1011-with-wsl2 class=md-nav__link> <span class=md-ellipsis> Build on Windows 10/11 with WSL2 </span> </a> <nav class=md-nav aria-label="Build on Windows 10/11 with WSL2"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#prerequisites_2 class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> <nav class=md-nav aria-label=Prerequisites> <ul class=md-nav__list> <li class=md-nav__item> <a href=#enabling-windows-features class=md-nav__link> <span class=md-ellipsis> Enabling Windows Features </span> </a> </li> <li class=md-nav__item> <a href=#download-the-linux-kernel-update-package class=md-nav__link> <span class=md-ellipsis> Download the Linux kernel update package </span> </a> </li> <li class=md-nav__item> <a href=#set-wsl2-as-your-default-version-optional class=md-nav__link> <span class=md-ellipsis> Set WSL2 as your default version (optional) </span> </a> </li> <li class=md-nav__item> <a href=#install-ubuntu-using-the-microsoft-store class=md-nav__link> <span class=md-ellipsis> Install Ubuntu using the Microsoft Store </span> </a> </li> <li class=md-nav__item> <a href=#wsl2-is-now-ready-to-be-used class=md-nav__link> <span class=md-ellipsis> WSL2 is now ready to be used </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1>Compilation Environments</h1> <p>Even if the resulting disk image and firmware update files are relatively small (350MB and 110MB, respectively), the size of the corresponding sources and the compilation by-products tend to be rather large, such that an available disk space of at least 12GB is required during the build.</p> <p>And even if the resulting FunKey OS boots in less than 5s, it still requires a fair amount of time to compile: please account for ½ hour on a modern multi-core <abbr title="Central Processing Unit">CPU</abbr> with SSD drives and a decent Internet bandwidth.</p> <p>The FunKey OS is meant to be built on a native Ubuntu or Debian Linux host machine (Ubuntu 20.04 LTS in our case, but this should also work with other versions, too). And with only a few changes to the prerequisites, it can certainly be adapted to build on other common Linux distros.</p> <p>However, if your development machine does not match this setup, there are still several available solutions:</p> <ul> <li> <p>use a lightweight container system such as <a href=https://www.docker.com/ >Docker</a> and run an Ubuntu or Debian Linux container in it</p> </li> <li> <p>use a VM (Virtual Machine), such as provided by <a href=https://www.virtualbox.org/ >VirtualBox</a> and run an Ubuntu or Debian Linux in it</p> </li> <li> <p>for Windows 10 users, use the <a href=https://docs.microsoft.com/en-us/windows/wsl/install-win10>WSL2</a> (Windows System for Linux 2) subsystem and run an Ubuntu Linux distro in it</p> </li> </ul> <p>In order to install one of these virtualized environments on your machine, please refer to the corresponding documentation.</p> <h2 id=build-on-a-physicalvirtual-machine>Build on a Physical/Virtual Machine<a class=headerlink href=#build-on-a-physicalvirtual-machine title="Permanent link">¶</a></h2> <h3 id=prerequisites>Prerequisites<a class=headerlink href=#prerequisites title="Permanent link">¶</a></h3> <p>While Buildroot itself will build most host packages it needs for the compilation, some standard Linux utilities are expected to be already installed on the host system. If not already present, you will need to install the following packages beforehand:</p> <ul> <li>bash</li> <li>bc</li> <li>binutils</li> <li>build-essential</li> <li>bzip2</li> <li>ca-certificates</li> <li>cpio</li> <li>cvs</li> <li>expect</li> <li>file</li> <li>g++</li> <li>gcc</li> <li>git</li> <li>gzip</li> <li>liblscp-dev</li> <li>libncurses5-dev</li> <li>locales</li> <li>make</li> <li>mercurial</li> <li>openssh-client</li> <li>patch</li> <li>perl</li> <li>procps</li> <li>python</li> <li>python-dev</li> <li>python3</li> <li>python3-dev</li> <li>python3-distutils</li> <li>python3-setuptools</li> <li>rsync</li> <li>rsync</li> <li>sed</li> <li>subversion</li> <li>sudo</li> <li>tar</li> <li>unzip</li> <li>wget</li> <li>xxd</li> </ul> <p>On Ubuntu/Debian Linux, this is achieved by running the following command:</p> <div class=highlight><pre><span></span><code>$<span class=w> </span>sudo<span class=w> </span>apt<span class=w> </span>install<span class=w> </span>bash<span class=w> </span>bc<span class=w> </span>binutils<span class=w> </span>build-essential<span class=w> </span>bzip2<span class=w> </span>ca-certificates<span class=w> </span>cpio<span class=w> </span>cvs<span class=w> </span>expect<span class=w> </span>file<span class=w> </span>g++<span class=w> </span>gcc<span class=w> </span>git<span class=w> </span>gzip<span class=w> </span>liblscp-dev<span class=w> </span>libncurses5-dev<span class=w> </span>locales<span class=w> </span>make<span class=w> </span>mercurial<span class=w> </span>openssh-client<span class=w> </span>patch<span class=w> </span>perl<span class=w> </span>procps<span class=w> </span>python<span class=w> </span>python-dev<span class=w> </span>python3<span class=w> </span>python3-dev<span class=w> </span>python3-distutils<span class=w> </span>python3-setuptools<span class=w> </span>rsync<span class=w> </span>rsync<span class=w> </span>sed<span class=w> </span>subversion<span class=w> </span>sudo<span class=w> </span>tar<span class=w> </span>unzip<span class=w> </span>wget<span class=w> </span>xxd
|
|
</code></pre></div> <h2 id=build-in-a-docker-container>Build in a Docker Container<a class=headerlink href=#build-in-a-docker-container title="Permanent link">¶</a></h2> <h3 id=prerequisites_1>Prerequisites<a class=headerlink href=#prerequisites_1 title="Permanent link">¶</a></h3> <p>When using a Docker container, all the prerequisites are automatically installed.</p> <h2 id=build-on-windows-1011-with-wsl2>Build on Windows 10/11 with WSL2<a class=headerlink href=#build-on-windows-1011-with-wsl2 title="Permanent link">¶</a></h2> <h3 id=prerequisites_2>Prerequisites<a class=headerlink href=#prerequisites_2 title="Permanent link">¶</a></h3> <p>First, make sure your version of Windows 10 is new enough (any version of Windows 11 should be fine). Press <strong>Win</strong> + <strong>R</strong> to open the <em>Run</em> window and type in <code>winver</code> to check your Windows version and build number. The version should be <strong>2004</strong> or higher, the build number <strong>19041</strong> or higher.</p> <h4 id=enabling-windows-features>Enabling Windows Features<a class=headerlink href=#enabling-windows-features title="Permanent link">¶</a></h4> <p><img alt="Enable Virtual Machine Platform and Windows Subsystem for Linux." src=/assets/images/WSL2_Windows_features.png></p> <p>Some addition Windows features need to be enabled. Open the Windows Features window either by searching for "Windows Features" in the Start Menu, or by opening <strong>Settings</strong> -> <strong>Apps & features</strong> -> <strong>Optional features</strong> -> <strong>More Windows features</strong>. There ensure that both <strong>Virtual Machine Platform</strong> and <strong>Windows Subsystem for Linux</strong> are enabled. After pressing OK to confirm, Windows will ask you to reboot your computer to complete installation.</p> <h4 id=download-the-linux-kernel-update-package>Download the Linux kernel update package<a class=headerlink href=#download-the-linux-kernel-update-package title="Permanent link">¶</a></h4> <p>An additional update is required to run WSL2. Download and install the following package from Microsoft:</p> <ul> <li><a href=https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi>WSL2 Linux kernel update package for x64 machines</a></li> </ul> <h4 id=set-wsl2-as-your-default-version-optional>Set WSL2 as your default version (optional)<a class=headerlink href=#set-wsl2-as-your-default-version-optional title="Permanent link">¶</a></h4> <p>You can run the following command in PowerShell to make WSL2 the default version. New installations of Linux distributions on Windows will then automatically use WSL2. Otherwise they will use WSL version 1 by default.</p> <div class=highlight><pre><span></span><code>wsl --set-default-version 2
|
|
</code></pre></div> <h4 id=install-ubuntu-using-the-microsoft-store>Install Ubuntu using the Microsoft Store<a class=headerlink href=#install-ubuntu-using-the-microsoft-store title="Permanent link">¶</a></h4> <p>Now that WSL2 is ready to be used you can download a Linux distribution from the Microsoft Store. For this guide, it is recommended to install <a href=https://www.microsoft.com/store/productId/9N6SVWS3RX71>Ubuntu 20.04 LTS</a>. After installing, Ubuntu can be started by either selecting it from the Start Menu or typing <code>ubuntu2004</code> on the command prompt. The first time you run Ubuntu you will be asked to create a new user account with a username and password. These do not have to be the same as your Windows account.</p> <p>If you've enabled WSL2 as the default version in the previous step, Ubuntu will be automatically configured to use that version. If you haven't set WSL2 as default, or if you've installed Ubuntu before setting WSL2 as default, it's possible to manually change the version for this distro. First, open a PowerShell window and type the following command to list all installed Linux distributions:</p> <div class=highlight><pre><span></span><code>wsl --list --verbose
|
|
</code></pre></div> <p>Check the name of the distribution you want to upgrade and run:</p> <div class=highlight><pre><span></span><code>wsl --set-version <distribution name> <versionNumber>
|
|
</code></pre></div> <p>With <code><versionNumber></code> set to <code>2</code> to use WSL2. You can use the same command with version number <code>1</code> to return to WSL 1.</p> <h4 id=wsl2-is-now-ready-to-be-used>WSL2 is now ready to be used<a class=headerlink href=#wsl2-is-now-ready-to-be-used title="Permanent link">¶</a></h4> <p>Your Ubuntu installation is now ready to be used. Starting Ubuntu from the Start Menu will open a terminal with a Bash prompt. Everything you type here will be executed in Ubuntu. You can run and install applications within Ubuntu as you would on a complete installation or virtual machine.</p> <p>Follow the instructions in the <strong>Build on a Physical/Virtual Machine</strong> section to install the requirements needed to build FunKey OS.</p> <p>You can access the Windows filesystem via <code>/mnt</code>; the C: drive is mounted as <code>/mnt/c</code>. From Windows you can access the Linux filesystem via the special path <code>\\wsl$</code>. Note that you can only access the files there when Ubuntu is running on WSL2.</p> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> </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> © 2020-2024 FunKey Project<br> Last updated on 2024-05-04 by DrUm78<br> <a href=http://creativecommons.org/licenses/by-sa/4.0/ rel=license> <img alt="Creative Commons License" style=border-width:0 src=https://i.creativecommons.org/l/by-sa/4.0/80x15.png> </a><br>This work is licensed under a <a href=http://creativecommons.org/licenses/by-sa/4.0/ rel=license>Creative Commons Attribution-ShareAlike 4.0 International License</a>. </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://www.facebook.com/FunKeyProjectOfficial target=_blank rel=noopener title=www.facebook.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.5.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="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 120 82.7 220.8 194.2 248.5V334.2h-52.8V256h52.8v-33.7c0-87.1 39.4-127.5 125-127.5 16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287v175.9C413.8 494.8 512 386.9 512 256z"/></svg> </a> <a href=https://twitter.com/FunKeyProject 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.5.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.253z"/></svg> </a> <a href=https://www.instagram.com/funkey_project/ target=_blank rel=noopener title=www.instagram.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.5.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="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg> </a> <a href=https://www.youtube.com/channel/UCm6RThJXazA1VMhimqOtjww target=_blank rel=noopener title=www.youtube.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 6.5.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="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg> </a> <a href=https://www.pinterest.fr/davidlarbi/funkey-project/ target=_blank rel=noopener title=www.pinterest.fr class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.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="M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z"/></svg> </a> <a href=https://github.com/FunKey-Project 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.5.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.6zm-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.3zm44.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.9zM244.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 8zM97.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-1zm-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.7zm32.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-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://hub.docker.com/r/funkeyproject/funkey-os/ target=_blank rel=noopener title=hub.docker.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 640 512"><!-- Font Awesome Free 6.5.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="M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z"/></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": [], "search": "../../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "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"}}</script> <script src=../../../../assets/javascripts/bundle.a7c05c9e.min.js></script> <script src=../../../../assets/js/jquery-3.5.1.min.js></script> <script src=../../../../assets/js/simple-lightbox.jquery.min.js></script> <script src=../../../../assets/js/custom.js></script> </body> </html> |