Schlagwort: Void Linux

  • Experimentell: Chimera Linux

    Chimera Linux ist eine Linux-Distribution mit ambitionierten Zielen, vor allem, da es ein Ein-Mann-Projekt ist. Das wird etwas relativiert, da Entwickler Daniel Kolesa bekannt ist für seine Entwicklungstätigkeit bei Void Linux, insbesondere deren POWER/PowerPC-Port.

    Linux-Kernel. BSD-Userland und LLVM

    Ziel von Chimera Linux ist eine Distribution, die vollständig mit LLVM gebaut ist und neben dem Linux-Kernel ein FreeBSD-Userland verwendet. Dabei geht es hauptsächlich darum, GNU-Tools durch BSD-Tools zu ersetzen. Binärpakete und ein gut durchdachtes Quellcode-Build-System sind weitere Ziele. Als Init-System soll dinit zum Einsatz kommen. Statt der Standard-C-Bibliothek glibc wird musl verwendet.

    Das Projekt ist in einem recht frühen Stadium, das System muss noch per Bootstrap erstellt werden. Dazu kann die musl-Variante von Void-Linux oder jede andere auf musl basierte Distribution verwendet werden. Das bereits komplett mit LLVM und Clang gebaute System booted zwar, ist aber noch fehleranfällig und bringt bisher nur wenige Anwendungen mit.

    Neues Quellcode-Paketierungssystem

    Chimera verfügt über ein Quellcode-Paketierungssystem, das nicht wie üblich in Shell geschrieben ist, sondern in Python. Dies reduziert laut Kolesa den Overhead des Build-Systems auf ein Minimum. Die Builds sind containerisiert, wobei ein minimales Chimera-System als Build-Umgebung für jedes Paket verwendet wird. Dieses System ist mit Bubblewrap in einer Sandbox untergebracht und läuft völlig unprivilegiert. Zum Bau der Binärpakete werden wegen ihrer Geschwindigkeit die bei Alpine Linux entwickelten apk-tools verwendet.

    Offen für andere Architekturen

    Das Build-System hat volle Unterstützung für Cross-Compiling, es ist laut der Webseite nicht weiter aufwendig, CPU-Architekturen wie ppc64le, aarch64, x86_64, riscv64 und ppc64 zu bedienen. Ein interessantes Projekt, dass ich auf jeden Fall im Auge behalten werde. Chimera Linux ist nicht zu verwechseln mit dem ehemaligen GamerOS, das sich kürzlich zu ChimeraOS umbenannt hat.

  • Void Linux kehrt LibreSSL den Rücken und zu OpenSSL zurück

    Einige Distributionen sind 2014 nach der Heartbleed getauften Sicherheitslücke, einem schwerwiegenden Fehler in der TLS-Implementation von OpenSSL, zu LibreSSL gewechselt, einer freien Implementierung des Verschlüsselungsprotokolls TLS. Void Linux wechselt nun am 5. März zurück zu OpenSSL, wie den News auf der Webseite des Projekts zu entnehmen ist.

    250.000 Zeilen leichter

    OpenSSL stellt die Basis für eine Reihe wichtiger kryptografischer Funktionen zur Verfügung, es bietet TLS- und SSL-Implementierungen und eine Reihe von Dienstprogrammen für Funktionen wie Schlüsselerzeugung und Signierung. LibreSSL entstand im Nachgang von Heartbeat im OpenBSD-Team um Theo de Raadt und sollte das komplexe OpenSSL entschlacken. LibreSSL war zwar als API-kompatibel zu OpenSSL ausgelegt, ist es aber derzeit nicht vollständig. Für den Fork wurden um fast 250.000 Zeilen Code entfernt.

    Wenig Adaption unter Linux

    Neben BSD-Projekten setzten auch einige Linux-Distributionen wie Alpine Linux, Hyperbola GNU/Linux und Void Linux LibreSSL als Ersatz für OpenSSL ein, Gentoo bot es als Alternative an. Alpine wechselte 2019 zurück zu OpenSSL, Gentoo hat im Februar die Unterstützung für LibreSSL aufgegeben. Somit ist Void Linux das dritte Projekt, dass sich wieder von den Fork abwendet.

    Mehrarbeit nicht zu rechtfertigen

    Als Grund für den Schritt zurück wird allgemein der hohe Pflegeaufwand genannt, der nicht ausreichend durch Vorteile gegenüber OpenSSL gerechtfertigt werden könne. Der Journalist und Sicherheitsexperte Hanno Böck, der auch als Gentoo-Entwickler tätig ist, drückt es so aus:

    Ich glaube, dass so ziemlich alles, was LibreSSL ursprünglich war (konsistenter Kodierungsstil, Aufräumen von veraltetem/totem Code usw.), heutzutage in OpenSSL passiert ist. Es ist eher so, dass es einen Mythos um LibreSSL aus diesen frühen Tagen gibt (wo die Leute dahinter damals berechtigte Kritik an OpenSSL geäußert haben), als irgendeinen wirklichen Wert.

    Python will LibreSSL nicht mehr unterstützen

    Die Void-Entwickler kommen nun ebenfalls zu der Erkenntnis, das LibreSSL die Mehrarbeit durch die vielen notwendigen Patches nicht rechtfertigt und kehren zu OpenSSL zurück. Als Beispiele werden die Qt5- und die kommende Qt6-Implementierung bei Void ebenso angeführt wie Probleme bei Python, das in Betracht zieht, die LibreSSL-Unterstützung gänzlich einzustellen. Ein Vorschlag, künftig nur noch OpenSSL 1.1.1 LTS oder neuer zu unterstützen wurde im Oktober 2020 in PEP 644 formuliert.

    Der Letzte macht das Licht aus

    Ein Vorteil von LibreSSL ist laut den Void-Entwicklern die Bibliothek libtls, die OpenSSL nicht unterstützt. Hier will Void eine eigenständige Version erarbeiten. Mit dem Schritt von Void Linux zurück zu OpenSSL scheint die Unterstützung von LibreSSL unter Linux der Vergangenheit anzugehören, denn der vorletzte Vertreter Hyperbola wendet sich gänzlich von Linux ab und basiert bald völlig auf OpenBSD. Es verbleibt lediglich OpenELEC. Die Situation von LibreSSL in Linux wird detailliert von einem Artikel auf LWN zusammengefasst.

  • Trident: von BSD zu Linux

    Trident

    Selten bis nie kommt es vor, dass eine komplette Distribution vom BSD-Lager nach Linux wechselt. Beim Projekt Trident ist genau das passiert. Daraus entsteht gerade eine, wie ich finde, sehr spannende Distribution. Gerade ist mit Trident Void Linux 20.02 die erste stabile Version erschienen.

    Namenskarussell

    Die Geschichte hinter dem Wechsel von Project Trident von FreeBSD zu Void Linux bedarf ein wenig der Erläuterung. Die Geschichte beginnt mit PC-BSD, ein von der Firma iXsystems unterstütztes Projekt, das zum Ziel hatte, FreeBSD besser für den Desktop nutzbar zu machen. iXsystems pflegte bereits eine Server-Variante von PC-BSD unter dem Namen TrueOS und benannte dann die Desktop-Variante ebenso.

    Void Linux als Unterbau


    Im Sommer 2018 übernahm das dafür gegründete Project Trident die Desktop-Variante, während TrueOS sich darauf konzentrierte, als Basis für andere Projekte zu dienen. Trident entschied sich, Lumina als Desktop beizubehalten. Im Herbst letzten Jahres verkündeten die Entwickler dann, sich von FreeBSD als Basis zu verabschieden und künftig auf Void Linux aufzubauen. Als Hauptgrund wurde die bessere Hardwareunterstützung genannt.

    Klein, aber fein

    Void Linux ist eine kleine feine Distribution, die von Grund auf gebaut wird. Sie kommt ohne Systemd aus und verwendet stattdessen das schlanke Init-System Runit. Das eigene Paketsystem Xbps, das ursprünglich zur Gründung von Void führte, indem NetBSD-Maintainer Juan Romero Pardines eine Testumgebung für den von ihm geschriebenen Paketmanager erstellte, agiert gefühlt mit Lichtgeschwindigkeit.

    Interessante Zutaten

    Es beherrscht neben dem Paketmanagement aber noch mehr: Es ist gleichzeitig auch das Buildsystem, mit dem die Void-Entwickler alle Pakete der Distribution erstellen. Derzeit liegt der von XBPS verwaltete Paketbestand bei Void für die x86-Plattform bei über 8.250 Paketen, die ARM-Varianten bieten jeweils über 5.000 Pakete an. Damit nicht genug stellt Void auch Pakete für die Glibc-Alternative Musl bereit und verwendet LibreSSL anstelle von OpenSSL. Ausführliche Artikel zu Void Linux und Xbps habe ich im LinuxUser veröffentlicht.

    ZFS als Sahnehäubchen

    Diese Eigenschaften erntet nun Trident und setzt dazu noch ZFS on Root obendrauf. Für Desktop-Anwender dürften die Snapshots die interessanteste Funktionalität von ZFS sein. Bei Trident ist ZFS so integriert, dass vor jedem Update der Distribution ein Snapshot erstellt wird, der im Bootmanager später zur Auswahl steht. Natürlich können auch manuell Snapshots erstellt werden.

    Snapshots standardmäßig

    Voraussetzung für bootbare Snapshots ist die Installation unter UEFI. Ohnedem funktioniert zudem die Verschlüsselung nicht, die bei Trident Standard ist. Den Lumina-Desktop hat Trident von BSD mitgebracht. Der eher spartanische Desktop ist bestimmt nicht jedermanns Sache. Muss er auch nicht, denn weitere Desktops sind schnell nachinstalliert.

    Kein Live-Abbild

    Trident steht noch am Anfang und der Umstieg von BSD auf Linux als Unterbau brachte einige ganz eigene Herausforderungen mit sich. Deshalb knirscht es noch an einigen Stellen, es gibt aber für alles Workarounds. So müssen etwa USB-Sticks derzeit per Mount-Befehl eingebunden werden.

    Trident gibt es derzeit nicht als Live-Abbild. Wer vorab testen möchte und dazu VirtualBox verwendet, muss als Grafiktreiber VBoxSVGA auswählen, denn sonst bleibt der Bildschirm dunkel. Hilfestellung gibt es im Telegram-Channel Project Trident.

  • Neues bei BSD – ein Blick über den Tellerrand

    BSD-Trademark | Lizenz: Public Domain

    In den letzten Tagen gab es Neuigkeiten von zwei BSD-Distributionen zu berichten, von denen eine BSD Richtung Linux verließ und die andere neu vorgestellt wurde.

    Namenskarussel

    Die Geschichte hinter dem Wechsel von Project Trident von FreeBSD zu Void Linux bedarf ein wenig der Erläuterung. Die Geschichte beginnt mit PC-BSD, ein von der Firma iXsystems unterstütztes Projekt, das zum Ziel hatte, FreeBSD besser für den Desktop nutzbar zu machen. iXsystems pflegte bereits eine Server-Variante von PC-BSD unter dem Namen TrueOS und benannte dann die Desktop-Variante ebenso.

    Void Linux als Unterbau

    Im Sommer 2018 übernahm Project Trident die Desktop-Variante, während TrueOS sich darauf konzentrierte, als Basis für andere Projekte zu dienen. Trident entschied sich, Lumina als Desktop beizubehalten. Vor wenigen Wochen dann verkündeten die Entwickler, sich von FreeBSD als Basis zu verabschieden und künftig auf Void Linux aufzubauen. Eine interessante Wahl, wie ich finde.

    Erste Alpha-Version

    Jetzt stellt Project Trident eine erste Alpha-Version auf der Basis von Void Linux bereit. Es handelt sich um ein Image von Void Linux mit einer kompletten ZFS-on-Root-Integration und Lumina als Desktop. Der Systemstart endet derzeit noch im Terminal, von wo der Befehl start-lumina-desktop in die grafische Umgebung führt. Ich werde Trident auf dieser Basis ausführlich testen und weiter berichten, was sich dort entwickelt.

    FuryBSD mit ZFS und Xfce

    Während Trident auf der Basis von FreeBSD künftig nicht mehr verfügbar ist, gibt es eine neue Distribution, die wiederum auf FreeBSD baut. FuryBSD ist ein neuer quelloffener FreeBSD-Desktop. FuryBSD bedient sich für den Desktop bei Linux und liefert Xfce als grafischer Oberfläche aus. Wie bei BSD üblich, kommt auch hier ZFS als Dateisystem zum Einsatz. Auch ein spannendes Projekt.

  • Void Linux stellt frische Images bereit

     

    Void Linux
    Bild: Void Linux Logo | Quelle: Void Linux | Lizenz: Public Domain

    Void Linux ist eine von Grund auf gebaute Distribution nach dem »Rolling Release«-Prinzip, die einiges anders macht als das Gros der Distributionen. Der Fokus der Distribution liegt auf Leichtgewichtigkeit. Void Linux bietet Zuflucht für Linuxer, die gerne ohne Systemd auskommen würden, den die Distribution setzt auf Runit als Init-System. Runit ist schlank und kümmert sich im Gegensatz zu Systemd nur um den Systemstart, die Verwaltung und das Beenden der Prozesse.

    Agile Paketverwaltung

    Auch bei der Paketverwaltung geht Void eigene Wege und setzt auf das hauseigene XBPS, das ursprünglich zur Gründung von Void führte, indem NetBSD-Maintainer Juan Romero Pardines eine Testumgebung für den von ihm geschriebenen Paketmanager erstellte. XBPS, das sehr flott unterwegs ist, beherrscht neben dem Paketmanagement aber noch mehr: Es ist gleichzeitig auch das Buildsystem, mit dem die Void-Entwickler alle Pakete der Distribution erstellen. Derzeit liegt der von XBPS verwaltete Paketbestand bei Void für die x86-Plattform bei über 8.250 Paketen, die ARM-Varianten bieten jeweils über 5.000 Pakete an. Damit nicht genug stellt Void auch Pakete für die Glibc-Alternative Musl bereit und verwendet LibreSSL anstelle von OpenSSL.

    Frische Images

    Jetzt stellt das Projekt frische Images bereit und davon eine ganze Menge. Unter der Bezeichnung »Void 20181111« werden neben einem Basis-Image die Desktops Cinnamon, Enlightenment, Lxde, LXQt, Mate und Xfce für x86 und x86_64 jeweils in Versionen mit Glibc oder Musl angeboten. Zudem werden ARMv6 und Armv7 für die Platinenrechner BeagleBone, BeagleBone Black, Cubieboard 2, Odroid U2 und U3 sowie für  Raspberry Pi sowie  Raspberry Pi 2 und 3 unterstützt. Ein weiteres Image unterstützt das freie USB-Stick-Projekt USBArmory unterstützt.

    Images für die x86-Plattform sind als Live-Medien mit Installer ausgelegt und auf der Downloadseite des Projekts auch als Musl-Version ebenso verfügbar wie Tar-Archive für die ARM-Plattform. Bei den ARM-Varianten liegt zusätzlich jeweils ein RootFS-Abbild vor, aus dem man das Image nach eigenen Vorstellungen anpassen kann.