# OpenEmbedded
OpenEmbedded, gömülü sistemler için Linux dağıtımları oluşturmak için kullanılan bir yapı otomasyonu çerçevesi ve çapraz derleyiciler ortamıdır. OpenEmbedded çerçeve 2003 yılında resmen kurulan OpenEmbedded topluluğu tarafından geliştirilmiştir. OpenEmbedded, ticari şirketlere gömülü ürünler için Linux tabanlı sistem geliştirilmesine yardımcı olan ve Linux Foundation çalışma grubu olan Yocto Projesinin önerilen yapı sistemidir.
Yapı sistemi, belirli bir paketin nasıl oluşturulduğunu belirten BitBake "tarifleri" ni temel alır, ancak bağımlılıkların ve kaynak kodlarının bulunduğu listelerin yanı sıra derlenmiş bir paketin nasıl kurulacağı ve kaldırılacağıyla ilgili talimatları da içerir. OpenEmbedded araçları, bu tarifleri kaynak kodu getirip yamalamak, ikili dosyaları derlemek ve bağlamak, ikili paketler (ipk, deb, rpm) üretmek ve önyüklenebilir görüntüler oluşturmak için kullanmaktadır. OpenEmbedded çerçevesi yüklenebilir ve otomatik olarak Git ile güncellenir.


## Tarihi.
OpenEmbedded Projesi (kısaca OE-ancak, çoğunlukla OE-dev olarak adlandırılır); Chris Larson, Michael Lauer ve Holger Schurig tarafından OpenZaurus'un kazanımlarını Familiar Linux gibi projelerden birleştirerek yaratılmıştır. Linux ve SIMpad'i ortak bir kod tabanı haline getirir. OpenEmbedded, bu projelerin yerini almış ve bunlardan herhangi birini aynı kod tabanından oluşturmak için kullanılmıştır. Çoğu gelişme gelecekte yeni OpenEmbedded-Core temel alınsa da olacağı halde, eski OpenEmbedded-Classic için kararlı bakım yapıları bulunmaktadır.
OpenEmbedded-Core Projesi (kısaca OE-Core), Yocto Projesinin OpenEmbedded ile birleştirilmesinden kaynaklanmıştır. Bu, OpenEmbedded'un en yeni sürümüdür ve OE-dev tariflerinin birçoğu OE-Core'da mevcuttur. Paket tariflerinin daha yeni sürümleri yalnızca OpenEmbedded-Core için taşınabilir.


## Katman organizasyonu.
OpenEmbedded-Core bu katmanlı yapıyı Yocto ile birleştirdi ve zamanla yeni katman girdileri eklendi. Katmanlar yalnızca bildiri niteliğindeki bir yapıya sahiptir. Belirli girdiler hangi girdinin hangi paketleri sağladığına karar verme alanında daha sıkıdır.
Geliştirici katmanı - Özel Bitbake tarifleri için kullanıcı tanımlı katman. Gömülü sistem yazılım geliştiricileri, yazılım ticari veya temel katmana uymuyorsa, tarifi buraya yerleştireceklerdir.
Ticari katman - Açık kaynak satıcılarının paketleri, eklentileri ve yapılandırmaları bu katmanda yer alır.
UI'ya özgü katman - Katmanlar şu anda meta-açık katıştırılmış katman içinde mevcut:
  - meta-efl (Enlightenment penceresi yöneticisi)
  - meta-gnome (GNOME pencere yöneticisi)
  - meta-gpe (GPE pencere yöneticisi)
  - meta-xfce (Xfce pencere yöneticisi)
Donanıma özgü katman
  - meta-efikamx (Efika cihazları)
  - meta-fsl-kol (Freescale Semiconductor resmi olarak geliştirme kurullarını destekledi)
  - meta-fsl-arm-extra (Freescale Semiconductor topluluğu destekli panolar)
  - meta handheld (Kişisel dijital asistanlar, PDA'lar)
  - meta-ıntel (Intel gömülü aygıtlar)
  - meta-nslu2 (NSLU2 cihazları)
  - meta-openpandora (Pandora aygıtları)
  - meta-akıllı telefon (çeşitli akıllı telefon cihazları)
  - meta-ti (Texas Instruments cihazları)
  - meta-xilinx (Xilinx cihazları)
  - meta-altera (Altera cihazları)
  - (Diğer)
Yocto katmanı
  - openembedded-core
  - meta-openembedded


## Desteklenen dağıtımlar.
OpenEmbedded-Classic'te Base'den UI Layer'a yapılan yapılandırmalar çeşitli Linux dağıtımı tarafından desteklenebilir. OpenEmbedded için şu liste mevcuttur:
  - Ångström dağıtımı
  - KaeilOS
  - Openmoko
  - SHR
  - SlugOS
  - WebOS
  - Diğerleri


## Desteklenen donanımlar.
Çeşitli cihazlar desteklenmektedir:
Kartlar ve vagonetler - Texas Instruments'tan BeagleBoard, Gumstix, Nvidia Tegra ve Freescale Semiconductor'dan çeşitli I.MX cihazları (örneğin I.MX28 serisi) desteklenmektedir.
Pandaboard gibi diğer iyi bilinen panolar da diğer donanımlarla birlikte desteklenmektedir.
IBM PowerPC serisinin bazı aygıtları OpenEmbedded tarafından desteklenir.
Akıllı telefonlar - Nokia N800 ve Openmoko Neo FreeRunner gibi akıllı telefonlar desteklenmektedir.