Commercial Embedded Linux join forces with Open Source
Linux inom inbyggda system är inget nytt fenomen och det går hitta kommersiella produkter inom de flesta segmenten som mobiltelefoner, bil-infotainment system, automations- och telekommunikationsprodukter. Det har alltid funnits två generella vägar att gå när man skall ta fram en Embedded Linux produkt, antingen köper man en kommersiellt framtaget utvecklingsplattform eller så bygger man en egen utvecklingsplattform. Inom det kommersiella produkt segmentet har det funnits flera leverantörer att välja bland t.ex. Windriver, Montavista och MentorGraphics. Alla bygger på samma Linux kärna; utöver den kombinerar de olika Open Source applikationer med viss egenutvecklad middleware. De flesta använder utvecklingsmiljöer baserade på den öppna Eclipseplatformen.
Alternativet har alltid varit att låta sina egna utvecklare att ta fram ett eget byggsystem, antingen ifrån scratch eller baserat på någon av de Open Source varianter som finns, så som Buildroot, OpenEmbedded, Meego eller uCLinux.
Det som har varit gemensamt mellan alla dessa öppna alternativ är detsamma som mellan de kommersiella; och även bland open source varianterna är inga helt kompatibla med varandra. Att byta byggsystem har alltid krävt en ganska stor arbetsinsats.
En av de mest spännande händelserna inom Embedded Linux världen är bildandet av Open Source Embedded Linux byggsystemet Yocto Project. Yocto projektet är baserat på Linux byggsystemet OpenEmbedded, som är ett av de mest skalbara byggsystemen för att skapa Linux image:er för alltifrån de minsta systemen till fulla distributioner för desktopmaskiner. Yocto projektet arbetar efter mottot ”It's not an embedded Linux distribution – it creates a custom one for you”.
Yocto projektet är ett mycket aktivt projekt, där de flesta leverantörerna av byggsystem för inbyggnads Linux är med som aktiva deltagare, så som Windriver, Intel, MentorGraphics och Montavista. Yocto projektet drivs som ett projekt under Linux Foundation, vilket också skall ses som en kvalitetsstämpel för ett Open Source projekt. För att vara ett rent Open Source projekt så håller Yocto byggsystemet väldigt hög kvalitet och erbjuder en riktigt bra verktygskedja. Förutom vanliga korskompilatorer så finns Eclipse Plug-in, Application development kit (SDK för ren applikationsutveckling) och Autobuilder för att skapa schemalagda byggen. Yocto använder samma byggsystem som Open Embedded, där Bitbake är det program som styr själva bygget. Bitbake är skrivet i Phyton, och erbjuder även möjlighet att lägga till nya funktioner i de recept som bygger såväl applikationer som image:ar. Detta ger möjligheten att kunna hantera avancerade bygginstruktioner och en förmåga att hantera komplexa beroenden mellan komponenter väldigt bra.
För framtiden återstår att se vilken riktning utvecklingen kring Embedded Linux kommer att ta, men en intressant sak med Yocto projektet är att det går att spekulera i är om inte de flesta leverantörerna kommer att samsas om en gemensam basplattform för sina utvecklingsmiljöer, till vilken de sedan lägger till sina egna tillägg. Det gör också om ett företag börja med att bygga sitt egna Linux byggsystem baserat på den rena Open Source varianten av Yocto, antagligen senare kommer att utan större arbete kunna växla upp till en kommersiell leverantörs miljö.
Patrik Lindergren, Chargestorm
patrik@chargestorm.se