Wie Trisquel erstellt wird
Trisquel ist eine vollständig freie GNU/Linux Distribution. Seit der Version 2.x basiert sie auf Ubuntu. Der Vorgang, um Trisquel zu erstellen, beginnt mit dem Aufsetzen eines Spiegelservers von Ubuntu und seiner anschließenden Reinigung. Wir aktualisieren den Spiegelserver jede Nacht mit Reprepro und einigen Cron-Skripten und reinigen ihn dann mittels einer Schwarzen Liste von unfreien Paketen.
Die daraus resultierenden Paketquellen werden dann als echter Upstream für den Entwicklungsspiegelserver von Trisquel verwendet, der auch Ersatz für entfernte Pakete beinhaltet (wie dem Kernel oder Teile, die ein Rebranden erfordern) und einer Sammlung von Paketen, welche die Distro verschönern und Illustrationen, Konfigurationsdateien und Metapakete umfassen.
Um das System zu aktualisieren müssen wir den devel-Spiegelserver mit dem befreiten Ubuntu-Spiegelserver synchronisieren. Danach untersuchen wir, ob die Änderungen funktionieren indem wir unsere eigenen Computer aktualisieren. Darauf rsyncen wir den Entwicklungsspiegelserver mit dem offiziellen Spiegelserver bei http://archive.trisquel.info.
Unsere Pakete
Wir inkludieren unsere eigenen Änderungen in einigen Paketen; genauere Informationen dazu finden sich auf der Paket-Helfer-Seite.Erstellen eines ISO-Images
Trisquel wird mittels Debootstrap unter Verwendung eines Skriptes erstellt das auch ein Metapaket mit seinen Abhängigkeiten installiert (um jede Version der Distro zu erstellen), es in ein Squashfs-Image komprimiert und das .iso durch Isolinux erstellt. Das Skript nimmt auch einige Änderungen im debootstrap-Verzeichnis vor, damit es auch in einer Live-Umgebung lauffähig ist.Das Makedistro-Skript erstellt auch eine Sammlung von Quellcode-DVDs.
Ein völlig freier Kernel
Trisquel verwendet nicht den Standard-Linux-Kernel, den man auf den Linux-Projekt-Servern finden kann, sondern eine gereinigte Version der Ubuntu-Version des Kernels. Beide Upstream-Versionen beinhalten unfreie rein binäre Firmware-Dateien und auch eine Menge an binären Blobs (binary blobs) in .c- und .h-Dateien in Form einer langen Folge von Zahlen. Um den Anwendern einen völlig freien Kernel sicherzustellen verwenden wir eine Sammlung von Skripten, die auf Linux-libre basieren, mit einigen eigenen Änderungen.Wir beginnen mit einem Kernel der Ubuntu-Paketquellen (und nicht der neuesten Standard-Linux-Kernel, um die Kompatibilität mit dem Rest des Systems sicherzustellen) und inkludieren die von Ubuntu angefertigten Änderungen in Form eines 'rießigen Patches. Dann wenden wir das Linux-libre-Deblob-Skript auf die entsprechende Version an und als letzten Schritt ein angepasstes, auch auf älteren Kernels anwendbares neuestes Linux-libre-Skript. Dieser Schritt überprüft den Code auf zwei Arten und fügt auch die neuesten Linux-libre-Fatures zum Paket hinzu.
Als Ergebnis dieses Prozesses entfernen wir nicht nur die unfreien Blobs, sondern wir stellen auch sicher, dass kein Teil des Kernels ein unfreies Programm benötigt um zu funktionieren. Wir verwenden auch die neuesten Kontrollskripte von Linux-libre um das Reinigen der Ubuntu-Änderungen sicherzustellen (was die Linux-libre-Deblob-Skripte nicht vermögen). Dies erfordert sehr häufig das Untersuchen auf falsche Positive wie Datentabellen, die eine lange Liste von Zahlen umfassen und das Hinzufügen von zusätzlichen Reinigungsprozessen zu den Deblob-Skripten, wenn echte Positive entdeckt werden.
Anhang | Größe |
---|---|
workflow-compressed.png | 55.64 KB |