OpenEmbedded

OpenEmbedded
Utvecklare 75+ utvecklare
Förvar
Operativ system Linux
Plattform Cross-plattform
Typ Bygg automation
Licens MIT
Hemsida www .openembedded .org

OpenEmbedded är ett ramverk för byggautomation och korskompileringsmiljö som används för att skapa Linux-distributioner för inbäddade enheter . OpenEmbedded-ramverket är utvecklat av OpenEmbedded-communityt, som formellt etablerades 2003. OpenEmbedded är det rekommenderade byggsystemet för Yocto Project , som är en Linux Foundation- arbetsgrupp som hjälper kommersiella företag i utvecklingen av Linux-baserade system för inbäddade produkter.

Byggsystemet är baserat på BitBake "recept", som anger hur ett visst paket är byggt men även inkluderar listor över beroenden och källkodsplatser, samt för instruktioner om hur man installerar och tar bort ett kompilerat paket. OpenEmbedded-verktyg använder dessa recept för att hämta och korrigera källkod, kompilera och länka binärfiler, producera binära paket ( ipk , deb , rpm ) och skapa startbara bilder.

Historiskt sett har OpenEmbeddeds receptsamling lagrats i ett enda arkiv, och metadata strukturerades i en form som nu kallas "OpenEmbedded-Classic". År 2010 hade det blivit allt svårare att hantera det ständigt växande antalet recept. För att lösa detta delades receptmetadata upp i flera lager. Det lägsta lagret, som inkluderar plattformsoberoende och distributionsoberoende metadata kallas "OpenEmbedded-Core". Arkitekturspecifika, tillämpningsspecifika och distributionsberoende instruktioner appliceras i lämpliga målstödlager som kan åsidosätta eller komplettera instruktionerna från lägre lager. Dessutom hanteras ändringar av recepten i kärnskiktet nu med en pull-modell: istället för att skicka sina ändringar direkt till förvaret (som tidigare var fallet), skickar utvecklare nu sina patchar till e-postlistan. Plåstren, om de godkänns, slås sedan samman (dras) av en underhållare.

OpenEmbedded-ramverket kan installeras och uppdateras automatiskt via Git .

Historia

OpenEmbedded Project ( förkortat OE ) skapades av Chris Larson, Michael Lauer och Holger Schurig, och slog samman prestationerna från OpenZaurus med bidrag från projekt som Familiar Linux och OpenSIMpad till en gemensam kodbas. OpenEmbedded ersatte dessa projekt och användes för att bygga vilket som helst av dem från samma kodbas.

OpenEmbedded -Core Project ( förkortat OE-Core ) resulterade från sammanslagningen av Yocto-projektet med OpenEmbedded. Alla paketrecept underhålls sedan dess genom OpenEmbedded-Core.

Lagerorganisation

OpenEmbedded-Core har anpassat denna lagerstruktur i sammanslagning med Yocto och nya lagerposter har lagts till med tiden. Skikten representerar en struktur som endast är av deklarativ natur. De specifika posterna är strängare när det gäller att bestämma vilken post som tillhandahåller vilka paket. Översikt över lager finns i: lager .openembedded .org /layerindex /branch /master /layers /

Utvecklarlager
Det användardefinierade lagret för anpassade Bitbake-recept. Utvecklare av inbäddade systemprogramvara skulle placera sitt recept här om programvaran inte skulle passa det kommersiella eller basskiktet.
Kommersiella lager
Paket, plugins och konfigurationer från leverantörer av öppen källkod går i detta lager.
UI-specifikt lager
Lager som för närvarande finns i det meta-öppna inbäddade lagret:
Hårdvaruspecifikt lager
Yocto layer
  • meta-yocto (Yocto Project layer)
OpenEmbedded-Core lager
  • öppen inbäddad kärna
  • meta-öppen inbäddad

Distributioner stöds

I OpenEmbedded-Classic kan konfigurationerna från Base- till UI-Layer kompletteras med olika Linux-distributioner . Följande lista är tillgänglig för OpenEmbedded:

Hårdvara som stöds

Olika enheter stöds:

Kort och processorer
BeagleBoard från Texas Instruments och en mängd olika enheter baserade på en ARM CPU stöds .
Smartphones
Smartphones som Nokia N800 och Neo FreeRunner stöds.
Portering till ny hårdvara
Konstellationen av OpenEmbedded, särskilt den öppna designen, gör att den kan få OpenEmbedded att anpassa ny hårdvara ganska enkelt. [ felaktig syntes? ] [ felaktig syntes? ]

Se även

externa länkar