NetBSD: Läuft sogar auf Toastern

Do, 8. April 2021, Niklas

Mit NetBSD stelle ich heute die letzte grosse BSD Variante vor. Dabei war NetBSD eigentlich die erste BSD Abspaltung, die bis heute aktiv gepflegt wird. Das NetBSD Projekt wurde im Jahr 1993 als Fork von 386BSD, der ersten freien BSD Variante, gestartet.

Besonderen Wert legt NetBSD auf Portabilität. Das Betriebssystem wurde bereits auf 57 Hardware-Plattformen portiert. Darunter auch die gängige x86_64 Architektur oder auch ARM, wodurch das Betriebssystem beispielsweise auf dem Raspberry Pi oder anderen Single Board Computern eingesetzt werden kann.

Grund für die Abspaltung von 386BSD war dessen Entwicklungsgeschwindigkeit, die viele Entwickler zu langsam fanden. Ausserdem wollte man ein offeneres Entwicklungsmodell umsetzen. Der Name NetBSD kommt von der Rolle des Internets als wichtigstes Kommunikationsmittel bei der Entwicklung.

Version 0.8 war das erste offizielle Release. Seit Version 1.0 vom Oktober 1994 werden einige unterschiedliche Plattformen unterstützt. Über die Jahre wurde diese Unterstützung immer weiter ausgebaut, sodass nun einige veraltete und exotische Plattformen, wie auch viele neue unterstützt werden.

Bei NetBSD stammt der Kernel und ein grosser Teil des Userland aus einer Hand, wodurch sich ein gutes Zusammenspiel ergibt. Man legt grossen Wert darauf, dass sich das Betriebssystem auf jeder Architektur gleich verhält. Eine minimale NetBSD Installation kann unter 300 MB gross sein und bringt nur das Wichtigste mit. Alles Weitere kann hinterher mit pkg_add oder pkgin aus dem pkgsrc Repository hinzugefügt werden.

Der Quellcode von NetBSD ist in maschinenabhängige und maschinenunabhängige Teile aufgeteilt. Die maschinenunabhängigen Teile sind auf jeder Architektur gleich, die Maschinenabhängigen stellen die Verbindung zwischen maschinenunabhängigen Teilen und Hardware her. So ist die Portierung auf neue Architekturen schneller mit weniger Arbeitsaufwand machbar, da weniger Code angepasst werden muss.

Lange galt es in der NetBSD Community als Running Gag, dass das System sogar auf einem Toaster laufen könne, da es so leichtgewichtig und portabel ist. Dieser Scherz wurde im Jahr 2005 zur Realität, als die Firma Technologic Systems einen NetBSD Toaster herstellte. Damit wollte sie zeigen, wie gut NetBSD für Embedded-Anwendungen geeignet ist.

In meinem Praxistest hat sich NetBSD leider nicht ganz so portabel gezeigt: Es verweigerte auf meinem Testlaptop, einem Lenovo 3000 N200, direkt den Start. Aus der kryptischen Fehlermeldung konnte ich keinen Grund dafür ableiten, vermute aber, dass vielleicht irgendwelche Treiber gefehlt haben.

Das habe ich direkt zum Anlass genommen, um es auf einem alten Raspberry Pi 3 auszuprobieren, schliesslich wird der ja auch offiziell unterstützt. Und das ging erstaunlich einfach: Image herunterladen, mit dd auf die SD-Karte schreiben, starten und ganz normal benutzen, genauso wie das mit Arch Linux ARM auch läuft. Hier konnte NetBSD direkt überzeugen.

Bei dem Image, das ich verwendet habe, funktionierte der eingebaute WLAN-Chip nicht. Mit einem WLAN USB-Stick, mit dem ich bereits auf Linux gute Erfahrungen gemacht habe, hat es jedoch auf Anhieb funktioniert. Um die WLAN-Zugangsdaten zu hinterlegen, mussten ein paar Konfigurationsdateien bearbeitet werden.

Das X Window System ist bereits vorinstalliert und kann mit startx gestartet werden, allerdings ist eine vollwertige Desktopumgebung auch hier, genauso wie bei OpenBSD, nicht vorhanden, sondern lediglich der Window Manager ctwm. In der ARM Variante konnte ich auch keine finden. Das Tutorial von NetBSD mit Xfce als Beispiel funktionierte nicht.

Ich habe dann alle verfügbaren Xfce Pakete einzeln installiert. Auch wenn der Desktop (xfdesktop) und der Session Manager (xfce4-session) nicht verfügbar sind, konnte ich mit dem xfwm4 Window Manager und dem xfce4-panel eine halbwegs funktionsfähige Desktopumgebung zaubern.

Als Browser habe ich mich für NetSurf entschieden. Die Alternative wäre Dillo gewesen, an dem zuletzt im Jahr 2016 grössere Aktualisierungen stattgefunden haben. Bekanntere Browser wie Firefox, GNOME Web oder Chromium sind in der ARM Variante nicht als Binärpaket verfügbar. Eventuell wäre es möglich gewesen, diese selbst zu kompilieren, aber das würde den Rahmen des Tests erheblich sprengen.

Fazit: Zumindest in der ARM Variante sehe ich NetBSD mehr als Bastel-OS, bei dem einige Teile schon richtig gut funktionieren, aber noch zu viel Software fehlt, als dass ich es für die alltäglichen Aufgaben benutzen könnte. Irgendwie hätte ich ja schon Lust, mich weiter damit zu beschäftigen, aber ich weiss, dass das viel mehr Zeit beanspruchen würde, als mir zur Verfügung steht.

Für die Nerds und Bastler unter euch, ist meine Empfehlung aber klar: Grabt euren alten Raspberry Pi 3 wieder aus oder kauft euch einen und spielt mit NetBSD. Ich würde mich über Kommentaren mit Screenshots freuen, auf denen NetBSD mit voll funktionsfähiger Desktopumgebung oder sogar einem zeitgemässen Browser zu sehen ist.

Eine Übersicht der Downloads für die verschiedenen Architekturen ist auf der offiziellen Webseite des Projekts zu finden.

Quellen:

Es wurden noch keine Kommentare verfasst, sei der erste!