Deze training geeft je een jump start in de embedded Linux-wereld

Jasper Nuyens stond mede aan de wieg van embedded Linux en ontwikkelde in 2005 bij Mind (nu Essensium) in Leuven de training Embedded Linux. High Tech Institute biedt de training sinds enkele jaren exclusief in Nederland aan. De Belgische Linux-pionier over de ins en outs van zijn vijfdaagse cursus.

News - embl-foto-jasper-nuyens-2

Jasper Nuyens is oprichter van Linux België en trainer embedded Linux bij High Tech Institute.

Juist toen Jasper Nuyens zich midden jaren negentig in Linux ging verdiepen was er een initiatief om het systeem te verkleinen. Dit ‘Linux Router Project’, was een inspanning om een volledig Linux-gebaseerde router vanaf een 1,4 megabyte floppydisk te draaien. Nuyens: 'Dat werd gebruikt om oude pc's met een aantal netwerkkaarten te kunnen gebruiken als server of router. Dat was een hele grote uitdaging waarbij de Linux kernel compilatie heel belangrijk was. De trucs die we daarvoor moesten uithalen waren eigenlijk een begin van embedded Linux: een klein systeem waar je heel veel toepassingen kunt bijsteken.' Het project leeft verder in huidige router projecten zoals OpenWRT en DD-WRT.

Door zijn ruime ervaring roepen organisaties de hulp in van Nuyens ‘als er echt heel moeilijke problemen zijn’. Dat zorgt ervoor dat hij zich mag verdiepen in heel speciale gevallen. Nuyens: ‘Dat maakt de job ook enorm interessant. Het zorgt er ook voor dat onze cursus up to date blijft.'

Nuyens past zijn training steeds aan de laatste ontwikkelingen aan. ‘Inmiddels hebben we er zo'n honderd edities opzitten, terwijl we nu op versie 62 van de cursus zitten.' Een voorbeeld noemt hij de embedded build-systemen Buildroot en OpenEmbedded/Yocto die pas in het nieuwe millennium beschikbaar kwamen. 'Dat hebben we later ook in onze training opgenomen. We passen het materiaal steeds op de ontwikkelingen aan.

News - embl-foto-jasper-nuyens-3

De grootste embedded Linux-problemen passeren het bord van Jasper Nuyens.

Waardoor is de embedded Linux-training zo'n succes?
'Bij Linux heb je van alle componenten de broncode, van de bootloader, kernel tot en met de tienduizenden applicaties die in user space beschikbaar zijn. Alles kan je gebruiken. Dat zorgt er tegelijk voor dat je de bomen door het bos moet leren zien. Er zijn veel mogelijkheden. Elke toepassing gedraagt zich een beetje anders, maar je kan het wel verfijnen. Daar is eigenlijk de kern van onze cursus: de mensen de weg helpen vinden.'

Je kunt ook zelf alles leren via internet.
'Natuurlijk, op zich is het niet echt rocket science. Je kan individuele onderwerpen online leren. De embedded Linux-cursus brengt echter alle dingen bij elkaar en zorgt voor het hele plaatje. Zelfs mensen die zich al een hele tijd in embedded Linux verdiepen zien niet altijd hoe dingen in elkaar haken en wat juist de wisselwerking tussen de verschillende componenten is. De training zorgt voor een jump start, een duw in de rug in de embedded Linux-wereld.'

Linux is geen realtime besturingssysteem. In hoeverre speelt dat een rol bij de keuze voor dit OS voor embedded systemen?
'Als mensen aan embedded Linux beginnen, denken ze meestal dat realtime een belangrijke eis voor hun systeem is. Vaak werken ze met microcontrollers op een lage kloksnelheid. De timing beperkingen kunnen dan realtime gedrag opleggen. Effectief blijken ze het echter vaak niet nodig te hebben. De huidige systemen op chip draaien Linux soms wel met een gigahertz of meer. Daardoor is in de praktijk zelden realtime gebruik van Linux nodig.'
'Er zijn overigens ook verschillende niveau’s waarmee je realtime kunt werken onder Linux. We gaan daar in onze training op in. Met de Linux kernel heb je soft realtime mogelijkheden. Maar je kan van Linux ook een hard realtime systeem maken en er zijn tussenvormen. De cursisten leren die keuzes te maken.'

In hoeverre ga je in op de juridische aspecten van open source?
'We geven geen advocatenopleiding, maar we maken wel duidelijk wat de verschillende open source licenties betekenen en wat de effecten daarvan zijn, ook naar het patenteren van software en hardware. Veel software developers weten onvoldoende wat de keuze voor open source voor consequenties heeft. Daarover moeten ze hun management goed op de hoogte kunnen brengen.'
'Sommigen zijn zo enthousiast over het open source-verhaal, dat ze daar niets negatief over willen zeggen. Maar bedrijven die open source software gebruiken en implementeren moeten goed weten waaraan ze moeten voldoen. Ze dienen ook objectieve informatie te krijgen over de verplichtingen en risico’s.'

