logologo

Yocto Projesi (The Yocto Project)

fav gif
Kaydet
viki star outline
yocto.jpg
Yocto Projesi
İlk Versiyon
v1.0 (Kod Adı: Bernard) (Mart 2011)
Web Sitesi
yoctoproject.org

Yocto Projesi, gömülü sistemler için özelleştirilebilir Linux dağıtımları oluşturmayı kolaylaştırmak amacıyla 2010 yılında Linux Foundation öncülüğünde başlatılan bir açık kaynak kodlu projedir.


Dünya genelinde birçok şirket ve geliştirici tarafından desteklenen proje, ARM, MIPS, PowerPC, RISC-V ve x86 gibi pek çok donanım mimarisi için hızlı, tekrarlanabilir ve modüler Linux dağıtımları oluşturmaya imkan vermektedir. Texas Instruments, NXP ve STMicroelectronics gibi birçok donanım üreticisi, Yocto'nun genişletilebilir yapısı sayesinde, kendi platformları için cihaz sürücüleri ve önyükleyiciler (bootloader) gibi bileşenleri BSP (Board Support Package) adı verilen paketler aracılığıyla projeye dahil edebilmektedirler.

Kullanım Alanları

Yocto Projesi, gömülü sistemlerin yaygın olduğu pek çok sektörde kullanılmaktadır. Savunma ve havacılık, endüstriyel otomasyon, tıbbi cihazlar, otomotiv ve telekomünikasyon gibi alanlarda özelleştirilmiş ve güvenilir Linux tabanlı cihazlar geliştirmek için Yocto projesi tercih edilmektedir​.

Projeyi Kullanan Organizasyonlar

  • ARM
  • Intel
  • Qualcomm
  • Wind River
  • BMW
  • LG
  • Siemens

Çalışma Şekli

Yocto Projesi'nin hızlı, modüler ve tekrarlanabilir dağıtımlar oluşturmasında etkisi büyük olan iki bileşen tarifler (recipes) ve katmanlardır (layers). Tarifler, yazılımlar için indirme, derleme ve paketleme gibi görevleri (task) tanımlayan .bb uzantılı dosyalardır. Aynı zamanda yazılımın derleme/çalışma zamanı gereksinimleri ve derleme işlemi sonucu oluşacak dosyaların nasıl paketleneceği gibi verileri de barındırırlar.


BitBake adı verilen görev yürütme aracı (task execution engine) ise dağıtımı oluşturacak olan yazılımların tariflerini okur ve gereksinimleri tespit eder. Ardından tariflerde tanımlanan görevleri paralel bir şekilde çalıştırarak dağıtımı oluşturur. Görevlerin çıktıları önbelleğe alınır ve bu sayede dağıtıma yapılan ekleme/çıkarma işlemlerinde görevlerin tekrardan çalıştırılması gerekmez.


Katmanlar ise bahsi geçen tarifleri ve çeşitli konfigürasyon dosyalarını gruplayan yapılardır. Katman isimleri meta- ön eki ile başlar (istisnalar hariç). Donanım desteği, sistem yapılandırması ve uygulama tarifleri genellikle birbirlerinden ayrı katmanlarda tutulur. Örnek olarak Texas Instruments'ın (TI) SoC ve geliştirme kartları için oluşturduğu meta-ti isimli BSP katmanı ve Qt uygulamaları geliştirmeyi ve çalıştırmayı sağlayan meta-qt3/4/5/6 isimli yazılım katmanları verilebilir. Dağıtım oluşturmak istendiğinde bu katmanlar üzerinde direkt olarak değişiklik yapılmaz; bunun yerine yeni bir katman oluşturulup BitBake'in append (.bbappend uzantılı) dosyaları kullanılır. Bu sayede TI veya Qt grubu katmanlarında bir değişiklik yaptığı zaman bu değişiklikleri almak ve varolan dağıtıma entegre etmek kolaylaşır.


Yocto Projesi Akış Diyagramı - Yocto Dokümantasyonu

En Yakın Alternatifi (Buildroot)

Buildroot, gömülü Linux dağıtımları oluşturmayı sağlayan, Makefile tabanlı, basitliği ve kullanım kolaylığını hedefleyen bir araçtır. Basitliğin korunabilmesi amacıyla özelleştirme imkanı Yocto projesindeki kadar geniş tutulmamıştır. Örneğin Yocto projesinde olduğu gibi her görev çıktısı önbelleğe alınmamaktadır. Dolayısıyla bazı durumlarda tüm paketlerin yeniden derlenmesini beklemek zorunda kalınabilmektedir.


Kaynakça

Linux Foundation. “Introducing the Yocto Project.” Yocto Project Documentation. Son erişim: 30 Nisan 2025. https://docs.yoctoproject.org/overview-manual/yp-intro.html#introducing-the-yocto-project.

Buildroot Geliştiricileri. The Buildroot User Manual. Son erişim: 30 Nisan 2025. https://buildroot.org/downloads/manual/manual.html.

Morrison, Scot. “Siemens among industry leaders in commercial grade Linux support for RISC-V.” Siemens Embedded Software Blog. December 15, 2022. Erişim tarihi: 11 Mayıs 2025. https://blogs.sw.siemens.com/embedded-software/2022/12/15/siemens-among-industry-leaders-in-commercial-grade-linux-support-for-risc-v/.

Linux Foundation. “How LG Took WebOS from Mobile Phones to TVs in Under a Year.” Linux Foundation Blog. 21 Nisan 2014. Erişim tarihi: 11 Mayıs 2025. https://www.linuxfoundation.org/blog/blog/how-lg-took-webos-from-mobile-phones-to-tvs-in-under-a-year.

Knight, Megan. “Sovereign Tech Fund Boosts Yocto Project.” The Yocto Project Blog. 10 Ekim 2023. Erişim tarihi: 11 Mayıs 2025. https://www.yoctoproject.org/blog/2023/10/10/sovereign-tech-fund-boosts-yocto-project/.

OpenEmbedded Projesi. “Layers – Master Branch.” OpenEmbedded Layer Index. Erişim tarihi: 11 Mayıs 2025. https://layers.openembedded.org/layerindex/branch/master/layers/.

Yocto Project. “Releases.” The Yocto Project. Erişim tarihi: 11 Mayıs 2025. https://www.yoctoproject.org/development/releases/.

Ayrıca Bakınız

Yazarın Önerileri

İşletim Sistemleriİş

İşletim Sistemleri

Bilişim Ve İletişim Teknolojileri +1
TÜBİTAK GİS (Gerçek Zamanlı İşletim Sistemi)

TÜBİTAK GİS (Gerçek Zamanlı İşletim Sistemi)

Havacılık Ve Uzay +1

Sen de Değerlendir!

0 Değerlendirme

Yazar Bilgileri

Avatar
Ana YazarMuhammet Onur Bayraktar30 Nisan 2025 20:10
KÜRE'ye Sor