Bits&Chips

Linux-pionier wil Game of Thrones-muziekshow op zijn Tesla programmeren

13 april 2018 

Jasper Nuyens stapt met enige gretigheid door de informatietechnologie. Hij was het eerste Aibo-baasje in België en programmeert zijn eigen Tesla. De grootste embedded Linux-problemen passeren zijn bordje.

Het is Elon Musks grootste nachtmerrie dat hackers wereldwijd de controle over alle Tesla’s overnemen. ‘Een doemscenario, maar het is niet onmogelijk’, zegt Jasper Nuyens, oprichter van Linux België en embedded Linux-trainer bij High Tech Institute. De sleutel om toegang te krijgen tot een van de computersystemen - de zogeheten ssh-key van het navigatiecluster - is namelijk hetzelfde voor de hele Tesla-vloot.

Nuyens kan het weten, want ‘via een vriendje’ heeft hij zo’n ssh-key bemachtigd (‘ssh’ staat voor ‘secure shell’, de standaard om te communiceren met Linux-systemen). Niet om Musk te treiteren, maar om zijn eigen Tesla te herprogrammeren. Deze auto’s hebben verschillende embedded deelsystemen: Nvidia Tegra-gebaseerde elektronica rond het stuur, een I.MX 6-gebaseerde mediaconsole en navigatie en de autopilot. Allemaal draait het op Linux. Nuyens paste onder meer zelf zijn bedieningspaneel aan. ‘Een beetje gecustomized’, lacht hij. ‘Met een X Window-applicatie heb ik bijvoorbeeld de kleurtjes veranderd.’

Nuyens heeft een tip voor Musk: als je ’s nachts rustig wilt slapen, dan is het wellicht beter om alle systemen van alle Tesla’s een eigen ssh-key te geven en die op te slaan in een beveiligde centrale database. Dat gebeurt nu al met een dagelijks veranderende sleutel voor de toegang op afstand. ‘Een extra laagje veiligheid, waarom niet? Het is nog steeds zo dat iedereen dezelfde ssh-key heeft op het navigatiecluster en die kun je in principe online verkrijgen.’

Het is overigens niet eenvoudig om bij een Tesla binnen te geraken. Er is een fysieke verbinding nodig met het interne netwerk en daarvoor moet het dashboard open. ‘Het is heel goed afgeschermd’, aldus Nuyens. Toch is zijn bedrevenheid met Linux niet de voornaamste reden dat hij er een heeft gekocht. ‘Voor mij kwam het doorslaggevende argument toen ik op bezoek in IJsland de gletsjers zag afsterven.’

Het Linux-gebaseerde systeem voor de automatische piloot raakt hij niet aan. ‘Ik wil niets verkeerds doen met betrekking tot de besturing van mijn auto. Het kan wel, het wordt ook gedaan, maar ik vind het persoonlijk iets te gevaarlijk. Daarom speel ik ook niet met de Can-bus. Wel wil ik graag een andere variant maken van Tesla’s kerstlichtshow (zoek op ‘Tesla christmas show’, RR). Ik heb er de Game of Thrones-tune al voor klaarstaan.’

Jasper Nuyens met een opensource Beaglebone-bordje dat deelnemers aan zijn embedded Linux-training gebruiken

Robotwoef

Nuyens bemachtigde op negenjarige leeftijd al een Macintosh-computer en richtte enkele jaren later een computerclubje op. Nog weer enkele jaren later ging hij artikelen over computers publiceren. Later ook over Linux. Hij waagde zich in 1996 zelfs aan de boeken ‘Internet in België’ en ‘Maximaliseer uw Mac’. Voor het eerste nam hij voor elke Belgische website een review op. ‘Zo weinig waren het er nog maar.’

Nuyens proefde op de KU Leuven en de Universiteit Hasselt aan wiskunde, natuurkunde en informatica, maar maakte geen van deze studies af. ‘Toen ik als zestienjarige in 1992 begon op de universiteit zag ik veel netwerkproviders starten. Ook Netvision/Ubizen (inmiddels eigendom van Verizon, RR) begon. Die eerste boot miste ik, maar de internetboom wilde ik echt pakken.’ Dus stopte hij in 1998 met studeren om op 21-jarige leeftijd zijn eigen bedrijf op te richten.

