Jasper Nuyens - Trainer
Jasper Nuyens stond aan de wieg van Embedded Linux en ontwikkelde in 2005 de eerste Embedded Linux training ter wereld in samenwerking met Mind in Leuven (nu Essensium). High Tech Institute biedt de training in Embedded Linux al een aantal jaar exclusief aan in Nederland. De Belgische Linux-pionier vertelt ons de ins en outs van zijn vijfdaagse cursus.
Jasper Nuyens, oprichter van Linux België en Embedded Linux-trainer bij High Tech Institute.
Net toen Jasper Nuyens midden jaren negentig diep in Linux dook, was er een initiatief om de voetafdruk van het systeem te verkleinen. Dit ‘Linux Router Project’ was een poging om een complete Linux-gebaseerde router te draaien vanaf een floppy disk van 1,4 megabyte. Nuyens: “Dit werd gedaan om oude PC’s met een aantal netwerkkaarten te gebruiken als server of router. Het was een grote uitdaging waarbij de Linux kernel compilatie een zeer belangrijke rol speelde. De trucjes die we uit de kast moesten halen om dit te laten werken waren eigenlijk een begin van embedded Linux: een klein systeem waar je veel applicaties aan kunt toevoegen.’ Het project leeft voort in huidige routerprojecten zoals OpenWRT en DD-WRT.
Door zijn ruime ervaring schakelen organisaties Nuyens’ hulp in ‘als er echt moeilijke problemen zijn’. Dat zorgt ervoor dat hij zich kan verdiepen in heel bijzondere gevallen. Nuyens: ‘Dat maakt het werk heel interessant. Het zorgt er ook voor dat onze opleiding up-to-date blijft.’
'We now had about a hundred editions, whilst we are on version 65 of the course.'
Nuyens past zijn trainingen altijd aan op de laatste ontwikkelingen. ‘We hebben nu zo’n honderd edities gehad, terwijl we aan versie 65 van de cursus zitten.’ Als voorbeeld noemt hij het embedded build-systeem Buildroot en OpenEmbedded / Yocto dat in het nieuwe millennium beschikbaar kwam. ‘Ook dat nemen we mee in onze training. We passen het materiaal altijd aan op recente ontwikkelingen.’
De grootste Embedded Linux problemen belanden op Jasper Nuyens bureau.
Wat maakt embedded Linux training zo succesvol?
‘Met Linux heb je de broncode van alle componenten, van de bootloader, kernel tot de tienduizenden applicaties die beschikbaar zijn in de gebruikersruimte. Je kunt alles gebruiken en hebt veel keuzes. Dit betekent dat je door de bomen het bos moet leren zien. Er zijn veel mogelijkheden. Veel applicaties gedragen zich een beetje anders, maar je kunt ze verfijnen. Dat is eigenlijk de kern van onze cursus: mensen helpen hun weg te vinden en de beste keuzes te maken.
Je kunt ook alles zelf leren op internet.
‘Natuurlijk is het niet echt raketwetenschap. Je kunt online afzonderlijke onderwerpen leren. De embedded Linux cursus brengt echter alles samen en biedt het hele plaatje, vanaf de basis. Zelfs mensen die zich al langere tijd verdiepen in Embedded Linux zien niet altijd hoe alles in elkaar steekt of hoe elk van de verschillende componenten op elkaar inwerkt. De training geeft je een jumpstart, een duwtje in de rug in de embedded Linux wereld.
Linux is geen realtime besturingssysteem. In hoeverre speelt dit een rol bij de keuze voor dit OS voor embedded systemen?
‘Als mensen Embedded Linux gaan gebruiken, denken ze meestal dat real-time een belangrijke vereiste is voor hun systeem. Ze werken vaak met microcontrollers met een lage kloksnelheid. De timingbeperkingen kunnen dan real-time gedrag opleggen. In feite hebben ze het echter vaak niet nodig. De huidige Systems On Chip draaien Linux soms met een gigahertz of meer. Daardoor is real-time gebruik van Linux in de praktijk zelden nodig.”
“Er zijn ook verschillende niveaus waarmee je real-time kunt werken op Linux. Daar gaan we in onze training op in. Met de standaard Linux kernel heb je zachte real-time mogelijkheden. Maar je kunt van Linux ook een hard realtime besturingssysteem maken en er zijn ook tussenvormen. De studenten leren deze keuzes te maken afhankelijk van hun behoeften.
In hoeverre gaan jullie in op de juridische aspecten van Open Source?
‘We geven geen juridische training, maar we maken wel duidelijk wat elk van de verschillende Open Source licenties inhoudt en wat de gevolgen ervan zijn, inclusief het patenteren van software en hardware en handelsmerkkwesties. Veel softwareontwikkelaars weten niet genoeg over de gevolgen van hun keuze voor Open Source. Ze moeten hun management hierover goed kunnen informeren en over de weinige eisen die Open Source licenties stellen.”
“Sommigen zijn zo enthousiast over het Open Source verhaal dat ze er niets negatiefs over willen zeggen. Maar bedrijven die open source software gebruiken en implementeren moeten precies weten wat ze moeten doen. Ze moeten ook objectieve informatie hebben over de verplichtingen en risico’s.’
Deelnemers moeten bij voorkeur ervaring hebben met Linux en C-programmeren, maar is dat essentieel?
‘Dat klopt. Het is leuk om het te hebben. We ontvangen twee soorten studenten. We hebben degenen die veel ervaring hebben met embedded, maar beperkte Linux-kennis hebben. En we hebben degenen met Linux-ervaring, zelfs met veel Embedded Linux-ervaring, die hun kennis willen verdiepen.’
‘Er is een heel groot verschil in niveau tussen beide profielen. De eerste groep heeft nauwelijks ervaring op de commandoregel. Dat is een grote stap voor hen. Op hun laptop hebben ze een Linux ‘command prompt’ en op het embedded board hebben ze ook ‘command prompt’. Die kunnen ze niet door elkaar halen. Als je embedded board opstart in bootmodus, in de bootloader, dan is dat een andere prompt waar je verschillende soorten commando’s kunt typen. Hetzelfde gebeurt: je kunt ze niet door elkaar halen.”
“Mensen uit de embedded wereld zonder Linux-ervaring vinden het meestal lastiger. We merken dat beide groepen elkaar helpen. We beginnen de cursus met informatie die vrij basaal is voor mensen die al met Linux gewerkt hebben. Het biedt echter de nodige diepgang om nieuwe dingen te ontdekken, zodat de meer ervaren embedded Linux mensen zich niet gaan vervelen. Het is een kwestie van balanceren, maar de groep is klein genoeg om daar goed mee om te gaan en vragen van elke deelnemer te beantwoorden.
Acht deelnemers is het maximum aantal.
Ja, acht is ons magische getal, zoals we gaandeweg hebben ontdekt. Want tijdens de training stelt iedereen vragen vanuit zijn eigen perspectief. De losse eindjes die ze niet meteen aan hun bestaande kennis kunnen koppelen. Daarom hebben we een zekere mate van interactiviteit nodig. Studenten programmeren hun platform tijdens de training en er zijn meer vooruitstrevende optionele oefeningen voor degenen die sneller zijn. Het werkt goed als ze meteen hun vragen kunnen stellen en ik er meteen naar kan kijken.”
“Linux heeft ook een erg steile leercurve. In het begin moet je veel informatie verwerken. We willen iedereen vooruit helpen om echt een vliegende start te maken.’
Is dat altijd mogelijk?
‘We doen het eigenlijk best goed op dat gebied. De interne werking van de Linux kernel is het moeilijkste deel. Dat gaat niet over hoe de programma’s op de kernel werken, maar over de kernel intern. Dat is een moeilijk onderdeel voor mensen die het materiaal al moeilijk vinden. Het voegt een extra laag complexiteit toe. Als we merken dat de hele groep trager is, besteden we er minder tijd aan.”
‘We bieden ook een aparte cursus voor kernelontwikkeling. Mensen die device drivers moeten bouwen, kunnen na deze training de cursus kernelontwikkeling volgen. Het eerst volgen van de Embedded Linux cursus is een vereiste, tenzij mensen al minstens 5 jaar met Linux werken.’
Welke mensen zijn eigenlijk te vroeg?
‘Degenen die alleen maar met microcontrollers hebben gewerkt en weinig kennis hebben van Linux. We zorgen ervoor dat ze op de commandoregel kunnen werken, dat ze hun bord kunnen upgraden naar een nieuwe softwareversie die ze volledig zelf hebben gecompileerd en dat ze kunnen booten vanaf het netwerk, met het netwerkbestandssysteem als rootbestandssysteem, enzovoort. Dat lukt zonder voorkennis door ze een aantal oefeningen te laten doen, maar alle deelnemers zijn hiermee geholpen als ze – vooraf – hebben leren werken met de Linux commandoregel.
Zullen meer ervaren mensen aan hun trekken komen?
‘Absoluut. Mensen met ervaring in Linux of embedded Linux zullen zich niet vervelen. Hoe meer ze van tevoren weten, hoe meer ze eruit zullen halen. We geven zoveel diepgaande informatie en achtergrondinformatie dat ze altijd bijleren. We gaan breed en heel diep.
In zijn Embedded Linux training gaan deelnemers aan de slag met een Beaglebone Black platform.
'The entire BeagleBone design, the complete PCB layout with all its variants can be completely reused by the customers.'
Dit is een print met een Sitara systeem op chip van Texas Instruments. Deze Amerikaanse chipfabrikant heeft de non-profit BeagleBone Foundation opgericht om Linux-ondersteuning te bieden voor deze platforms. Het is in de eerste plaats een showcase voor het Sitara-platform,” zegt Nuyens. Maar het geeft ontwikkelaars ook een praktische stap vooruit. Iedereen kan gratis met de technologie spelen. Het hele BeagleBone ontwerp, de complete PCB layout met al zijn varianten kan volledig hergebruikt worden door de klanten. Door kleine wijzigingen aan te brengen in het referentieontwerp kun je de uitrol van nieuwe producten versnellen door mogelijk veel lang werk aan de softwarekant te verminderen.’
Indien gewenst heeft Nuyens ook andere borden voor de cursus beschikbaar. Het is mogelijk om de training uit te voeren op het i.MX 6 platform van Freescale (tegenwoordig NXP). ‘Dit is ook een populair platform in de Linux-wereld. De i.MX6 familie heeft single, double en quad core varianten. De laatste zijn krachtiger voor multimediatoepassingen.’ Andere varianten waarop de embedded Linux training kan plaatsvinden zijn het ZedBoard van Avnet en het AVR32 platform van Atmel. Training op deze platforms door Nuyens vindt meestal plaats op specifieke verzoeken, meestal in-house op klantlocaties.
Lees ook het interview met Jasper Nuyens in Bits&Chips.
Dit artikel is geschreven door René Raaijmakers, tech-redacteur van 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.


