Långtidsplanering
Allt finns öppet
Börja med en analys
Tredagarskurs
Linux för inbyggda system är idag mer en regel än ett undantag. Av tio nya embeddedprojekt inbyggnadsprojekt väljer nio Linux som operativsystem. Skälen är många men ettn av de viktigaste orsakerna är att Linux är ett tekniskt väl genomarbetat och beprövat operativsystem. Den öppna källkoden skapar förutsättningar för ett flexibelt och skalbart operativsystem.
Jämfört med andra OS är Linux-systemets utveckling inte styrd av något fast mål. Ända sedan starten, i augusti 1991, bygger Linux på idéer hos många separata programmerare och företag. Olika behov och önskemål från inblandade utvecklare och användare leder fram till att Linux anpassas för många CPU-arkitekturer och har stöd för en mängd olika hårdvarulösningar, kommunikationsprotokoll och filsystem. Linux är idag det operativsystem som har det bredaste CPU-stödet av alla operativsystem på marknaden. Det är just den evolutionsmässiga utvecklingen som gör att Linux inte bara har stöd för ny modern hårdvara och nya protokoll utan även hanterar äldre lösningar och system. Denna bredd och flexibilitet ger fördelar vid utveckling av produkter som skall kopplas ihop med existerande system.
En fråga man måste ställa sig är: Hur fungerar och vad kostar underhållet av den embeddedinbyggda-produkt som vi har utvecklat om fem eller kanske tio år? Om vi väljer ett proprietärt OS, finns leverantören kvar? Har de kvar OS-et? Uppdateras OS-et? Med Linux är framtiden säkrad. Många olika företag hjälper till att driva utvecklingen framåt. Källkoden finns tillgänglig så att ni själva, eller med extern hjälp, kan göra modifieringar och uppdateringar. Dessutom är ni inte hänvisade till en enda leverantör utan kan välja bland olika leverantörer allt efter behov och den förmåga ert företag har. Många har valt att titta på Linux för att det är fritt från licenskostnader och är utan kostnader per producerad enhet, den affärsmodell som är vanligast bland kommersiella OS. För system med öppen källkod finns friheten, men det är en frihet under ansvar. Ni tar själv, med eller utan hjälp, hand om underhåll och förvaltning av ert operativsystem.
Linux hittar idag in i produkter alltifrån små inbyggda system till stora beräkningskluster, däremellan finns desktops, filservrar, webbservrar mm. Många av de konsumentprodukter vi köper idag har Linux som plattform. Linux används i alla branscher och finns med i system vi hittar på havens botten, på Antarktis isvidder, på våradin arbetsplatser, i hemment och ute i rymden.
Samma källkod
Vad skiljer embedded inbyggd Linux från den Linux vi har i våra PC eller den som IT-teknikern väljer att använda till en webbserver? Till största delen är det exakt samma programkod som används i ett inbyggt system som i en stor server. Embedded, eller inbyggd, Linux är mer en beskrivning av att systemet är begränsat till funktioner och omgivning. Samma källkod konfigureras och kompileras till alla system men bara en delmängd av funktionerna är normalt kvar i ett embeddedinbyggnads-system. Att det är samma ursprungskod är en stor fördel. Förbättringar, buggfixar och nya funktioner som skapas i exempelvis IT-världen, där kommunikationsprotokoll är ett gott exempel, kommer nu även embedded-inbyggnadsprojekten till godo.
Linux är baserat på öppen källkod vilket innebär att all programkod finns öppet tillgänglig. Det är viktigt att veta att de olika varianter av licenser, som finns för öppen källkod, normalt innebär förpliktelser att nyutveckling och förändring av koden också görs tillgänglig och öppen på samma sätt som ursprungskoden. Grundtanken är att vi med dessa licensformer skall trygga framtiden för koden så att den fortsätter utvecklas och förbättras. De olika licensformerna skall inte ses som hinder utan snarare som en möjlighet för kontinuitet. Att operativsystemet är öppet innebär inte att din egenutvecklade applikationskod behöver göras öppet tillgänglig. Om er egen kod inte baseras på, eller utnyttjar, öppen källkod är och förblir den er egna kod utan krav på öppenhet även om den exekveras i en öppen källkodsmiljö.
Att komma igång med ett embedded-projekt baserat på Linux, och att lyckas, bygger på en genomtänkt analys av ert projekt. Ni måste kunna svara på ett antal frågor. Varför vill ni använda Linux? Linux är inte ett självändamål utan skall vara ett medvetet val baserat på kostnader, prestanda och funktioner. En av de viktigaste analyserna för dig som är beslutsfattare blir att bedöma den kompetens som projektet och ditt företag behöver för att lyckas. Frågor som måste ställas, utöver de teknikval och hårdvarubedömningar vi kommer in på i kapitel två, är vilka resurser som finns. Måste projektet köpa in kompetens för Linux? Kan jag utbilda tillgänglig personal? Är projektet ett engångsprojekt?
För ett engångsprojekt är det säkert enklast att köpa in färdig kunskap från ett av de konsultföretag som har Linuxkompetens som sin affärsidé. Är projektet det första i en serie produkter med Linux som plattform skall ni börja med att bygga egen grundläggande kompetens för Linux som operativsystemsmiljö. Den kunskapen är något som kommer att spara både tid, pengar och energi senare i era projekt.
Utbudet av utbildning för Linuxmiljön är stort och varierande. För den som vill lära sig Linux ur ett IT-perspektiv för att sätta upp och driva servrar med Linux finns många likartade kurser att välja på. För utvecklarna av inbyggda system är utbudet mindre. Alla distributörer av produkter för embedded Linux har olika typer av snabbstartskurser hur man kommer igång med deras specifika lösningar. En mer generell Linux-utbildning som Enea tagit fram är en kurs som helt enkelt heter Linux i inbyggda system. På tre dagar ger kursen utvecklarna det som behövs för att snabbt komma upp på banan. De får en grundläggande förståelse för Linux, kärnans olika delsystem, realtid, filsystem, boot-mekanismk och drivrutiner samt vad som behövs för att konfigurera ett Linux-system och hur man kommer igång och börjar skriva kod.
I nästa kapitel diskuterar vi hårdvaruval, utvecklingsmiljö och hur ni börjar med en förstudie, samt hur ditt företag anpassar er egen hårdvara till Linuxplattformen och hur ni gör för att klara förvaltningen av ert Linux-projekt.

Flödet i ett inbyggt Linux-system