Igalia, gömülü sistemler için bir dağıtım olan Moonforge'u tanıttı.

GNOME, GTK, WebKitGTK, Epiphany, Maemo, GStreamer, Wine, Mesa ve freedesktop.org gibi açık kaynak projelerine yaptığı katkılarla tanınan Igalia, çeşitli cihazlar ve gömülü sistemler için özel Linux dağıtımlarının oluşturulmasını ve bakımını basitleştiren Moonforge projesini tanıttı. Dağıtımın temel bileşenleri, OpenEmbedded ve Yocto projelerinden alınan derleme araçları ve paket meta verilerine dayanmaktadır. Projeye özgü geliştirmeler MIT lisansı altında dağıtılmaktadır.

Moonforge, geliştiricilere ve sistem entegratörlerine, Yocto, Bitbake ve Kas gibi kanıtlanmış ve yaygın olarak kullanılan endüstri teknolojilerine dayalı, atomik olarak güncellenebilir sistem imajları oluşturmak için bir çerçeve, bir dizi yapılandırma dosyası ve bir bileşen koleksiyonu sunar. Ortaya çıkan imajlar, basitleştirilmiş bir güncelleme sürecini ve uzun vadeli bir bakım döngüsünü destekler. Projenin birincil amacı, gömülü sistem geliştiricilerine kullanıcı dostu bir araç seti sağlayarak, ürün özelinde işlevsellik geliştirmeye odaklanmalarını ve dağıtım oluşturma ve bakım ile ilgili zaman kaybından kaçınmalarını sağlamaktır.

Sistem imajı, hazır Yocto modüllerinden oluşan bir kümeden oluşturulmuştur. Her modül, belirli bir özellikten veya belirli bir hedef donanım platformuna yönelik destekten sorumludur. Örneğin, Docker, QEMU veya Podman desteği, RAUC aracılığıyla güncelleme yönetimi ve kompozit tabanlı grafik arayüzü oluşturma için modüller mevcuttur. sunucu Weston, internet kioskları için Webkit tabanlı bir tarayıcı arayüzü geliştiriyor ve Raspberry Pi 4 ve 5 kartları için yazılımlar üretiyor.

Üç farklı sürüm dağıtım kanalı desteklenmektedir: stable (kararlı LTS dalı), next (bir sonraki LTS sürümünün geliştirildiği dal) ve main (geliştirmenin gerçekleştiği deneysel dal). Her dal, Yocto bileşen setinin kendi sürümüne bağlıdır. Stable dalı aylık olarak güncellenir ve Yocto LTS sürümlerine karşılık gelir.

Güncellemeler, Mender araçları kullanılarak kablosuz (OTA) olarak dağıtılır ve tüm sistemi değiştirerek atomik olarak yüklenir. Sürücüde iki özdeş kök bölüm oluşturulur: aktif ve pasif. Yeni güncelleme, aktif bölümü etkilemeden pasif bölüme yüklenir. Yeniden başlatmanın ardından bölümler yer değiştirir; yeni güncellemenin bulunduğu bölüm aktif hale gelir ve daha önce aktif olan bölüm pasif moda geçer ve bir sonraki güncellemeyi bekler. Güncellemeden sonra bir sorun oluşursa, sistem önceki sürüme geri döndürülür.

BitBake sistem imajları oluşturmak için kullanılırken, kas ise yapılandırmaları oluşturmak ve tekrarlanabilir derlemeler sağlamak için kullanılır. Derlemeler, güncellemeler, güvenlik açığı raporları ve SBOM (Yazılım Malzeme Listesi) meta verileri, sürekli entegrasyon ve sürekli dağıtım (CI/CD) sistemleri kullanılarak otomatik olarak toplanır ve yayınlanır. Moonforge tabanlı derleme altyapısı hem yerel hem de uzak sunuculara dağıtılabilir. sunucularHem genel hem de özel bulut ortamlarında.

Türetilmiş ürünlerin geliştirilmesinde şeffaflık ve öngörülebilirlik sağlamak için, dağıtım, yukarı akış ve aşağı akış bileşenleri arasında sıkı bir ayrım gözetmekte ve geliştiricilerin ihtiyaç duydukları şekilde temel paketin üzerine ek işlevsellik eklemelerine olanak tanımaktadır. Yapılandırma, YAML formatı kullanılarak bildirimsel olarak tanımlanır ve harici depoların bağlanması, Yocto modüllerinin etkinleştirilmesi, dağıtım bileşenleri arasındaki bağımlılıkların yönetilmesi, ek yamaların uygulanması ve varsayılan sistem ayarlarının değiştirilmesi gibi alanları kapsar.

Kaynak: opennet.ru

Yorum ekle