-
Notifications
You must be signed in to change notification settings - Fork 0
Software_WSL
[TOC]
De opdrachten moeten thuis op een pc uitgevoerd worden. We maken daarbij gebruik van een groot aantal programma's. De eenvoudigste manier om dit te doen is door gebruik te maken van Windows Subsystem for Linux (WSL).

wsl --install --no-distribution

Als er om administratie rechten wordt gevraagd kun je deze accepteren.
Start de computer nu opnieuw op.
De docent heeft een image gemaakt op basis van Arch Linux waar de benodigde software op is geïnstalleerd. Download ems30_wsl.zip en pak deze uit naar bijvoorbeeld c:\ems30_wsl\ of %HOMEPATH%. De hele WSL machine zal zich in deze map bevinden. Voer het ems30_registreren script uit door erop te dubbelklikken, dit installeert de ESM30 distributie. Dit kan even duren dus heb geduld.

Je kunt controleren of het is gelukt door via het start menu "WSL" uit te voeren. Het wachtwoord van de gebruiker is "ems".

Je kunt het gedownloade zipbestand en het backup.ext4.vhdx.gz bestand verwijderen om meteen wat schijfruimte vrij te geven.
We zullen als IDE Visual Studio Code gaan gebruiken. Dit is een super aanpasbaar programma wat voor vele doeleinden kan worden gebruikt. Van Python en C tot Rust op microcontrollers. VS Code heeft standaard ook de optie om gekoppeld te worden aan de WSL instantie. Dit gaan we dan ook doen.
De makkelijkste weg om dit te installeren is via de windows package manager. Open een CMD venster zonder rechten en voer het volgende commando uit:
winget install vscode


VSCode werkt op basis van extensies. Installeer de remote extensie door eerst in de meest linker balk op het roostertje te klikken, vervolgens te zoeken naar remote en dan op install te klikken voor de 'Remote Development' extensie.

Met de extensie kunnen we nu verbinding maken met de WSL instantie. Druk in VSCode op F1 om het commando venster te openen. Type WSL en kies voor WSL: New WSL Window.

Er wordt verbinding gemaakt en een VSCode-server wordt onder de WSL instantie gestart:

Het bovenste icoontje van de linker balk heet de "explorer". Dit is in feite de bestandsverkenner. Klik op "Open Folder" en ga naar "Opdrachten/Hallo_EMS30". Klik op "OK"

Bij het openen van nieuwe mappen zal VSCode altijd nagaan of je dit vertrouwt. Je kunt dit natuurlijk accepteren door op "Yes, I trust the authors" te klikken. Je kunt ook het vinkje aanzetten.

CMake zal vragen welke toolkit je wilt gebruiken. Je kunt hier op de optie klikken met Using compilers C = /usr/sbin/gcc. Mocht het venstertje verdwijnen dan kun je op de onderste balk van VS Code op "No active kit" drukken.

Het project maakt gebruik van CMake in plaats van Makefiles. Het CMakeList bestand in de map beschrijft het project en wat er gecompileerd moet worden. Dit is nu ingesteld dat main.c en alle bestanden in de "src" folder worden meegecompileerd. De EMS30 WSL instantie heeft al een aantal extensies geïnstalleerd staan, waaronder CMake.
Je kunt een breakpoint in main.c zetten en debuggen om te kijken of alles werkt door in de onderste balk op het kevertje te klikken.

Na afloop van dit vak wil je misschien de instantie van je computer halen. Dit kun je doen met behulp van het EMS30.exe clean commando in de map waar je de WSL instantie had geplaatst.
De EMS30 distributie maakt gebruik van Arch Linux. De package manager van Arch Linux heet 'pacman'. Arch Linux maakt gebruik van een rolling release systeem. Dit betekent dat, in tegenstelling tot ubuntu, je vrijwel altijd up-to-date bent. Om alle packages (software) van het systeem bij te werken:
$sudo pacman -Syu
Of als je dit al een tijd niet gedaan hebt is het verstandig eerst de keyring te updaten om de laatste keys binnen te halen met
$sudo pacman -Sy archlinux-keyring
Elk ander programma kun je op dezelfde manier installeren. Om te zoeken kun je het volgende commando gebruiken:
$sudo pacman -Ss ikzoekiets
Of je bekijkt de wiki page van pacman. Sowieso is de Arch Linux wiki erg uitgebreid en kun je over vrijwel elk onderwerp wel iets vinden.