Eingebettetes Linux und Entwicklungsmethoden

Einführung

Übersicht

Im Laufe der Jahren hat Linux sich nicht nur im Serverbereich durchgesetzt, sondern, von der Öffentlichkeit zunächst eher unbemerkt, auch als Betriebssystem für Eingebettete Systeme (bzw. Embedded Systems) die klassischen Marktführer überholt. Was im Desktop-Bereich noch auf sich warten lässt, ist bei Embedded Systems Realität: Linux im Einsatz beim Endverbraucher. Inzwischen wird etwa jedes fünfte Embedded System mit einem Linux-Derivat betrieben, meistens ohne dass der Anwender sich dessen überhaupt bewusst ist.

Diese Ausarbeitung zum gleichnamigen Seminar-Vortrag aus der Vortragsreihe „Linux und Netzwerke, Softwareentwicklung mit Eclipse“ bei Prof. Dr. Ulrich Hoffmann und Prof. Dr. Uwe Schmidt an der Fachhochschule Wedel im November 2008 soll einen kurzen Überblick über das Thema verschaffen. Es werden die Vor- und Nachteile des Einsatz von Linux in diesem Umfeld beleuchtet, sowie kurz auf die Besonderheiten der Entwicklung für Linux und Open Source im Allgemeinen eingegangen. Weiterhin wird versucht, den Begriff Embedded System zu definieren und die Architektur, die hinter dem Begriff Linux steht näher erläutert. Schließlich wird auf die Besonderheiten der Entwicklung für bzw. mit Embedded Systems (dem Embedded Development) eingegangen.

Da auch im deutschen Sprachraum eher von Embedded Systems als von Eingebetteten Systemen die Rede ist, werden im Weiteren vorzugsweise die englischen Begriffe verwendet (Embedded System, Embedded Platform, Embedded Development, etc.).

Aufgrund des des weit gefassten Themas kann hier nur ein grober Überblick verschafft werden. Es werden jedoch durchgängig weiterführende Informationen und Quellen im Text verlinkt; viele dieser Links verweisen auf Hintergrundinformationen und bieten einen guten Ansatzpunkt um vertieft in die Materie einzusteigen. Zusammen mit den im nächsten Abschnitt zusammengefassten weiterführenden Informationsquellen dienen diese auch als Quellenangabe, so dass diese nicht gesondert aufgeführt werden.

Literatur

Zum Thema ist natürlich viel weiterführende Literatur kostenlos im Internet verfügbar; diese ist zwar nicht immer einfach zu finden, jedoch gerade für den sich ständig ändernden Linux Kernel unverzichtbar.

Doch nicht immer sind die aktuellsten Informationen notwendig und ein gut strukturiertes Buch mit praktischen Beispielen hilft dabei, sich einen ersten groben Überblick zu verschaffen. Grundlage für diese Ausarbeitung waren die Bücher Building Embedded Linux Systems (Englisch, ISBN 978-0-596-52968-0), sowie Embedded Linux: Praktische Umsetzung mit uClinux (Deutsch, ISBN 978-3-800-72716-2). Besonders ersteres ist für den Einstieg in das Embedded Development mit Linux sehr zu empfehlen und Details auf die in diesem Dokument nicht weiter eingegangen werden kann können dort nachgelesen werden.

Für den tieferen Einstieg in die Linux-Kernelprogrammierung sind weiterhin die Bücher Understanding the Linux Kernel (Englisch, ISBN 978-0-596-00565-8), Linux Device Drivers (Englisch, ISBN 978-0-596-00590-0), sowie Linux Kernel Architektur (Deutsch, ISBN 978-3-446-22566-4) zu empfehlen. Diese Bücher sind in der Regel auch als E-Book oder im Bestand der Bibliothek der FH Wedel bzw. der Staats- und Universitätsbibliothek Hamburg verfügbar.

Für (durchaus kommerziell orientierte) Neuigkeiten zum Thema Embedded Linux ist die Website LinuxDevices.com erste Anlaufstelle. Auch bei Heise Open sind regelmäßig Neuigkeiten zum Thema zu finden, zumindest das Kernel-Log sollte zur Pflichtlektüre jedes Embedded Linux-Entwicklers gehören. Selbiges gilt für LWN.net, insbesondere den Kernel-Bereich, sowie KernelTrap.

Informationen zu Linux im Allgemeinen sind weit verstreut über das Netz verteilt. Das Linux Documentation Project und SelfLinux sind nur zwei Webseiten, die versuchen diese Informationen etwas zu bündeln. Links zu Kernel-spezifischen Informationen sind im Linux Kernel Documentation Index und insbesondere in der Linux Technology Reference zu finden. Speziell an Embedded Linux Entwickler richtet sich das Embedded Linux Wiki während Kernel Newbies für Einsteiger in die Kernel-Programmierung gedacht ist. Nicht zu vernachlässigen sind auch die auf Linux developerWorks regelmäßig erscheinenden Artikel zur Entwicklung für und mit Linux. Die LKML ist die Mailingliste auf der über die Kernel-Entwicklung diskutiert wird, auf der Seite finden sich weitere Links.

[Anmerkung]

Weiterhin finden weltweit regelmäßig Linux-bezogene Kongresse statt, in deren Zusammenhang häufig interessante Ausarbeitungen und Vortragsunterlagen erscheinen. Als wichtigste sind hier das Linux Kernel Summit, die Linux Plumbers Conference, die Embedded Linux Conference, das Linux Symposium, die LCA, sowie in Deutschland der LinuxTag, der Linux-Kongress und das GUUG Frühjahrsfachgespräch zu nennen. Die meisten dieser Veranstaltungen sind jedoch ähnlich dezentral organisiert wie die Kernel-Entwicklung und weiterführende Informationen tauchen häufig nicht auf den (wechselnden) offiziellen Webseiten auf. Die zuvor genannten News-Webseiten fassen meist die Vorträge zusammen und verweisen auf die Ausarbeitungen. Bei der Verwendung einer Suchmaschine hilft häufig das Stichwort proceedings in Kombination mit dem Veranstaltungsnamen.

Lizenz und Quellen

Dieses Dokument ist verfügbar unter der Lizenz Creative Commons Attribution-Share Alike 3.0. Dies bedeutet, dass der Inhalt vervielfältigt und geändert werden darf, solange das Produkt unter den selben Bedingungen weitergegeben und die Namen der bzw. des Originalautoren genannt werden.

Die DocBook-Quellen dieses Dokuments sind zusammen mit den Präsentationsfolien ebenfalls verfügbar.