Twee jaar later, nog voor het knappen van de dotcombubbel, verkocht Nuyens zijn onderneming alweer aan het beursgenoteerde VA Linux Systems, het bedrijf achter Sourceforge en de websites Linux.com, Slashdot en Freshmeat. Zo was al op zijn 23e redelijk onafhankelijk. Vervolgens richtte hij Linux België op en kocht hij de Aibo-robothond van Sony. Hij was de eerste in zijn land en werd zelfs in tv-programma’s uitgenodigd om over zijn robotwoef te praten. Kranten schreven in die tijd hilarische stukken over ‘de jonge zaakvoerder met een Saab Cabrio onder zijn achterste’ (Het Belang van Limburg).

Met Linux België richt hij zich onder meer op consultancy en trainingen. ‘Ik heb het geluk dat ze me vragen als er echt heel moeilijke problemen zijn. Dat zorgt ervoor dat we altijd heel speciale gevallen binnenkrijgen en dat maakt de job enorm interessant. Het zorgt er ook voor dat onze cursus up-to-date blijft.’

Al is hij geen blinde volger, Nuyens is zeer positief over Linux. ‘Het is een van de meest indrukwekkende technische prestaties van onze eeuw’, schrijft hij op zijn Linux België-website. ‘Meer dan een miljard mobieltjes draaien op het Linux-gebaseerde Android. Alle bekende servers werken ermee. Daarnaast hebben miljarden slimme apparaten het besturingssysteem aan boord en gebruiken tientallen miljoenen mensen het os op hun pc. Google, Facebook en Twitter, allemaal lopen ze op Linux.’

1,4 MB floppydisk

In 2005 ontwikkelde Nuyens bij Mind (nu Essensium) de training ‘Embedded Linux’. Het bleek de allereerste embedded Linux-cursus ter wereld. ‘We deden het op verzoek van een klant. Speciaal een cursus ontwikkelen voor embedded Linux was nogal veel werk, maar we hebben het toch gedaan.’ Tot grote verbazing van Nuyens en Mind werd de training zeer populair. ‘Op het gebied van Linux is het een van de populairste cursussen in België’, schat Nuyens. High Tech Institute biedt de training sinds enkele jaren exclusief aan in Nederland.

‘Eind jaren negentig was er heel veel buzz rondom Linux voor servers. Daarvoor is het besturingssysteem nog steeds populair, maar om de groei van Linux-servers bij te houden, heb je veel minder systeembeheerders nodig dan in de embedded-wereld, waar het aantal Linux-toepassingen explodeert’, zo verklaart Nuyens het succes.

Zelf sleutelde de Linux-pionier al in 1996 aan een project om een volledig Linux-gebaseerde router vanaf een 1,4 MB floppydisk te draaien. ‘Die werd gebruikt om oude pc’s met een aantal netwerkkaarten te kunnen inzetten als server of router. Dat was een hele grote uitdaging waarbij de Linux-kernelcompilatie 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 routerprojecten zoals Openwrt en DD-WRT.

Veel later zijn de embedded buildsystemen Buildroot en Openembedded/Yocto beschikbaar gekomen. ‘Die hebben we later ook in onze training opgenomen. We passen het materiaal steeds op de ontwikkelingen aan. Inmiddels hebben we zo’n honderd edities achter de rug, terwijl we op nu op versie 62 van de cursus zitten.’

Beaglebone Black

In zijn training ‘Embedded Linux’ gaan cursisten aan de slag met een Beaglebone Black-platform. Dit is een printje met een Sitara-soc van Texas Instruments. Deze Amerikaanse chipfabrikant richtte de non-profitorganisatie Beaglebone Foundation op om Linux-ondersteuning te verzorgen voor de 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-lay-out met al zijn varianten, kunnen de klanten volledig hergebruiken. Door op het referentieontwerp kleine wijzigingen aan te brengen kun je de uitrol van nieuwe producten versnellen.’

Desgewenst heeft Nuyens andere varianten voorhanden. Zo is het mogelijk 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-, dual- en quadcorevarianten. Die laatste zijn krachtiger voor multimedia.’ Andere varianten waarop de embedded Linux-training kan inspelen, zijn de Zedboards van Avnet en Atmels AVR32-microcontrollers. Trainingen op deze platforms draait Nuyens meestal op specifiek verzoek in-huis.

Abonneer direct op onze nieuwsbrief

abonneren

Mechatronics system design – Part 1

8 oktober - 12 oktober

Eindhoven

Advanced feedforward control

10 oktober - 12 oktober

Eindhoven

Course on modern optics for optical designers - Part 1

14 september - 8 februari

Eindhoven

Embedded Linux

17 september - 21 september

Eindhoven

System architect(ing)

24 september - 28 september

Eindhoven