Das T2 System Development Environment (kurz: T2 SDE, [1]) macht es jedem möglich, sich ein persönliches Linux-System zu bauen – ohne Overhead durch Brandings oder sonstigen Schnickschnack, der zu Einbußen bei Flexibilität, Übersichtlichkeit oder Geschwindigkeit führen würde. Dabei fokussiert T2 hauptsächlich auf Benutzer mit Unix-Grundkenntnissen, die Wert auf ein transparentes, gut durchdachtes und leicht anpassbares Linux-System legen. Die Verwendung beschränkt sich aber nicht auf erfahrene Benutzer, denn die resultierenden Systeme lassen sich ohne Probleme von normalen Endanwendern einsetzen..
Das T2-Framework besteht aus einem automatisierten Build-System und enthält zahlreiche Architektur- und Target-Definitionen sowie etwa 3000 Paketbeschreibungen, von denen derzeit knapp die Hälfte cross-kompilierfähig sind. Es erlaubt, automatisiert Linux-Systeme zu erstellen – vom kompletten Desktop mit einer reichen Auswahl an Applikationen über hochsichere spezialisierte Server bis hin zu eingebetteten Systemen mit minimalem Ressourcenverbrauch (siehe Kasten "Umfangreiche Möglichkeiten"). Um T2 zu übersetzen, benötigen Sie keine T2-Installation: T2 lässt sich auf jedem gängigen Linux-System kompilieren.
Umfangreiche Möglichkeiten
Durch kontinuierliche Arbeit hat sich in den vergangenen Jahren bei T2 sehr viel im Hinblick auf Hardware-Unterstützung, Cross-Kompilation, Targets und Pakete getan. So unterstützt das Framework mittlerweile viele unterschiedlichen CPU-Architekturen, darunter Alpha AXP, ARM, AVR32, Blackfin, Etrax Cris, HPPA, Motorola 68k, Mips, Mips64, Power-PC, Power-PC64, Sparc, UltraSparc, SuperH, IA-32 und IA-64/AMD64. Die Ausgabeformate glänzen durch verbesserte Mechanismen für Live- und Installer-Medien sowie ROM und Netzwerk-Boot-Images. Zahlreiche neue Pakete kamen hinzu, sodass die persönlichen Lieblings-Tools nur selten fehlen.
Durch die Möglichkeit der Cross-Kompilation lässt sich T2 noch flexibler einsetzen und beschleunigt den Entwicklungsprozess besonders für leistungsärmere, eingebettete Prozessoren deutlich. Auch die Implementierung der Cross-Kompilation haben die Entwickler gründlich überarbeitet, sodass sich jetzt noch mehr Pakete für Embedded-CPUs auf normalen PC-Workstations übersetzen lassen. Arbeitet man andererseits nativ auf dem Zielsystem, kann man den gesamten T2-Paketpool ausnutzen.
Bei T2 ist man stets bemüht, das Build-System so modular und transparent wie möglich zu halten. Aus diesem Grund modifiziert das Projekt die Pakete in T2 auch nur in Ausnahmefällen – etwa um die problemfreie Übersetzung zu ermöglichen, Fehler zu beheben oder Sicherheitslöcher zu beseitigen. Dadurch erhält der Benutzer die Pakete in der Form, wie die ursprünglichen Autoren es beabsichtigten, und kann die Programme mithilfe der originalen Konfigurationsdateien individuell einrichten, ohne dass distributionsspezifische Konfigurationsprogramme dazwischenfunken.
Architektur
T2 SDE wurde mit dem Ziel entwickelt, damit möglichst schnell flexible, modulare und stabile Systeme automatisiert zu erstellen. Dank des automatisierten T2-Build-Systems konfiguriert man komfortabel und unkompliziert individuell angepasste Systeme und baut sie anschließend für das gewünschte Zielformat als Installations-CD, Live-CD, USB-Medium oder auch nur als Binärpakete.
Eine der Hauptkomponenten in der T2-SDE-Architektur stellt das in Form von Shellskripten realisierte Build-System dar, auf das wiederum Subkomponenten wie CPU-Architektur-, Target- und Paketbeschreibungen aufsetzen. Dabei analysiert T2 die Paket-Meta-Informationen und Konfigurationsdateien für den Build-Prozess, erzeugt eine Sandbox-Umgebung und konfiguriert die Programm-Wrapper konfiguriert. Der Benutzer kann den gesamte Ablauf mit weiteren Optionen steuern.
Die im Verzeichnis target/ lagernden Zielbeschreibungen erlauben es, sämtliche T2-Konfigurationen wie etwa die CPU-Architektur des Ziels und die Paketauswahl vorzugeben. Ein T2-Target kann in jeder beliebigen Stelle im Build Prozess eingreifen und auch Pakete patchen. Auf diese Weise erstellt man bequem eigene, bei Bedarf entsprechend gebrandete Linux-Versionen. Dabei muss man nicht zwangsläufig ein gesamtes System von Grund auf neu übersetzen: Wer mag, setzt alternativ auf einer offiziellen, vorkompilierten Minimal- oder Desktop-CD auf.
Installations-CD übersetzen
Um ein T2-Linux-Komplettsystem zu erzeugen, benötigen Sie lediglich das T2-SDE-Build-System, das Sie auf einer beliebigen Linux-Spielart – etwa Suse, Debian oder Fedora – aufsetzen. Der Kasten "T2-SDE-Versionen" erläutert die verschiedenen zur Auswahl stehenden Versionen und deren Bezugsquellen. Für den Bau eines aktuellen Linux-Systems für einen PC empfiehlt sich der Einsatz von T2 SDE 7.0, das Sie als Tarball von der Projekt-Website beziehen und in ein beliebiges Verzeichnis entpacken.
T2-SDE-Versionen
Release-Tarballs von T2-SDE finden Sie unter http://dl.exactcode.de/t2/, wobei drei Varianten mit verschiedenen Toolchains zur Auswahl stehen:
- die aktuellste Release 7.0 (2007) verwendet GCC 4.2 und Glibc 2.6,
- die 2006 freigegebene Version 6.0 nutzt GCC 4.1 und GLibc 2.4 (2.3.90),
- die Version 2.1 aus dem Jahr 2005 schließlich setzt auf GCC 3.4 und Glibc 2.3.
Diese stabilen Serien stellt das T2-Projekt alternativ auch als Subversion-Zweig zur Verfügung, den Sie über folgenden Befehl abrufen:
$ svn co http://svn.exactcode.de/t2/branches/7.0 t2-7.0
Experimentierfreudige Entwickler und Anwender, die die allerneusten Pakete und T2-Funktionen ausnutzen möchten, können stattdessen auch den Entwicklungs-Trunk verwenden:
svn co http://svn.exactcode.de/t2/trunk t2-trunk
Dabei ist jedoch Vorsicht geboten: Bei größeren Versionssprüngen oder durch neue Funktionen kann es vorkommen, das sich ein gewisser Prozentsatz der Pakete im Entwicklerzweig nicht fehlerfrei übersetzen lässt.
Dann wechseln Sie in das T2-Verzeichnis und rufen über ./scripts/Config das T2-Konfigurationsmenü auf. Dort nehmen Sie komfortabel die gewünschten Einstellungen vor (Abbildung 1). Hier haben Sie verschiedene vordefinierte Zielbeschreibungen, Image-Formate und Architekturen zur Auswahl, um sich ein persönliches T2-Linux-System zu konfigurieren.
Nachdem Sie die Einstellungen am Konfigurationsmenü abgeschlossen haben, bauen Sie mittels des Aufrufs ./scripts/Build-Target Ihr neues T2-System. Dabei lädt T2 während des Build-Prozesses alle benötigten Pakete herunter und kompiliert daraus das Zielsystem vollautomatisch. Dieser Vorgang dauert dann je nach Paketauswahl und Rechenleistung einige Stunden oder sogar Tage und sollte in stabilen T2-Versionen tendenziell fehlerfrei durchlaufen. Steht für den Build-Prozess keine permanente Internetanbindung zur Verfügung, laden Sie alternativ bereits vorab alle benötigten Pakete mit dem Befehl ./scripts/Download -required herunter.
Um zu guter Letzt noch für eine Installations- oder Live-CD/DVD das ISO-Image zu erstellten, rufen Sie ./scripts/Create-ISO Mein_T2
auf. Anschließend finden Sie das ISO unter dem Namen Mein_T2
_cd1.iso im Unterverzeichnis iso/.
Möchten Sie verschiedene Varianten von T2 übersetzen, dann übergeben Sie allen zuvor genannten Skripten dazu mit der Option -cfg unterschiedliche Konfigurationsnamen.
T2 erstellt das neue System im Verzeichnis build/, in das man auch direkt mit chroot build/... hineinwechseln oder es auf eine neue Partition kopieren und booten kann. Das sollten jedoch nur erfahrenen Linux-Anwender anpacken – am besten installieren Sie das resultierende System ganz normal.



