Via deze pagina’s wordt de basis van Linux (Debian) op de Raspberry PI uitgelegd.
De RPi heeft geen BIOS en alles wat op het scherm verschijnt nadat de power is aangesloten is als er een juiste startup heeft plaats gevonden! Het gekleurde splash-screen wordt getoond nadat de GPU firmware, start.elf, is gestart. Een paar tellen later wordt deze vervangen door het Linux console. Mocht het gekleurde scherm blijven, dan is er iets mis met de kernel.img (of niet gevonden)
Dit laatste proces vraagt iets meer stroom van de power adapter en mocht er op dit punt telkens een reboot plaatsvinden, controleer dan of er genoeg stroom geleverd kan worden door de power adapter.
Als de RPi wel een bootimage op de SD card heeft gevonden en er kan van worden gestart, zal allerlei informatie op het scherm getoond worden totdat de prompt verschijnt.
De RPi bevindt zich dan in een zogenaamd runlevel. Deze kan een waarde hebben van 0 t/m 6:
De huidige runlevel waarde kan gecontroleerd worden met het commando ‘runlevel‘.
Een ander runlevel kan geïnitieerd worden met het commando ‘init x‘ waarbij x dan het nummer van de runlevel is, bijvoorbeeld ‘init 6′ om opnieuw op te starten.
Elk runlevel heeft een directory in /etc dat begint met rc, gevolgd door het runlevelnummer:
/etc/rc0.d /etc/rc1.d /etc/rc2.d /etc/rc3.d /etc/rc4.d /etc/rc5.d
Elke directory bevat control files voor het specifieke runlevel die de services starten. Indien een service wordt toegevoegd zal een control-file voor het bewuste runlevel toegevoegd worden. Informatie vind je in de README file in elke directory:
The scripts in this directory are executed each time the system enters this runlevel. The scripts are all symbolic links whose targets are located in /etc/init.d/ To disable a service in this runlevel, rename its script in this directory so that the new name begins with a 'K' and a two-digit number, and run 'update-rc.d script defaults' to reorder the scripts according to dependencies. A warning about the current runlevels being enabled not matching the LSB header in the init.d script will be printed. To re-enable the service, rename the script back to its original name beginning with 'S' and run update-rc.d again.
Het beheren van de services kan gedaan worden met ‘systemctl‘. We kunnen hiermee starten, stoppen, herstarten en de status opvragen van een service waarbij de service in het juiste runlevel ingesteld moet worden. Met het commando ‘systemctl list-unit-files | grep enabled‘ kan een overzicht getoond worden. Met ‘systemctl | grep running‘ wordt een overzicht verkregen van de ‘running’ services.
Het starten van een service wordt gedaan met het commando ‘systemctl‘ gevolgd door de optie en de naam van de service. Bijvoorbeeld de Network Time Protocol (NTP) service:
systemctl start ntp
Het stoppen van een service wordt gedaan met de optie ‘stop‘, bijvoorbeeld:
systemctl stop ntp
Het status van een service wordt gecontroleerd met de optie ‘status‘:
systemctl status ntp
Een service kan verwijderd worden met de optie ‘disable‘:
systemctl disable ntp
Een service kan automatisch met opstarten van het systeem ingesteld worden met de optie ‘enable‘:
systemctl enable ntp
.