Bu bölümde Gemstone geliştirme kartlarının Kernel, Bootloader, Firmware, BSP (Board Support Packages),
Initrd (Init Ramdisk) bileşenlerinin derlenmesi için kullanılan
meta-gemstone Yocto çalışması ele alınacaktır.
Bölüm bitiminde aşağıdaki konularda bilgi sahibi olacaksınız.
- Gemstone’a ait yocto çalışmalarının yapısı
- Yocto derleme işlemlerinin nasıl yapıldığı
devbox shell
—> task box
—> task yocto:build
komutları çağrılır. Taskfile, yocto buildleri için sizlerden sadece MACHINE
değişkenini
bekler. Atama yapmazsanız varsayılan olarak intel-corei7-64
seçilir.
Örnek
1. meta-gemstone
Gemstone için Yocto özelinde yapılan tüm geliştirmeler meta-gemstone adlı katmanda toplanmıştır. Yocto’nun modüler yapısını korumak ve sistemi katman güncellemelerine hızlıca adapte edebilmek amacıyla üzerinde hiçbir değişiklik yapılmamalıdır. Bunun yerine istenen tarifler Yocto’nun.bbappend
dosyaları kullanılarak meta-gemstone katmanı üzerinde özelleştirilmelidir.
1.1. Klasör yapısı
conf/
Dağıtım konfigürasyonu, ve makinelere özel konfigürasyon şablonları bu klasörde yer alır.
recipes-core/images/
Initrd ve diğer imajların hangi paketleri barındıracağı, gereksinimleri ve özellikleri gibi tanımlamalar bu klasör
altında bulunan
.bb
uzantılı tarif dosyalarında yapılır.recipes-*/
recipes-
şeklinde başlayan diğer tüm klasörler, tarifleri kategorize etmek için kullanılmaktadır. Diğer
katmanlarda yazılan tarifleri özelleştirmeyi sağlayan .bbappend
uzantılı dosyalar genellikle bu klasörler altında
tutulur.2. Yocto Çıktıları
Yocto, build işlemi esnasında neredeyse tüm projeleri DEB, IPK ya da RPM biçiminde paketleyebilmektedir. Gemstone, debian tabanlı olduğundan Gemstone dağıtımı için derlenen projelerin DEB biçiminde paketlenmesi uygun görülmüştür.Üretilen paketlere
<sdk-dizini>/build/yocto/tmp-musl/deploy/deb/<makine-adi>
klasöründen ulaşabilirsiniz.Debos
Debos, Gemstone imajını oluştururken /boot dizinine konulacak olan kernel, bootloader, firmware,
device-tree ve initrd gibi dosyaları Yocto’nun oluşturduğu DEB paketlerinden almaktadır.
Gemstone APT Sunucusu
Kernel modülleri, initrd, bootloader ve firmware gibi makineye özel olan DEB paketleri Yocto ile
üretilmekte ve Gemstone APT sunucusuna yüklenmektedir.