Dreamlinux und seine Module

Aus LinuxUser 06/2009

Dreamlinux und seine Module

© sxc.hu

Modularer Traum

Dreamlinux glänzt durch ein vielfach gelobtes Design, hervorragende Multimedia-Fähigkeiten und vor allem durch einen modularen Systemaufbau. Ein Projektmitglied zeigt hier dessen Möglichkeiten auf.

README

Das modular aufgebaute Dreamlinux lässt sich mit Hilfe der integrierten Mkdistro-Tools im Handumdrehen für eigene Zwecke modifizieren und remastern.

Selten hat ein neuer Ansatz in der Linux-Welt derart eingeschlagen wie die Live-CD, die Klaus Knopper erstmals mit seinem Knoppix vorstellte. Allerdings waren die ersten Versionen von Knoppix etwas schwierig zu handhaben: Weder konnte das System nach einer Installation dauerhaft überzeugen, noch war es ohne Klimmzüge möglich, das Live-System dauerhaft zu verändern und an die eigenen Bedürfnisse anzupassen. Dies rief wiederum Projekte ins Leben, die sich die Entwicklung einfacher Werkzeuge für das Remastern auf die Fahnen schrieb. Dabei entwickelte sich in den letzten Jahren insbesondere der modulare Ansatz weiter, wie ihn Slax und Morphix verwenden.

Dreamlinux [1] folgte als installierbare Live-Distribution im Kielwasser von Morphix, wurde aber durch die konsequente Weiterentwicklung eigener Werkzeuge, eigener Routinen zur Hardware-Erkennung und einem gelungenen Design mit Version 3 eigenständig genug, um das modulare Konzept komplett mit eigenen Werkzeugen auf die Debian-Basis zurückzuführen. Seitdem setzt Dreamlinux auf Debian “Lenny” auf und verfügt damit über eine solide Basis und alle Vorzüge der stabilen Paketquellen. Hinzu kommen ein von Projektseite modifizierter Kernel mit umfassender Unterstützung für WLAN-Geräte sowie die Mkdistro-Tools zum Erzeugen eigener Varianten der Distribution aus den Modulen.

Module, Module

Verwendet Sie Dreamlinux als auf der Festplatte installiertes System, kratzen Sie sich womöglich erst einmal am Kopf und fragen sich: “Module? Was denn für Module?” Sehen Sie sich die Struktur einer Dreamlinux-Live-CD/DVD an, so finden Sie dort die drei Ordner /boot, /module und /xtras.

Unter /boot lagern die üblichen Einträge des Grub-Bootloaders. Die initrd.gz allerdings enthält bereits deutliche, Dreamlinux-spezifische Modifikationen. Dazu zählt beispielsweise der Aufruf der in Lua und Ruby geschriebenen Routinen zur Hardware-Erkennung sowie zur Anbindung der Module (“Flexiboost” ), die ansonsten nichts weiter wären als aufgeblähte Dokumente. Tatsächlich aber handelt es sich um installierte Programme, die mit Squashfx gepackt wurden. So nehmen sie nicht mehr Platz ein als die Installationspakete.

Im Ordner /modules finden sich die drei Unterverzeichnisse /apps, /base und /winman. Das basex-Modul im Ordner /base enthält den Kernel sowie alle anderen Betriebssystemkomponenten und bildet den Dreh- und Angelpunkt der Distribution. Wie der Name schon vermuten lässt, beinhaltet /winman den Fenstermanager, derzeit also entweder XFCE oder Gnome. Das Verzeichnis /apps schließlich sammelt alle anderen Programme – das reicht von Anwendungen wie OpenOffice bis hin zu den distributionseigenen Verwaltungs- und Remastering-Werkzeugen im Modul dreamstuff.

Der Ordner /xtras spielt derzeit eine eher untergeordnete Rolle und wird in Zukunft Verwendung finden – dazu später mehr.

Wozu Module?

Wie man sich nun schon zusammenreimen kann, handelt es sich bei Modulen um Pakete, die verschiedene Bestandteile der Distribution enthalten – mal als eigenständige Programmpakete, mal als Ansammlung verschiedener Einzelanwendungen. Einen ersten Überblick über die verfügbaren Module liefern die Dreamlinux-Homepage und das offizielle, internationale Forum [2]. Zeitnah zur Veröffentlichung dieses Artikels wird es auch begleitende Umstellungen im Wiki [3] geben, da es an der Dokumentation bisher mangelte.

Wozu dienen nun diese Module? Zunächst bieten sie die Möglichkeit, ein Live-System auf einem USB-Datenträger zu erstellen. Praktisch jede Distribution kennt inzwischen diesen Weg der Installation und erlaubt, ein Live-System mit Hilfe einer Erweiterung im laufenden Betrieb zu verändern. Bei Dreamlinux kopiert dazu der Persistentdream-Installer das Modulverzeichnis auf das Medium, installiert Grub im MBR und versieht das Ganze abschließend mit dem Aufs-Dateisystem, das Änderungen aufnimmt und in eine eigene Datei im Ordner /xtras umleitet. Auf diesem Weg lässt sich beispielsweise auch nach der Installation noch das Fenstermanager-Modul beliebig austauschen oder eine zusätzliche Anwendung wie OpenOffice 3 oder XBMC einfach in den Ordner /modules/apps ablegen. Als Quelle dazu dienen wahlweise eine Live-CD oder ein bereits installiertes Dreamlinux.

