Het is mogelijk om een Ubuntu(default) of andere distro te draaien op een windows pc van de laatste versies (win10/11).
Dit laat je toe om heel wat software die uitsluitend op Linux loopt, ook op je NUC te gebruiken.
Echter er is een kantje aan:
Hardware sturingen, lijken niet goed te lukken en de communicatie van buitenuit naar je Linux station is enkel vlot doenbaar via netwerk (IP) verbindingen.
Het volgende document van MS geeft meer uitleg:
docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/hardware-devices-in-containers
Voor een aantal toepassingen, zoals software die uitsluitend gebruik maakt van netwerk verbindingen, kan dit een oplossing zijn.
Om alles vlot te laten verlopen installeren we eerst WSL om nadien hierop een Docker (container software)te gebruiken.
Deze combinatie laat ons toe om vlot "klaargemaakte software" in linux te gebruiken, zonder zelf alles te moeten configureren.
De procedure vind je op: https://learn.microsoft.com/en-us/windows/wsl/install
De aandachtspunten, omdat je tussen een unix en windows systeem files kan delen, vind je in: docker desktop troubleshoot
Open een cmd venster in admin (zoek cmd en druk dan ctrl+shift+enter)
Geef het commando: wsl --install
De installatie start met het downloaden van een aantal bestanden en installeren.
Herstart windows na het beëindigen van de installatie.
Er komt nu een cmd venster met de vraag om een default user en paswoord in te geven.
Het spreekt voor zich dat je hier best dezelfde naam/paswoord gebruikt, dat je gebruikt hebt om deze windows nuc op te zetten.
Geef nu het commando in:
sudo apt update
om de laatste updates binnen te halen.
Hiermee wordt de Ubuntu distro op de laatste stand gebracht.
In een cmd venster kan je nu nagaan welke versie er geïnstalleerd is door het geven van het commando:
wsl -l -v
Met WSL2 zit je goed, zoniet dien je te upgraden(enkel voor oudere PC's waar reeds WSL1 opstond)
Dit is de beheersoftware bovenop de tools die Docker gebruikt om via het container systeem zowel linux als windows containers te kunnen draaien .
Het installeren van Docker Desktop, vergemakkelijkt het apart downloaden en instellen van alle onderdelen.
In de Docker Hub kan je heel wat software vinden.
Procedure op: Install Docker Desktop for Windows
Download de file Docker Desktop Installer.
Start de installer met "Run as Administrator"
Zorg ervoor dat de keuze Use WSL2 instead of Hyper-V is aangevinkt en druk op ok om de installatie te starten.
Met de shortcut zorg je ervoor dat je vanop je desktop Docker kan starten.
Close en log out.
Log terug in in windows.
Je krijgt nu de vraag om de Service Agreement te aanvaarden.
Druk op Accept.
Hierna wordt Docker opgestart en kan je de tutorial bekijken.
Gebruik van Docker Desktop
Maak je Docker account aan door op Sign-up te klikken in het Docker Desktop scherm zodat je kan genieten van de programma's die daar beschikbaar zijn.
Voor het plan kan je als radioamateur het Personal Plan kiezen door onderaan op Continue with Free te klikken.
Hierna krijg je een mail toegestuurd voor het verifieren van je email en account.
Een klik op de knop brengt je naar de Docker hub site, waarna je na login, kan snuisteren in de veelheid van programma's.
In Docker Desktop kan je nu sign-in doen om zo je account te koppelen.
Via het tandwieltje kan je de optie opzetten Start Docker desktop when you log in.
Zo worden ook de containers gestart die op --restart always of --restart unless-stopped staan.
Zet eventueel Open Docker Dashboard at Startup uit, zodat Docker Desktop minimized start.
Met ctrl-p ctrl-q kan je in de cmd prompt de terminal detachen van de applicatie en blijft deze in de achtergrond verder draaien.
Hierdoor kan je je cmd venster terug gebruiken voor andere acties.
Optional Windows terminal:
Installeer de windows terminal, zodat je een vlotte command line hebt, maar noodzakelijk is dit niet.
Install windows terminal
Om data buiten een container te kunnen bewaren, heb je verschillende mogelijkheden, waarvan hier twee mogelijkheden besproken worden in de Node-Red image pagina:
Bind mount: laat je toe om een shared folder te gebruiken op het host systeem, in ons geval Windows
Named Volume: laat je toe om een shared folder te gebruiken op het Docker host systeem, hier WSL
zie verschil op: file-sharing with Docker
Hierdoor kan je bij het updaten van je image/container, dezelfde data binden aan de nieuwe versie en zo alle gegevens recupereren.
Je kan Named Volumes ook gebruiken om verschillende containers te binden aan dezelfde data, daar deze data niet op het host (in ons geval Windows) maar op het WSL systeem worden bewaard, de plaats waar ook Docker draait.
De inhoud kan je bekijken via Desktop Docker/Volumes door erop te klikken en de Data tab te kiezen.
Het updaten van een Image, gaat steeds gepaard met het vervangen van een bestaande container (instantie) en door gebruik te maken van percistency data, kan dit op een eenvoudige wijze.
Door een pull kan je de laatste versie ophalen van de image uit de repository (Docker hub)
Hierna wordt de lopende container gestopt, verwijdert en terug opgestart met de koppeling naar de percistency data, waardoor de nieuwe image wordt gebruikt.
Een aantal extra's kunnen het gebruik van Docker vervolledigen aan je specifieke noden.
Allen worden besproken op de pagina Node-Red
Headless run
Container shell access
Start Containers automatically
Op de volgende pagina's vind je verschillende softwares en hoe deze geconfigureerd worden als voorbeeld.
Volgende greep uit het aanbod kan nuttig zijn om een platform onafhankelijk stukje software te kunnen draaien:.
Denk eraan dat in Windows de connecties beperkt worden tot nagenoeg IP connecties!
openWebRX (enkel gebruik van IP connecties-streams van SDR's)
Open source Space Downstream Apllications, kan je een bron van mogelijkheden geven om allerhande data te decoderen.
Deze is in Windows te vinden op:
AppData\Roaming\Docker\log\vm\dockerd.log
AppData\Roaming\Docker\log\vm\containerd.log
Logs are in the Windows Event Log
Ook op een chromebook kan je een Linux omgeving gebruiker, met daarin een Docker engine.
Neverware-Cloudready is nu Chrome OS Flex binnen Google.
Docker on a Chromebook on Crostini - Neverware CloudReady is ready