T2 SDE

T2 is a flexible open source System Development Environment (SDE) that facilitates the automated creation of Linux-based systems. T2 enables the creation of custom distributions for targets including embedded systems with low memory footprint, secure and specialized server setups, or complete desktop systems, with an adaptable modular framework. This kind of system can be referred to as a Distribution Build Kit.
Unlike common Linux distributions, this automated build process can specifically target all these CPU architectures supported by GCC/Linux: Alpha, ARM, AVR32, Blackfin, IA64, MIPS/MIPS64, PowerPC/PowerPC64, SPARC, SPARC64, SuperH, IA-32 (i386), and x86-64 (AMD64). A subset of the included packages (primarily the ones useful in embedded systems, including the X Window System) can be cross compiled.
The T2 Project is currently working on expanding to support Minix, Hurd, Haiku, OpenDarwin, OpenSolaris and BSD kernels such as OpenBSD.
The goal is to keep packages clean and avoid distribution specific patches.
T2 made it into several external products, such as the compact Linux distribution Puppy Linux.
History
The Open T2 SDE was started as a community driven fork from the ROCK Linux Project with the aim of creating a clean, decentralized development framework for spin-off projects and customized distributions.
T2 was an interim internal project name for "try two - (second try)" or "technology two" but it was kept as the official name.
The Build System
T2 features an automated build system which manages the whole compilation process including an optional installer CD creation. After initial creation of the build-toolchain, all packages are built inside a sandbox environment to monitor installed files and dependencies automatically.
Optionally a cross-build between different architectures can be done, for example to use a fast machine to build a system for a thin client. The build system can also modify the execution of various programs to provide a generic way to transform control compiler flags and file manipulations.
Framework
The T2 framework allows for the creation of individual custom build target definitions, including the package selection and C library to be used, and to customize their configuration. The build system merges those definitions together and generates a build process. Dependencies of packages are traced and resolved during the compilation process to take this burden away from the user. There is full control of the build output such as to create an installable CD or ROM images for embedded use or distributing the compiled system over the network.
Portability
T2 SDE includes support for Alpha, ARM, AVR32, Blackfin, IA-64, MIPS, MIPS64, PA-RISC family, PowerPC, SPARC, SuperH, x86 and x86_64. The user can add definitions for other architectures to the SDE if desired.
Since the automatic build system controls the whole build, it can transform compiler arguments used by the various packages on-the-fly. This allows adapting the optimization for the specified CPU platform.
Packaging system
Rather than relying on common packaging systems like RPM or deb, T2 uses plain ASCII text format to specify the package parameters.
T2 ships with more than 3000 packages, including the X.Org windowing system, desktop environments like KDE and GNOME.
Network configuration
For network configuration a modular framework is included in T2 supporting: profiles, basic IP configuration, multiple interfaces, static routing, stateful firewalling, WLAN, PPP, including analog modems, PPPoE (cable and DSL) as well as CSD and GPRS for use with mobile phones.
Administration
T2 features an Install CD target with an installer supporting partitioning hard-drives, creating file-systems, defining mount points, package selection. The config tool STONE allows administrators to configure system services, network and behavior. STONE is compatible with the system's standard config files, manual changes in those files are mostly preserved.
Embedded systems
T2 supports custom targets. When updating binary packages, there is a backup mode for modified files, to prevent accidental loss of config files. Support is included for different compilers and options like dietLibC and uClibC and other space-optimized packages.
During T2 development, the sandbox environment is used to review the content installed by the packages, as well as the preconditions needed to build the package. A regression tester verifies cross builds. Since the system builds itself up in the sandbox environment it is guaranteed to be stable for selfhosting - to bootstrap itself.
Distributions based on T2
*Puppy Linux Live CD and Multi-Session CD/DVD
 
< Prev   Next >