Abbildung 1: Schematische Darstellung der Flexiboost-Modulverwaltung von Dreamlinux.

Abbildung 1: Schematische Darstellung der Flexiboost-Modulverwaltung von Dreamlinux.

Mkdistro-Tools

Daneben offeriert Dreamlinux auch einen Weg, ohne den Umweg über einen USB-Stick eine ISO-Datei zu erstellen: Sie füllen einen Ordner mit der Grundstruktur, packen die gewünschten Module hinzu und rufen zu guter Letzt über sudo mkd_utilities.rb die Mkdistro-Tools auf.

Hier wählen Sie zunächst wandle ein Verzeichnis zu einem Grub .iso Abbild (Endung nicht nötig), legen dann das Ausgangs- sowie das Zielverzeichnis fest und geben dem Ganzen noch einen Namen, wie beispielsweise Mein_DL2009. Nach dem Durchlauf des Skripts brennen Sie die entstandene Eigenkompilation auf einen Datenträger. Alternativ verändern Sie einfach ein installiertes System und rufen Easy Remaster auf. Hie wählen Sie das Verzeichnis oder die Partition mit dem Betriebssystem sowie das Zielverzeichnis, vergeben noch einen Namen für das ISO und lassen des Remastering durchlaufen.

Nun haben Sie ein weitgehend modifiziertes System, das sich jederzeit auf einem beliebigen Computer installieren lässt. Wie aber erstellt man eigene Module? Vereinfacht gesagt: Sie nutzen die Mkdistro-Tools, um das zu verändernde System virtuell einzubinden, verändern es, räumen noch ein bisschen auf und lösen das modifizierte System hinterher wieder.

Im ersten Schritt rufen Sie über sudo mkd_dlmod.rb das Programm zum Erstellen einer Entwicklungsumgebung auf (Abbildung 2). Nun erstellen Sie ein “statisches” sowie ein “dynamisches” Verzeichnis, die Sie über den Schalter Mount Env einbinden. Das statische Verzeichnis stellt via Aufs die Module bereit, das dynamische fängt die neu installierten Programmpakete und Änderungen auf und protokolliert diese, wie in der persistenten Installation.

Abbildung 2: Der Weg zum eigenen Modul. Die Mkdistro-Tools führen Sie schrittweise durch die Erstellung eigener Module.

Abbildung 2: Der Weg zum eigenen Modul. Die Mkdistro-Tools führen Sie schrittweise durch die Erstellung eigener Module.

Im nächsten Schritt wählen Sie die benötigten Module aus, die sich dazu in einem Verzeichnis auf der Festplatte befinden müssen. Sie benötigen vor allem das basex-Modul, das das eigentliche Betriebssystem enthält. Möchten Sie Änderungen an anderen Modulen vornehmen, binden Sie auch diese ein. Nun beginnt nach einem Druck auf Chroot der wichtigste Teil der Arbeit.

Es öffnet sich ein Terminal-Fenster, das nun das eingebundene Modul als root zugänglich macht. Hier installieren und konfigurieren Sie nun wie auf jeder Debian-Installation per Kommandozeile. Zunächst starten Sie apt-get update und fügen dann Paketquellen hinzu, laden Installationsskripte herunter oder Ähnliches.

Als Beispiel für ein einzubindendes Programm soll hier Elisa dienen, ein Multimedia-Center, das sich zunehmender Beliebtheit erfreut. In den “Lenny”-Repositories findet es sich derzeit in Version 0.3.5 und lässt sich über ein simples apt-get install elisa samt aller benötigten Abhängigkeiten einrichten. Das komfortable an dieser Methode: Da Sie immer noch über eine grafische Oberfläche auf das Wirtssystem zugreifen, können Sie sich stets mit Informationen zur Benennung oder Konfiguration einzelner Programme Versorgen, was den Arbeitsfluss wesentlich erleichtert.

