OpenEmbedded
From Wikipedia, the free encyclopedia
OpenEmbedded (zkratka OE) je prostředí pro automatizaci sestavování softwaru (anglicky build automation) a křížový překlad používané pro tvorbu linuxových distribucí pro vestavěná zařízení[2]. OpenEmbedded framework vyvinula komunita OpenEmbedded, která byla formálně založena v roce 2003. OpenEmbedded je doporučený buildovací systém projektu Yocto, což je pracovní skupina Linux Foundation, která pomáhá komerčním společnostem při vývoji linuxových systémů pro vestavěná zařízení.
![]() | |
Vývojář | více než 75 vývojářů[1] |
---|---|
Operační systém | Linux |
Vyvíjeno v | shellový skript |
Typ softwaru | Automatizace sestavování softwaru |
Licence | MIT |
Web | www |
Některá data mohou pocházet z datové položky. |
Buildovací systém je založen na BitBake „receptech“, které udávají, jak se builduje určitý balíček, i seznamy závislostí a lokací zdrojového kódu, a instrukce, jak přeložený balíček nainstalovat nebo odstranit. Nástroje OpenEmbedded používají tyto recepty pro získání a patchování zdrojového kódu, překlad a linkování programů, vytvoření binárních balíčků (ipk, deb, rpm) a vytvoření diskových obrazů pro zavádění systému (boot).
Historicky byly kolekce OpenEmbedded receptů uloženy v jednom repozitáři a metadata byla strukturována do tvaru nyní nazývaného „OpenEmbedded-Classic“. Kolem roku 2010 začala být správa stále rostoucího množství receptů příliš složitá. Proto byla metadata receptu rozdělena do několika vrstev. Nejnižší vrstva obsahuje platformně nezávislá a na distribuci nezávislá metadata a nazývá se „OpenEmbedded-Core“[3]. Instrukce závislé na architektuře, aplikaci nebo distribuci jsou aplikovány ve vhodných cílových vrstvách pro podporu cíle, a mohou mít přednost před instrukcemi z nižší vrstvy nebo je mohou doplňovat. Změny receptů v centrální (core) vrstvě se nyní spravují pomocí pull modelu: místo commitování svých změn přímo do repozitáře (což byl dřívější postup) vývojáři posílají svoje patche do elektronická konference. Schválené patche správce zahrne (pull) do projektu.[3]
OpenEmbedded framework lze nainstalovat a automaticky aktualizovat pomocí verzovacího systému git.[2]
Historie
Projekt OpenEmbedded vytvořil Chris Larson, Michael Lauer a Holger Schurig sloučením výsledků projektu OpenZaurus s příspěvky z projektů jako Familiar Linux a OpenSIMpad do společné kódové základny. OpenEmbedded nahradil novější verze uvedených projektů a umožňoval sestavení softwaru kteréhokoli z nich ze stejné kódové báze. K dispozici jsou stabilní verze pro starý OpenEmbedded-Classic,[4] i když budoucí vývoj bude nebo je založen na novém OpenEmbedded-Core.
Projekt OpenEmbedded-Core (zkráceně OE-Core) vznikl sloučením projektu Yocto s OpenEmbedded.[5] Jde o poslední verzi OpenEmbedded, a je v něm dostupných mnoho OE-dev receptů. Novější verze receptů pro balíčky mohou být portovány pouze pro OpenEmbedded-Core.
Organizace vrstev
Při sloučení s Yocto upravil OpenEmbedded-Core jeho vrstvenou strukturu a postupně byly přidány položky nové vrstvy.[6][7] Struktura, která reprezentuje vrstvy, má pouze deklarativní povahu. Přísnější pravidla platí pro praametry určující, jaké položky patří do jakých balíčků. Vysvětlení vrstev je dostupné v layers
- Vývojářská vrstva
- Uživatelem definovaná vrstva pro přizpůsobování Bitbake receptů. Sem vývojáři vestavěného systému umísťují svůj recept, pokud software nepatří do komerční nebo bázové vrstvy.
- Komerční vrstva
- Balíčky, pluginy a konfigurace od komerčních dodavatelů softwaru s otevřeným zdrojovým textem patří do této vrstvy.
- Vrstva závislá na uživatelském rozhraní
- Vrstvy aktuálně přítomné ve vrstvě meta-openembedded:
- meta-efl (okenní manažer Enlightenment)
- meta-gnome (okenní manažer GNOME)
- meta-gpe (okenní manažer GPE)
- meta-xfce (okenní manažer Xfce)
- Hardwarově závislá vrstva
- meta-efikamx (zařízení Efika)
- meta-fsl-arm (oficiálně podporované vývojové desky Freescale Semiconductor)
- meta-fsl-arm-extra (komunitou podporované desky Freescale Semiconductor)
- meta-handheld (pro PDA)
- meta-intel (vestavěná zařízení firmy Intel)
- meta-nslu2 (zařízení NSLU2)
- meta-openpandora (zařízení Openpandora)
- meta-smartphone (různé smartfony)
- meta-ti (zařízení Texas Instruments)
- meta-xilinx (zařízení Xilinx)
- meta-altera (zařízení Altera)
- meta-ettus (SDR zařízení Ettus Research USRP)
- a další
- Vrstva OpenEmbedded-Core
- openembedded-core
- meta-openembedded
Podporované distribuce
V OpenEmbedded-Classic mohou být konfigurace ze základní vrstvy (anglicky base layer) do UI vrstvy doplněny různými linuxovými distribucemi. Pro OpenEmbedded je dostupný následující seznam:
Podporovaný hardware
Mezi podporovaná zařízení patří:[11]
- Desky a procesory
- Jsou podporovány desky BeagleBoard firem Texas Instruments, Gumstix,[12][13] Nvidia Tegra a několik zařízení I.MX (například řady I.MX28)[14] firmy Freescale Semiconductor.[zdroj?]
- K podporovaným deskám patří i další dobře známé desky jako PandaBoard[15][16] a další hardware.
- OpenEmbedded podporuje některá zařízení řady PowerPC firmy IBM[17].
- Smartfony
- K podporovaným smartfonům patří např. Nokia N800 a Neo FreeRunner.
Odkazy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.