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.
Devam etmeden önce aşağıdaki dosyaları incelemiş olduğunuza emin olunuz.
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
qemuarm64
minimal
desktop
kiosk
ubuntu
debian
pardus
jammy
noble
bullseye
bookworm
yirmiuc-deb
amd64
arm64
Derleme 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.Debian dağıtımlarında (kabaca ifade edilecek olursa) temel ilke; güvenlik ve kararlılık iken Ubuntu
dağıtımlarında; aynı ilke birlikte daha sık güncelleme ve işletim sistemininde bulunan paketlerin yeni versiyonlarını
son kullanıcıya ulaştırma denilebilir. Kullanıcıların tercih sebebi ise tamamen sistemleri tanımları ve ihtiyaçları
ile ilgilidir.
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 Obsidyen 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.