Veröffentlicht am: 29 August 2018
Autor:
René Raaijmakers, Technikjournalist und Autor
René Raaijmakers
Technischer Redakteur, Autor, Geschäftsführer
Lesen Sie mehr über René Raaijmakers
Experte:
Aktie

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.

Das High Tech Institute organisiert einmal im Jahr die 'Embedded Linux Schulung'. Außerdem sind auch firmeninterne Ausgaben verfügbar.