Deelnemers dienen bij voorkeur ervaring te hebben met Linux en C programmeer-ervaring, maar het hoeft niet per se?
'Dat klopt. Het is nice to have. We ontvangen twee type cursisten. Enerzijds mensen met veel ervaring in embedded, maar met beperkte Linux-kennis. Anderzijds mensen met Linux-ervaring, zelfs met veel embedded Linux-ervaring die hun kennis willen verdiepen.'
'Er is een erg groot niveauverschil tussen beide profielen. De eerste groep heeft nauwelijks iets op de command line gedaan. Dat is voor hun een grote stap. Op hun laptop hebben ze een Linux 'command prompt' en bij het embedded board hebben ze ook van 'command prompt'. Dat mogen ze niet door elkaar halen. Als je embedded bord in boot mode in de u boot terecht komt, in de boot loader, dan is dat ook weer een andere prompt waar je een ander soort commando’s kan intypen. Zelfde: je mag ze niet door elkaar halen.'
'Mensen uit de embedded wereld zonder Linux-ervaring hebben het daardoor meestal wat zwaarder. We zien dat beide groepen elkaar helpen. We beginnen de cursus met informatie die er tamelijk basic uitziet voor mensen die al wel met Linux hebben gewerkt, maar waarbij we de klemtoon leggen op specifieke dingen voor de embedded wereld. Het biedt echter de nodige diepgang om nieuwe dingen te ontdekken, zodat de meer ervaren Embedded Linux-mensen zich niet vervelen. Het is balanceren, maar de groep is voldoende klein om dat goed op te vangen.'

Acht deelnemers is het maximale aantal.
'Ja, acht is bij ons het magische nummer, zo hebben we gaandeweg ontdekt. Want tijdens de training stelt iedereen vanuit zijn eigen perspectief vragen. Losse eindjes die ze niet meteen kunnen koppelen aan hun bestaande kennis. Daarom hebben we een mate van interactiviteit nodig. Cursisten programmeren tijdens de training hun platform. Het werkt goed als ze dan meteen hun vragen kunnen stellen en ik daar meteen op kan ingegaan.'
'Linux heeft ook een heel steile leercurve. In het begin moet je heel veel informatie verstouwen. We willen iedereen vooruit helpen om ze echt een jump start te laten maken.'

Lukt dat altijd?
'We slagen daar tamelijk goed in. De interne werking van de Linux kernel is het taaiste deel. Dat gaat het niet over hoe de programma’s werken die op die kernel draaien, maar over de kernel intern. Dat is een moeilijk moment voor mensen die de materie toch al taai vinden. Het voegt een extra laag complexiteit toe. Als we merken dat de hele groep wat trager gaat, dan steken we daar minder tijd in.'
'We bieden overigens een aparte cursus aan voor kernel development. Deze training is eigenlijk beperkt tot de applicaties. Mensen die device drivers moeten bouwen, kunnen na deze training de kernel development cursus volgen.'

Welke mensen zijn eigenlijk te vroeg?
'De mensen die alleen maar met microcontrollers bezig zijn geweest en weinig kennis hebben van Linux. We zorgen er wel voor, dat ze op de command line kunnen werken, dat ze hun bord kunnen upgraden naar een nieuwe softwareversie die ze volledig zelf gecompileerd hebben en dat ze over het netwerk kunnen booten, inclusief netwerk filesysteem en zo verder. Dat lukt zonder voorkennis door ze een aantal oefeningen te laten doen, maar alle deelnemers zijn er wel mee geholpen zijn als ze vooraf een aantal uren steken in het werken met de command line.'

Komen meer ervaren rotten aan hun trekken?
'Absoluut. Mensen met ervaring in Linux of embedded Linux gaan zich niet vervelen. Hoe meer ze op voorhand weten, hoe meer ze er gaan uitpikken. We leveren zoveel diepgaande informatie en achtergrondinformatie dat ze altijd gaan bijleren.'

News - embl-foto-jasper-nuyens-1

In zijn training Embedded Linux gaan cursisten aan de slag met een Beaglebone Black-platform.

In zijn training Embedded Linux gaan cursisten aan de slag met een Beaglebone Black-platform. Dit is een printje met een Sitara system on chip van Texas Instruments. Deze Amerikaanse chipfabrikant richtte de non-profit organisatie Beaglebone foundation op om Linux-ondersteuning te verzorgen voor deze bordjes. 'Het is vooral een showcase voor het Sitara-platform', zegt Nuyens. Maar het geeft ontwikkelaars ook een handig opstapje. Iedereen kan gratis stoeien met de technologie. 'Het hele Beaglebone-design, de volledige pcb-layout met al zijn varianten kan volledig herbruikt worden door de klanten. Door op het reference design kleine wijzigingen aan te brengen kun je de uitrol van nieuwe producten versnellen.'

Desgewenst heeft Nuyens ook andere varianten voor handen. Het is ook mogelijk om de training te draaien op Freescale's i.MX 6-platform (tegenwoordig NXP). 'Dit is ook een populair bordje in de Linux-wereld. i.MX heeft single, double en quad core varianten. Die laatste zijn krachtiger voor multimediatoepassingen.' Andere varianten waarop de embedded Linux-training kan inspelen zijn de ZedBoards van Avnet en Atmel's AVR32-microcontrollers. Trainingen op deze platforms draait Nuyens meestal op specifiek verzoek in-huis.

Lees ook het interview met Jasper Nuyens in Bits&Chips.

Aanbeveling door oud-cursisten

Aan het einde van de training vullen cursisten een evaluatieformulier in. Op de vraag: 'In welke mate wil je deze training aanbevelen aan anderen?' kwam een gemiddeld cijfer van 7.4 op een schaal van 1 - 10.

De 'Embedded Linux training'
wordt georganiseerd in Eindhoven
op 20 - 24 mei 2019.

Cursusomschrijving

Registreren kan via ons online aanmeldformulier.

Registeren