Nachdem man die Speicherkarte in den Slot gesteckt und die Stromversorgung an den Raspberry Pi angeschlossen hat, startet der Bootvorgang. Man sieht auf dem Monitor die von FreeBSD bekannten Bootmeldungen. Die grüne Leuchtdiode bleibt dunkel, da der FreeBSD-Kernel sie ignoriert.
Gelegentlich stoppt ein Bootvorgang mit einer Fehlermeldung, derzufolge das Boot-Slice fehlt. Das liegt in der Regel daran, dass manche SD-Karten nicht fehlerfrei mit dem Controller des Raspberry harmonieren. Meist klappt es beim zweiten Bootversuch.
Nach dem ersten Login per SSH reaktiviert man als erstes die bei der Grundkonfiguration ausgeschalteten Sicherheitsvorkehrungen. Root sollte sich dann nicht mehr per SSH anmelden dürfen, stattdessen legt man für diesen Zweck einen gewöhnlichen Benutzer an, beispielsweise »pi
«
(Abbildung 3):
# mkdir -p /home/pi # pw group add users -g 1001 # pw user add pi -s/bin/tcsh -d /home/pi -g users -G wheel# passwd -l pi
Nun empfiehlt es sich, den Speicherplatz auf dem Betriebssystem-Slice zu vergrößern, damit auch zusätzliche Tools darauf Platz finden. »gpart
«
zeigt die aktuelle Partitionierung an; in den ersten beiden Spalten finden sich die Größenangaben:
# gpart show mmcsd0 => 1 15564799 mmcsd0 MBR (7.4G) 1 8 - free - (4.0K) 9 65529 1 !12 [active] (32M) 65538 983034 2 freebsd (480M) 1048572 14516228 - free - (6.9G)
Das Slice mit Nummer 2 vom Typ »freebsd
«
enthält das Betriebssystem und wird wie folgt bearbeitet:
# gpart resize -i 2 mmcsd0 mmcsd0 resized # gpart show mmcsd0 => 1 15564799 mmcsd0 MBR (7.4G) 1 8 - free - (4.0K) 9 65529 1 !12 [active] (32M) 65538 15499260 2 freebsd (7.4G) 15564798 2 - free - (1.0K)
Nach dieser Aktion startet man das System neu und lässt sich danach die aktuelle Slice-Tabelle anzeigen:
# gpart show => 1 15564799 mmcsd0 MBR (7.4G) 1 8 - free - (4.0K) 9 65529 1 !12 [active] (32M) 65538 15499260 2 freebsd (7.4G) 15564798 2 - free - (1.0K) => 0 15499260 mmcsd0s2 BSD (7.4G) 0 983034 1 freebsd-ufs (480M) 983034 14516226 - free - (6.9G)
Wichtig ist hierbei das Slice mit dem Namen »mmcsd0s2
«
, das an die neue Verteilung angepasst werden muss:
# gpart resize -i 1 mmcsd0s2 mmcsd0s2a resized
Zur Kontrolle hilft ein Blick auf die Ausgabe des folgenden Kommandos:
# gpart show mmcsd0s2 => 0 15499260 mmcsd0s2 BSD (7.4G) 0 15556606 1 freebsd-ufs (7.4G) 15556606 8182 - free - (4M)
Zum Schluss werden die neu hinzugekommenen Blöcke formatiert:
# growfs / [...] OK to grow filesystem on /dev/mmcsd0s2a, mounted on /, from 480MB to 7.4GB? [Yes/No] Yes super-block backups (for fsck -b #) at: 983232, [...], 15483072
Nach Abschluss dieser Tätigkeiten startet man zur Sicherheit den Raspberry neu und beobachtet die Ausgabe auf dem Monitor. Wie bei anderen Systemen gilt hier, dass ein geordneter Shutdown vor dem Kappen der Stromversorgung für die Konsistenz des Dateisystems notwendig ist:
# shutdown -h now
Über ein Powermanagement-System wie APM oder ACPI verfügt der Raspberry Pi übrigens nicht, deshalb kann er sich nach dem System-Shutdown nicht per Software ausschalten. Ohne angeschlossenen Bildschirm bleiben nur zwei Möglichkeiten: Entweder man wartet nach dem Befehl zum Herunterfahren etwa zehn Minuten, bevor man das Gerät ausschaltet, oder man hängt das Dateisystem als nur lesbar (Read Only) ein. Dazu ändert man den Eintrag in »/etc/fstab
«
von
/dev/mmcsd0s2a / ufs rw,noatime 1 1
zu
/dev/mmcsd0s2a / ufs ro,noatime 1 1
Bei dieser Konfiguration kann das System allerdings keine Protokolle mehr ins Verzeichnis »/var/log/
«
schreiben. Abhilfe schafft die Möglichkeit, die Systemprotokolle stattdessen übers Netz auszuliefern. In der Datei »/etc/rc.conf
«
fügt man zu diesem Zweck die folgende Zeile ein:
syslogd_enable="YES"
Nun trägt man das Zielsystem in der Syslogd-Konfiguration ein und kommentiert alle anderen darin enthaltenen Zeilen aus:
*.* @Zielsystem
Der Syslog-Daemon des Zielsystems muss die vom Raspberry eingehenden Protokolle allerdings explizit akzeptieren. Handelt es sich dabei ebenfalls um ein FreeBSD-System, sorgt dafür dieser Eintrag in »/etc/rc.conf
«
. Bei Linux-Systemen erfolgt die Konfiguration etwa in »/etc/rsyslog.conf
«
oder dem Verzeichnis »/etc/rsyslog.d/
«
:
syslogd_enable="YES" syslogd_flags="-a $netzwerk/$maske -4 \ -b ${adr_syslog}"
Nach der nun abgeschlossenen Installation und Grundkonfiguration von FreeBSD bietet der Raspberry Pi eine gute Ausgangsbasis für weitere Projekte mit diesem Rechnersystem. Die Vielzahl portierter Anwendungen legt das Fundament für vielfältige Einsatzmöglichkeiten.
Wie immer unter FreeBSD stehen auch auf dem Raspberry-System Softwarepakete zum Selbstkompilieren oder bereits übersetzte zur Wahl. Ersteres erleichtert der Portstree, indem er die Abhängigkeiten automatisch auflöst. Bei der für die Raspberry-Plattform ohnehin überschaubaren Auswahl fertiger Softwarepakete empfiehlt sich deshalb diese Methode.
Für die Portstree-Installation meldet man sich zunächst wieder am Raspberry an und wechselt zum Root-User. Danach holt man im Verzeichnis »/usr/
«
per FTP das Tar-File mit der Ports-Struktur:
# su root # cd /usr # fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz# tar -xzvf ports.tar.gz