- T2 SDE
-
T2 ist eine flexible quelloffene System-Entwicklungsumgebung (System Development Environment, kurz SDE), die es erlaubt, automatisch angepasste Betriebssysteme mit neuen Technologien und Komponenten zu erstellen. Es wird oft auch als Distributionsbaukasten denn als übliche Linuxdistribution bezeichnet, da es durch die eigenen Automatismen zum Erstellen angepasster Systeme hervorstechen möchte und zudem über Linux hinaus an der Integration von Hurd-, Minix- und BSD-Kerneln arbeitet.
Inhaltsverzeichnis
Geschichtliches
T2 begann als eine Abspaltung von ROCK Linux um eine dezentralere Entwicklung und professionelle Basis für industrielle Anwendungen zu bieten. T2 war dabei der interne Projektname für „try two“ (second try), zu Deutsch also „zweiter Versuch“ und „technology two“, auf Deutsch etwa „zweite Technologie [-Generation]“.
Projektaufbau
T2 ist weniger eine weitere Linux-Distribution, sondern mehr ein flexibler Baukasten, mit dem sich angepasste linuxbasierte Systeme erstellen lassen. Die Bandbreite reicht von eingebettete Systeme mit kleinem Speicherverbrauch, hochsicheren, spezialisierten Servern oder kompletten Desktop-Systemen.[2]
Durch die offene unter der GNU General Public License stehende Softwareumgebung können sich sowohl Privatanwender als auch Firmen gleichermaßen einbringen. Die von der Gemeinschaft getragene Entwicklung sorgt für eine schnelle Weiterentwicklung des Systems – dabei werden stetig neue Erweiterungen und Pakete zu T2 beigesteuert. Auch industrielle Projekte profitieren von der ständig wachsenden Nutzerzahl, indem sie Zugriff auf die dort gebündelten Ressourcen und Verbesserungen erhalten.
Ausrichtung an Standards
T2 verfolgt die Philosophie möglichst nur originalbelassene Programmpakete zu verwenden, distributionsspezifische Modifikationen zu vermeiden und möglichst standardkompatibel zu sein. T2 folgt daher dem Filesystem Hierarchy Standard und der Linux Standard Base. Die Konfigurationen sind mit Schwerpunkt auf Sicherheit angelegt. Indem möglichst wenig Annahmen über althergebrachte Unixeigenschaften gemacht werden, sollen hinderliche Anachronismen vermieden werden.
Das Build-System
T2 besitzt ein automatisiertes Build-System, das den gesamten Prozess der Übersetzung durchführt. Zuerst wird eine Toolchain erstellt, um alle Pakete in einer Sandbox zu bauen, in der wiederum der Inhalt der zu installierenden Pakete geprüft und die zum Bauen notwendigen Vorbedingungen ermittelt werden. Erzeugte Dateien und Abhängigkeiten werden protokolliert. Cross-Builds zwischen verschiedenen Rechnerarchitekturen sind ebenfalls möglich. Zusätzlich werden regelmäßig automatische Regressionstest mit Cross-Builds zu den unterstützten Rechnerarchitekturen durchgeführt und somit der Status der einzelnen Pakete ermittelt.
Das T2-Framework ermöglicht es dabei individuelle Zielsysteme zu definieren, unter anderem durch Auswahl von Paketen und der C-Bibliothek, Anpassung von Konfigurationen und vielem mehr. Das Buildsystem kombiniert all diese Definitionen und kontrolliert den Übersetzungsprozess. Abhängigkeiten können dabei komfortabel aufgelöst werden. Der Entwickler erhält mittels generische Mechanismen zur Transformation von Compiler-Optionen, Bestimmung von Dateinamen und Eingriffsmöglichkeiten in den Programmablauf des Buildsystems die volle Kontrolle über das erstellte System. Wahlweise lassen sich installierbare CD-Abbilder und ROM-Speicherabbilder erstellen oder übersetzte Pakete via Netzwerk weiterverteilen.
Aufgrund der ungepatchten Quellpakete und des automatisierten Build-Systems ist T2 sehr portabel. Zu den bereits unterstützten Architekturen gehören ARM, Alpha, AVR32, Blackfin, HPPA, IA-64, MIPS, MIPS64, PowerPC, PowerPC64, SPARC, UltraSPARC, SuperH, x86 und x86-64. Das SDE lässt sich vom Anwender einfach um andere Zielarchitekturen erweitern.[3]
T2 will daher aufgrund der breiten Prozessorunterstützung und seinem flexiblem Buildsystem auch eine interessante Entwicklungsumgebung für eingebettete Systeme darstellen. Bei der Produktentwicklung entstehen dadurch Vorteile gegenüber der häufig üblichen Methode von Grund auf anzufangen: Ein bereits definiertes Zielprodukt kann sofort reproduziert werden und es ist einfach, Modifikationen durchzuführen und dann den Übersetzungsprozess neu zu starten ohne die gesamte Arbeit von Hand erneut zu erledigen. Beim Aktualisieren von Binärpaketen existiert ein Sicherungsmodus für bereits veränderte Konfigurationsdateien. Die Unterstützung verschiedener Compiler in Kombination mit Optionen wie die Verwendung der dietlibc und uClibc ermöglichen es das System an den knappen Speicher eingebetteter Systeme anzupassen.
Paket-System
Anders als bei konkurrierenden Paket-Systemen wie RPM oder DEB, muss der Entwickler bei T2 keinen Quelltext schreiben um Pakete zu erstellen. Stattdessen wird ein einfaches ASCII-Format verwendet, mit dem sich die Spezifikationen und Einstellungen eines Paketes festlegen lassen anhand dessen das System das Paket erstellt.
T2 bietet über 3170 aktuelle Pakete als Basis für Eigenentwicklungen. Darin sind bereits das X Window System X.Org, bekannte Arbeitsumgebungen wie KDE und GNOME sowie viele Server- und Sicherheitsanwendungen enthalten.
Konfiguration und Wartung
Die T2-Hardware-Erkennung wurde um den Linux-Hotplug-Mechanismus herum entwickelt. Auf diese Weise soll das gleiche Systemverhalten garantiert werden, egal ob Geräte schon beim Hochfahren vorhanden sind oder erst zur Laufzeit vom Nutzer angeschlossen werden.
Netzwerke lassen sich mit einem bereitgestellten modularen Framework konfigurieren. Dieses unterstützt Netzwerkprofile, elementare IP-Konfiguration, mehrere Interfaces, Routing, stateful Firewalls, W-LAN, PPP einschließlich analoger Modems, PPPoE (Kabel und DSL) sowie CSD und GPRS für die Nutzung von Mobiltelefonen.
T2 enthält die Möglichkeit eine Installations-CD mit vollständigem Installationsprogramm zu erstellen. Dieses erlaubt es Festplatten zu partitionieren, Dateisysteme zu erstellen, Mountpunkte zu definieren, Pakete auszuwählen und vieles mehr. Das Konfigurationsprogramm STONE ermöglicht es Administratoren Systemdienste, Netzwerke und Systemverhalten zu konfigurieren. Durch Verwendung systemeigener Konfigurationsdateien sind manuelle Änderungen im Normalfall ohne Konflikte möglich.
Einsatzgebiete
Da bei der Entwicklung großer Wert auf Stabilität gelegt wird und regelmäßig neue Versionen herausgegeben werden, wird T2 gerne als Basis für externe Entwicklungen genommen. Beispiele hierfür sind unter anderem die kompakte Linux-Distribution Puppy Linux sowie Archivista, eine kommerzielle Lösung für Dokumentenmanagement und Archivierung der gleichnamigen schweizer Firma und der Berliner „Platform Provider“ ExactCODE GmbH.[1]
Andere Distributionsbaukästen
Weblinks
- offizielle Webpräsenz
- Interview mit René Rebe auf dem LinuxTag 2008 von RadioTux
- Linux Magazin Artikel
Einzelnachweise
- ↑ a b Homepage der ExactCODE GmbH,21. Mai 2007
- ↑ t2-project.org: Targets included in T2, 21. Mai 2007
- ↑ t2-project.org: CPU architectures supported in T2, 21. Mai 2007
Kategorien:- Freie Systemsoftware
- Linux-Distribution
- Abkürzung
Wikimedia Foundation.