Jasper Nuyens war an der Wiege von Embedded Linux dabei und entwickelte 2005 in Zusammenarbeit mit Mind in Leuven (jetzt Essensium) die erste Embedded Linux-Schulung der Welt. Seit einigen Jahren bietet das High Tech Institute in den Niederlanden exklusiv die Schulung fĂŒr Embedded Linux an. Der belgische Linux-Pionier erzĂ€hlt uns, wie sein fĂŒnftĂ€giger Kurs ablĂ€uft.
Jasper Nuyens, GrĂŒnder von Linux Belgium und Trainer fĂŒr Embedded Linux am High Tech Institute.
Gerade als Jasper Nuyens sich Mitte der neunziger Jahre intensiv mit Linux beschĂ€ftigte, gab es eine Initiative, um den Platzbedarf des Systems zu verringern. Dieses ‚Linux Router Project‘ war ein Versuch, einen kompletten Linux-basierten Router von einer 1,4-Megabyte-Diskette aus zu betreiben. Nuyens: ‚Dies geschah, um alte PCs mit einer Reihe von Netzwerkkarten als Server oder Router zu verwenden. Es war eine groĂe Herausforderung, bei der die Kompilierung des Linux-Kernels eine sehr wichtige Rolle spielte. Die Tricks, die wir aus dem Ărmel zaubern mussten, damit das funktioniert, waren eigentlich ein Anfang von Embedded Linux: ein kleines System, in das man viele Anwendungen einbauen kann.‘ Das Projekt lebt in aktuellen Routerprojekten wie OpenWRT und DD-WRT weiter.
Aufgrund seiner umfangreichen Erfahrung ziehen Organisationen Nuyens zu Rate, ‚wenn es wirklich schwierige Probleme gibt‘. Das sorgt dafĂŒr, dass er sich mit sehr speziellen FĂ€llen eingehender befassen kann. Nuyens: „Das macht die Arbeit sehr interessant. Es sorgt auch dafĂŒr, dass unser Kurs auf dem neuesten Stand bleibt.
'We now had about a hundred editions, whilst we are on version 65 of the course.'
Nuyens passt seine Schulungen immer an die neuesten Entwicklungen an. Wir hatten jetzt etwa hundert Ausgaben, wĂ€hrend wir bei Version 65 des Kurses sind. Als Beispiel nennt er das Embedded Build-System Buildroot und OpenEmbedded / Yocto, das im neuen Jahrtausend verfĂŒgbar wurde. Wir beziehen das auch in unser Training ein. Wir passen das Material immer an die neuesten Entwicklungen an.
Die gröĂten Embedded Linux Probleme landen auf Jasper Nuyens Schreibtisch.
Was macht die Ausbildung in Embedded Linux so erfolgreich?
‚Bei Linux haben Sie den Quellcode aller Komponenten, vom Bootloader ĂŒber den Kernel bis hin zu den Zehntausenden von Anwendungen, die im Benutzerbereich zur VerfĂŒgung stehen. Sie können alles verwenden und haben eine Menge Auswahlmöglichkeiten. Das bedeutet, dass Sie lernen mĂŒssen, den Wald vor lauter BĂ€umen nicht zu sehen. Es gibt viele Möglichkeiten. Viele Anwendungen verhalten sich ein wenig anders, aber Sie können sie verfeinern. Das ist eigentlich der Kern unseres Kurses: den Leuten zu helfen, ihren Weg zu finden und die besten Entscheidungen zu treffen.‘
Sie können auch alles selbst im Internet lernen.
‚NatĂŒrlich ist es keine Raketenwissenschaft. Sie können einzelne Themen online lernen. Der Embedded Linux-Kurs fasst jedoch alles zusammen und bietet ein Gesamtbild, von Grund auf. Selbst Leute, die sich schon lange mit Embedded Linux beschĂ€ftigen, sehen nicht immer, wie die Dinge zusammenpassen oder wie die verschiedenen Komponenten miteinander interagieren. Die Schulung gibt Ihnen eine Starthilfe, einen AnstoĂ in der Embedded Linux-Welt.‘
Linux ist kein Echtzeit-Betriebssystem. Inwieweit spielt das eine Rolle bei der Wahl dieses Betriebssystems fĂŒr eingebettete Systeme?
‚Wenn Leute anfangen, Embedded Linux zu verwenden, denken sie normalerweise, dass Echtzeit eine wichtige Anforderung fĂŒr ihr System ist. Sie arbeiten oft mit Mikrocontrollern mit einer niedrigen Taktrate. Die Timing-EinschrĂ€nkungen können dann ein Echtzeitverhalten erzwingen. TatsĂ€chlich brauchen sie es aber oft nicht. Auf den aktuellen Systems On Chip lĂ€uft Linux manchmal mit einem Gigahertz oder mehr. Daher ist die Verwendung von Linux in Echtzeit in der Praxis selten erforderlich.‘
‚Es gibt auch verschiedene Stufen, mit denen Sie unter Linux in Echtzeit arbeiten können. Darauf gehen wir in unserer Schulung ein. Mit dem Standard-Linux-Kernel haben Sie weiche Echtzeitmöglichkeiten. Aber Sie können Linux auch zu einem harten Echtzeitbetriebssystem machen und es gibt auch Zwischenformen. Die Studenten lernen, diese Entscheidungen je nach ihren BedĂŒrfnissen zu treffen.‘
Inwieweit gehen Sie auf die rechtlichen Aspekte von Open Source ein?
‚Wir bieten keine juristischen Schulungen an, aber wir machen deutlich, was die verschiedenen Open-Source-Lizenzen bedeuten und welche Folgen sie haben, einschlieĂlich der Patentierung von Software und Hardware und Markenfragen. Viele Softwareentwickler wissen nicht genug ĂŒber die Konsequenzen ihrer Entscheidung fĂŒr Open Source. Sie mĂŒssen in der Lage sein, ihr Management darĂŒber und ĂŒber die wenigen Anforderungen, die Open-Source-Lizenzen mit sich bringen, gut zu informieren.‘
‚Manche sind so begeistert von der Open-Source-Geschichte, dass sie nichts Negatives darĂŒber sagen wollen. Aber Unternehmen, die Open-Source-Software verwenden und implementieren, mĂŒssen genau wissen, was sie tun mĂŒssen. Sie mĂŒssen auch objektive Informationen ĂŒber die Verpflichtungen und Risiken haben.‘
Die Teilnehmer sollten vorzugsweise Erfahrung mit Linux und C-Programmierung haben, aber ist das notwendig?
‚Das ist richtig. Es ist schön, sie zu haben. Wir empfangen zwei Arten von Studenten. Wir haben diejenigen, die viel Erfahrung im Bereich Embedded haben, aber nur begrenzte Linux-Kenntnisse besitzen. Und wir haben diejenigen mit Linux-Erfahrung, sogar mit viel Embedded Linux-Erfahrung, die ihre Kenntnisse vertiefen wollen.‘
‚Es gibt einen sehr groĂen Niveauunterschied zwischen beiden Profilen. Die erste Gruppe hat kaum Erfahrung mit der Kommandozeile. Das ist ein groĂer Schritt fĂŒr sie. Auf ihrem Laptop haben sie eine Linux-‚Eingabeaufforderung‘ und auf dem Embedded Board haben sie ebenfalls eine ‚Eingabeaufforderung‘. Sie dĂŒrfen sie nicht verwechseln. Wenn Ihr Embedded Board beim Booten in den Boot-Modus geht, in den Boot-Loader, dann ist das eine weitere Eingabeaufforderung, in die Sie verschiedene Arten von Befehlen eingeben können. Das ist dasselbe: Sie können sie nicht verwechseln.‘
‚Leute aus der Embedded-Welt ohne Linux-Erfahrung haben es meist schwerer. Wir haben festgestellt, dass sich beide Gruppen gegenseitig helfen. Wir beginnen den Kurs mit Informationen, die fĂŒr Leute, die bereits mit Linux gearbeitet haben, ziemlich grundlegend sind. Er bietet jedoch die nötige Tiefe, um neue Dinge zu entdecken, so dass sich die erfahreneren Embedded Linux-Leute nicht langweilen. Es geht um Ausgewogenheit, aber die Gruppe ist klein genug, um das gut zu bewĂ€ltigen und die Fragen der einzelnen Teilnehmer zu beantworten.‘
Die maximale Teilnehmerzahl liegt bei acht Personen.
Ja, acht ist unsere magische Zahl, wie wir nach und nach herausgefunden haben. Denn wĂ€hrend der Schulung stellt jeder Fragen aus seiner eigenen Perspektive. Die losen Enden, die sie nicht sofort mit ihrem vorhandenen Wissen in Verbindung bringen können. Deshalb brauchen wir ein gewisses MaĂ an InteraktivitĂ€t. Die Studenten programmieren ihre Plattform wĂ€hrend der Schulung und es gibt weitere fortschrittliche optionale Ăbungen fĂŒr diejenigen, die schneller sind. Es funktioniert gut, wenn sie ihre Fragen sofort stellen können und ich mich sofort darum kĂŒmmern kann.‘
‚Linux hat auch eine sehr steile Lernkurve. Am Anfang mĂŒssen Sie eine Menge Informationen aufnehmen. Wir wollen allen helfen, einen echten Sprung nach vorne zu machen.‘
Ist das immer möglich?
‚Da kommen wir eigentlich ganz gut zurecht. Der interne Betrieb des Linux-Kernels ist der schwierigste Teil. Dabei geht es nicht darum, wie die Programme auf dem Kernel arbeiten, sondern wie der Kernel intern funktioniert. Das ist ein schwieriger Teil fĂŒr Leute, die die Materie ohnehin schon schwierig finden. Es ist eine zusĂ€tzliche Ebene der KomplexitĂ€t. Wenn wir feststellen, dass die gesamte Gruppe langsamer ist, werden wir weniger Zeit darauf verwenden.‘
‚Wir bieten auch einen separaten Kurs fĂŒr die Kernelentwicklung an. Teilnehmer, die GerĂ€tetreiber erstellen mĂŒssen, können nach diesem Kurs den Kurs zur Kernelentwicklung besuchen. Die Teilnahme am Embedded Linux-Kurs ist eine Voraussetzung, es sei denn, die Teilnehmer arbeiten seit mindestens 5 Jahren mit Linux.‘
Welche Leute sind eigentlich zu frĂŒh dran?
‚Diejenigen, die bisher nur mit Mikrocontrollern gearbeitet haben und wenig Kenntnisse ĂŒber Linux haben. Wir stellen sicher, dass sie auf der Kommandozeile arbeiten können, dass sie ihr Board auf eine neue Softwareversion aktualisieren können, die sie selbst vollstĂ€ndig kompiliert haben, und dass sie vom Netzwerk booten können, indem sie das Netzwerkdateisystem als Root-Dateisystem verwenden, und so weiter. Das geht auch ohne Vorkenntnisse, indem man sie eine Reihe von Ăbungen machen lĂ€sst, aber allen Teilnehmern ist damit geholfen, wenn sie – im Vorfeld – das Arbeiten mit der Linux-Kommandozeile gelernt haben.‘
Werden auch erfahrenere Leute auf ihre Kosten kommen?
‚Auf jeden Fall. Menschen mit Erfahrung in Linux oder Embedded Linux werden sich nicht langweilen. Je mehr sie im Voraus wissen, desto mehr werden sie davon haben. Wir bieten so viele tiefgreifende Informationen und Hintergrundinformationen, dass sie immer etwas lernen werden. Wir gehen breit und sehr tief.‘
In seiner Embedded Linux-Schulung arbeiten die Teilnehmer zunÀchst mit einer Beaglebone Black-Plattform.
'The entire BeagleBone design, the complete PCB layout with all its variants can be completely reused by the customers.'
Dies ist ein Druck mit einem Sitara System on Chip von Texas Instruments. Dieser amerikanische Chiphersteller hat die gemeinnĂŒtzige BeagleBone Foundation gegrĂŒndet, um Linux-UnterstĂŒtzung fĂŒr diese Plattformen zu bieten. Es ist in erster Linie ein Schaufenster fĂŒr die Sitara-Plattform“, sagt Nuyens. Aber es bietet Entwicklern auch einen praktischen Schritt nach vorn. Jeder kann kostenlos mit der Technologie herumspielen. Das gesamte BeagleBone-Design, das komplette PCB-Layout mit all seinen Varianten kann von den Kunden vollstĂ€ndig wiederverwendet werden. Durch geringfĂŒgige Ănderungen am Referenzdesign können Sie die MarkteinfĂŒhrung neuer Produkte beschleunigen, indem Sie die möglicherweise langwierige Arbeit auf der Softwareseite reduzieren.‘
Auf Wunsch hat Nuyens auch andere Boards fĂŒr den Kurs im Angebot. Es ist möglich, die Schulung auf der i.MX 6 Plattform von Freescale (heute NXP) durchzufĂŒhren. Dies ist auch eine beliebte Plattform in der Linux-Welt. Die i.MX6-Familie hat Varianten mit einem, zwei und vier Kernen. Letztere sind fĂŒr Multimedia-Anwendungen leistungsfĂ€higer.‘ Andere Varianten, auf denen die Embedded Linux-Schulung stattfinden kann, sind das ZedBoard von Avnet und die AVR32-Plattform von Atmel. Die Schulungen fĂŒr diese Plattformen werden von Nuyens in der Regel auf spezielle Anfragen hin durchgefĂŒhrt und finden in der Regel bei den Kunden vor Ort statt.
Lesen Sie auch das Interview mit Jasper Nuyens in Bits&Chips.
Dieser Artikel wurde von René Raaijmakers geschrieben, dem technischen Redakteur von Bits&Chips.
Recommendation by former participants
By the end of the training participants are asked to fill out an evaluation form. To the question: 'Would you recommend this training to others?' they responded with a 8.6 out of 10.











