Bu bölümde Gemstone geliştirme kartlarında bulunan imajların derlenmesi için kullanılan Debos isimli aracın
konfigürasyon dosya yapısı ele alınacaktır. Bölüme başlamadan önce Bileşenler kısmını
okumuş olmanız gerekmektedir.
devbox shell —> task box —> task distro:build komutları çağrıldığında
Debos; Docker içerisinden başlatılarak parametre olarak verilen değişkenlere göre özelleştirmeler yapılır,
gerekli dosyalar kopyalanır ve
kurulum scriptleri çalıştırılır.
Örnek
1. Parametreler
Özet olarak bir kaç parametre açıklanmış olup geri kalanlar için sdk/Taskfile.yml dosyasındakivars bölümü incelenmelidir.
beagley-ai intel-corei7-64 t3-gem-o1 qemuarm64minimal desktop kioskubuntu debian pardusjammy noble bullseye bookworm yirmiuc-debamd64 arm64Derleme sonucu oluşan .img uzantılı imaj dosyasının boyutudur.
2. Dağıtımlar
Gemstone Imager uygulaması ile yeni bir karta imaj yükleme sürecinde, yukarıdaki dağıtımlar seçilebilmektedir. Varsayılan olarak Gemstone geliştirme kartında Ubuntu 22.04 dağıtımı tercih edilmekle birlikte farklı projelerdeki ihtiyaçlar göz önüne alınarak Debian 11, Debian 12 ve Pardus 23 imajları da desteklenmiştir.Ubuntu’nun en güncel LTS (Long-term support) sürümü 24.04’tür fakat özellikle ROS, Yocto gibi projelerde çeşitli
problemler yaşanabildiği için 22.04 tercih edilmektedir.
En güncel kütüphaneler ve uygulamalar için tercih edilmektedir.
Mevcut kodları Debian 11 için stabil olan projelerde tercih edilmektedir.
Debian’ın en güncel sürümüdür.
Pardus’un en güncel sürümüdür.
3. İmajlar
IoT, Gerçek Zamanlı Sistemler, Network Uygulamaları, Gömülü Yazılım, İnsanlı ve İnsansız Araçlar,
Akıllı ev uygulamaları, Otopilot vb. alanlarda kullanılabilir.
Test, Prototip, Geliştirme, Eğitim vb. amaçlarla veya küçük bir bilgisayar olarak kullanılabilir.
Üzerine dokunmatik ekran bulunan Kiosk, Otonom Araç Paneli, Komuta Kontrol Paneli gibi projelerde kullanılabilir.
4. Makineler
T3 Gemstone O1 geliştirme kartına ait makine türüdür.
QEMU ile sanal olarak kullanmak için tercih edilmektedir.
Oluşturulan imajlar aynı zamanda BeagleY-AI geliştirme kartında kullanılabilmektedir.
QEMU ile sanal olarak kullanmak için tercih edilmektedir.
5. Konfigürasyon Dosyası
Debos isimli araç sdk/distro/distro.yaml isimli dosyayı okuyarak 4 aşamalı bir işlem gerçekleştirerek.img dosyasını/dağıtımı oluşturur.
1
Debootstrap/Apt
Parametre olarak verilen Dağıtım türüne göre (Ubuntu veya Debian)
debootstrap aracıyla ilgili dağıtımların
APT paket sunucularından .deb uzantılı bütün paketleri indirir.2
Paketlerin Kurulumu
İndirilen .deb uzantılı paketlerin kurulumu için
rootfs ismi verilen bir klasör yapısı
oluşturarak GNU/Linux işletim sistemi gereksinimlerini ayarlayarak paketlerin kurulumunu rootfs
içerisine chroot yöntemi ile yapar.3
Özelleştirme İşlemleri
Deb paketlerinin kurulumu tamamlandıktan sonra
yaml dosyasında bulunan overlay ve run türündeki tanımlamalarla
imajın içerisine yüklenecek dosyalar kopyalanır ve kurulum scriptleri çalıştırılır.4
İmaj Dosyası Oluşturma
Yukarıdaki bütün işlemler başarılı bir biçimde tamamlandıktan sonra
image-partition türündeki tanımlamaya
göre boot, rootfs disk bölümlendirmeleri yapılır, .img uzantılı dosya oluşturulur ve bütün dosyalar içerisine taşınır.
