OpenEmbedded - OpenEmbedded
| Utvikler (er) | 75+ utviklere |
|---|---|
| Oppbevaringssted |
|
| Operativsystem | Linux |
| Plattform | Kryssplattform |
| Type | Bygg automatisering |
| Tillatelse | MIT |
| Nettsted | www |
OpenEmbedded er et automatisert rammeverk for bygg og krysskompilering som brukes til å lage Linux-distribusjoner for innebygde enheter . OpenEmbedded-rammeverket er utviklet av OpenEmbedded-fellesskapet, som ble formelt etablert i 2003. OpenEmbedded er det anbefalte byggesystemet for Yocto-prosjektet , som er en Linux Foundation- arbeidsgruppe som hjelper kommersielle selskaper i utviklingen av Linux-baserte systemer for innebygde produkter.
Byggesystemet er basert på BitBake "oppskrifter", som spesifiserer hvordan en bestemt pakke er bygget, men inneholder også lister over avhengigheter og kildekodeplasseringer, samt instruksjoner om hvordan du installerer og fjerner en kompilert pakke. OpenEmbedded -verktøy bruker disse oppskriftene til å hente og lappe kildekoden, kompilere og koble binære filer, produsere binære pakker ( ipk , deb , rpm ) og lage oppstartbare bilder.
Historisk sett ble OpenEmbeddeds samling av oppskrifter lagret i et enkelt depot, og metadataene var strukturert i et skjema som nå heter "OpenEmbedded-Classic". I 2010 hadde det blitt stadig vanskeligere å håndtere det stadig voksende antallet oppskrifter. For å løse dette ble oppskriftsmetadata delt inn i flere lag. Det laveste laget, som inkluderer plattformuavhengige og distribusjonsuavhengige metadata, kalles "OpenEmbedded-Core". Arkitekturspesifikke, applikasjonsspesifikke og distribusjonsavhengige instruksjoner brukes i passende målstøttelag som kan overstyre eller utfylle instruksjonene fra nedre lag. I tillegg administreres endringer i oppskriftene i kjernelaget nå med en pull -modell: I stedet for å gjøre endringene direkte til depotet (som tidligere var tilfellet), sender utviklere nå oppdateringene sine til adresselisten. Lappene, hvis de er godkjent, blir deretter slått sammen (trukket) av en vedlikeholder.
OpenEmbedded -rammeverket kan installeres og oppdateres automatisk via Git .
Historie
Den Openembedded Prosjekt ( OE for kort) ble opprettet av Chris Larson, Michael Lauer, og Holger Schurig, sammenslåing prestasjoner av openzaurus med bidrag fra prosjekter som Familiar Linux og OpenSIMpad i en felles kodebase. OpenEmbedded erstattet disse prosjektene og ble brukt til å bygge noen av dem fra samme kodebase. Det finnes stabile vedlikeholdsbygninger for den gamle OpenEmbedded-Classic, selv om mesteparten av utviklingen er, eller vil være, basert på den nye OpenEmbedded-Core i fremtiden.
Den Openembedded kjerner Project ( OE-kjerne for kort) resulterte fra flettingen av Yocto prosjekt med Openembedded. Dette er den nyeste versjonen av OpenEmbedded, og mange av OE-dev-oppskriftene er tilgjengelige i OE-Core. Nyere versjoner av pakkeoppskrifter kan bare bli portet for OpenEmbedded-Core.
Lagorganisasjon
OpenEmbedded-Core har tilpasset denne lagdelte strukturen i sammenslåingen med Yocto, og nye lagoppføringer ble lagt til over tid. Lagene representerer en struktur som bare er av deklarativ karakter. De spesifikke oppføringene er strengere når det gjelder å bestemme hvilken oppføring som gir hvilke pakker. Oversikt over lag er tilgjengelig i: lag
- Utviklerlag
- Det brukerdefinerte laget for tilpassede Bitbake-oppskrifter. Innebygde systemprogramvareutviklere vil plassere oppskriften her hvis programvaren ikke passer til det kommersielle eller grunnlaget.
- Kommersielt lag
- Pakker, plugins og konfigurasjoner fra open source -leverandører går i dette laget.
- UI-spesifikt lag
- Lag som for tiden er tilstede i meta-openembedded-laget:
- meta-efl ( Enlightenment Window Manager)
- meta-gnome ( GNOME- vindusbehandling)
- meta-gpe ( GPE- vindusbehandling)
- meta-xfce ( Xfce- vindusbehandling)
- Maskinvarespesifikt lag
-
- meta-efikamx ( Efika- enheter)
- meta-fsl-arm ( Freescale Semiconductor støttet offisielt utviklingstavler)
- meta-fsl-arm-extra ( Freescale Semiconductor community-støttede tavler)
- meta-håndholdt ( personlige digitale assistenter , PDAer)
- meta-Intel ( Intel innebygde enheter)
- meta-nslu2 ( NSLU2- enheter)
- meta-openpandora ( Openpandora- enheter)
- meta-smarttelefon (forskjellige smarttelefonenheter)
- meta-ti ( Texas Instruments- enheter)
- meta-xilinx ( Xilinx- enheter)
- meta-altera ( Altera- enheter)
- meta-ettus (Ettus Research USRP SDR-enheter)
- (Andre)
- Yocto -lag
-
- meta-yocto (Yocto Project-lag)
- OpenEmbedded-Core-lag
-
- åpen innebygd kjerne
- meta-openembedded
Distribusjoner støttes
I OpenEmbedded-Classic kan konfigurasjonene fra Base- til UI-Layer suppleres med forskjellige Linux-distribusjoner . Følgende liste er tilgjengelig for OpenEmbedded:
Støttet maskinvare
Ulike enheter støttes:
- Brett og prosessorer
- Den BeagleBoard fra Texas Instruments, den Gumstix , Nvidia Tegra og flere I.MX enheter (f.eks I.MX28 serie) fra Freescale Semiconductor støttes.
- Andre kjente brett som PandaBoard støttes også. sammen med annen maskinvare.
- Noen enheter i IBM PowerPC -serien støttes av OpenEmbedded.
- Smarttelefoner
- Smarttelefoner som Nokia N800 og Neo FreeRunner støttes.
- Porting til ny maskinvare
- Konstellasjonen av OpenEmbedded, spesielt den åpne designen, gjør at den kan få OpenEmbedded til å tilpasse ny maskinvare ganske enkelt.