OpenEmbedded
Utvecklare | 75+ utvecklare |
---|---|
Förvar | |
Operativ system | Linux |
Plattform | Cross-plattform |
Typ | Bygg automation |
Licens | MIT |
Hemsida |
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:
- 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:
- meta-efl ( Enlightenment window manager)
- meta-gnome ( GNOME fönsterhanterare)
- meta-gpe ( GPE fönsterhanterare)
- meta-xfce ( Xfce fönsterhanterare)
- Hårdvaruspecifikt lager
-
- meta-efikamx ( Efika- enheter)
- meta-fsl-arm ( Freescale Semiconductor officiellt stödda utvecklingskort)
- meta-fsl-arm-extra ( kort som stöds av Freescale Semiconductor- gemenskapen)
- meta-handdator ( Personliga digitala assistenter , handdatorer)
- meta-intel ( Intel inbäddade enheter)
- meta-nslu2 ( NSLU2 -enheter)
- meta-openpandora ( Openpandora- enheter)
- meta-smartphone (olika smartphone-enheter)
- meta-ti ( Texas Instruments- enheter)
- meta-xilinx ( Xilinx- enheter)
- meta-altera ( Altera- enheter)
- meta-ettus (Ettus Research USRP SDR-enheter)
- (Andra)
- 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? ]