Um zu einer Plattform wie dem Industrial Grade Linux zu kommen, aber auch um Anwendungsprogramme (Userland Code) hierfür entwickeln zu können, bedarf es einer Toolchain. Eine Toolchain ist eine systematische Sammlung von Programmen, welche zur Erzeugung eines Produktes (meist eines anderen Programmes oder eines Systems von Programmen) Verwendung finden. Die Bezeichnung erklärt sich damit, dass die Werkzeug-Programme in der Regel in Form einer Kette nacheinander eingesetzt werden.
Ein einfacher Werkzeugkasten für die Softwareentwicklung beinhaltet einen Texteditor für die Erstellung des Quelltextes, einen Compiler, einen Linker zum Erstellen der ausführbaren Programme sowie Bibliotheken zum Zugriff auf die öffentlichen Routinen des Betriebssystems und einen Debugger.
Bild 2 zeigt den beispielhaften Aufbau der Toolchain auf dem Entwicklungsrechner:
Fig. 2: Toolchain - classical workflow
SDK – ein Software Development Kit ist eine Sammlung von notwendigen Komponenten wie Compiler, Dienstprogramme und Informationen, um für ein Betriebssystem überhaupt Software entwickeln zu können. Basis dafür ist die sogenannte Toolchain. Der ge-naue Inhalt eines SDK kann von Fall zu Fall sehr stark variieren, da er je nach Materie unterschiedlich komplex ausfällt. Meistens enthält das Kit mindestens die nötigen APIs für ein bestehendes System und Dokumentationen, die dem Entwickler Auskunft über verfügbare Schnittstellen oder den allgemeinen Aufbau geben. Einige Buildsysteme für Linux geben den Applikationsentwicklern ein SDK zur einfachen Nutzung an die Hand.