Haben Sie alles so eingerichtet, wie es Ihren Vorstellungen entspricht, geht es nun ans Aufräumen: Per apt-get clean löschen Sie die heruntergeladenen Pakete. Ein folgendes rm -f/var/cache/apt/*.bin entsorgt den Debian-Index, ein exit schließt die Chroot-Sitzung. Nun folgen Sie einfach den von der Entwicklungsumgebung vorgegebenen Schritten, lösen alle Einbindungen und leeren mit dem Schalter clean das statische Verzeichnis. Im dynamischen Ordner verbleiben nun die gemachten Änderungen.

Zurück auf dem Terminal rufen Sie über sudo mkd_utilities.rb das Programm zur Konvertierung von Verzeichnissen auf, wählen wandle Verzeichnis zu einer squashfs Datei (Endung nicht nötig), vergeben für diese Datei einen Namen sowie einen Speicherort und führen das ganze aus. Das neue Modul lässt sich nun einfach auf eine USB-Installation kopieren und steht dann im laufenden Betrieb zur Verfügung (Abbildung 3).

Abbildung 3: Nachdem man die Rechte der Ordner auf Schreiben gesetzt hat, kann man Module einfach austauschen oder hinzufügen: Flexiboost übernimmt den Rest.

Abbildung 3: Nachdem man die Rechte der Ordner auf Schreiben gesetzt hat, kann man Module einfach austauschen oder hinzufügen: Flexiboost übernimmt den Rest.

Ausblicke

Linux ist immer in Bewegung, so auch Dreamlinux. Viele anvisierte Neuerungen mussten beim aktuellen Release außen vor bleiben, da für den eigentlichen Code nur ein Entwickler verantwortlich zeichnet, der “nebenbei” auch ein reguläres Berufs- und Privatleben hat. Zudem wuchs mit den steigenden Platzierungen auf Distrowatch [4] auch der Erwartungsdruck, was die Abgabe einer vorzugsweise stabilen Desktop-Edition anstelle einer mit neuestem Entwickler-Spielzeug voll gestopften Version zur Folge hatte.

So befindet sich das Anbinden von Modulen im laufenden Betrieb schon länger im Konzeptstatus, wurde aber für die Neuentwicklung der USB-Installer zurückgestellt. Des weiteren diskutieren die Entwickler die der Skriptsprache vom veralteten Ruby 1.8 auf 1.9, um den Code besser managen zu können. Allerdings steht noch die Integration von GTK aus, weswegen eine Portierung der grafischen Oberflächen auf WxRuby, Lua-Gtk, Vala oder auf eine eigens entwickelte Schnittstelle angedacht ist. Auch bei den Modulen zeichnen sich einige Neuerungen ab: So wird es bald eine LXDE-Umgebung sowie ein auf Version 4.6 basierendes XFCE-Modul geben. Daneben arbeitet das Team an weiteren basex-Varianten, wie einer minimalen Installationsbasis für Server-Umgebungen ohne X, einer auf Netbooks ausgelegten Version sowie noch schlankeren Modulen für Embedded-Umgebungen.

Parallel lotet das Projekt Möglichkeiten der Zusammenarbeit mit anderen Projekten aus, wie zum Beispiel mit LinuxDNA [5], das den Kernel für den leistungsfähigen, aber proprietären Intel-Compiler ICC aufbereitet. Hier gilt es aber vorab, einige Lizenzfragen zu klären. Die Mitglieder des Projektes stehen derlei Dingen offen gegenüber, Dreamlinux steht ihnen in dieser Hinsicht als Spielwiese zur Verfügung. Allerdings soll der Hauptentwicklungszweig stets auf GNU basieren.

Die Entwicklung an Version 4 von Dreamlinux verlief weitgehend parallel zu 3.5 – mit dem Ziel, die ursprünglich für 2007 geplante Einführung von “Flexiboost” und dessen Management wieder in den Vordergrund zu stellen, mit der das gesamte System noch einfacher zu handhaben sein wird. Eine erste Beta könnte demnach schon diesen (Spät-) Sommer herauskommen, und es würde das Dreamlinux-Team (siehe Tabelle “Das Dreamlinux-Team”) freuen, wenn einige Leser dieses Artikels zum Testen und für Feedback hinzustoßen.

Das Dreamlinux-Team

Nickname Land Funktion
andluifercam Brasilien Moderator, globales Forum
andrefelipe Brasilien Grafikdesigner, Maintainer
borgio3 Italien Moderator, globales Forum
bruce Argentinien Moderator, globales Forum
chadfluegge USA Moderator, globales Forum
cyberm@rmotte Frankreich Moderator, globales Forum
djsroknrol USA Moderator, globales Forum
jessie USA Moderator, spanischsprachiges Forum
nelsongs Brasilien Software-Entwickler (Kernel, Apps, Skripte)
resa Niederlande Forenadministrator
richs-lxh Spanien Forenadministrator
ruudkuin Niederlande Grafik Designer
sgdreamer Singapur Moderator, globales Forum
silencegl Deutschland Moderator, globales Forum
shinobiteno Deutschland Moderator, russischsprachiges Forum
tinde Finnland Software-Entwickler (Kernel)
trekk Deutschland Moderator, globales Forum
Infos

[1] Dreamlinux: http://www.dreamlinux.com.br

[2] Dreamlinux-Foren: http://dreamlinuxforums.org

[3] Dreamlinux-Wiki: http://wiki.dreamlinuxforums.org

[4] Distrowatch: http://www.distrowatch.com

[5] LinuxDNA: http://www.linuxdna.com

LinuxUser 06/2009 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben