Temmuz 10

Yocto Project ile Raspberry Pi2 Derlenmesi

yocto

Yocto Project, özelleştirilmiş gömülü sistem çekirdekleri derleyebileceğiniz bir framework. Minimal bir çekirdeği isterseniz intelle ya da imx.6’ya, beagle bone ya da raspberry pi’ye sadece katman tanımını değiştirerek derleyebiliyorsunuz. Gördüğüm en büyük avantajlarından biri bu her sistem için ayrı ayrı zaman harcamıyorsunuz. Bu derleme işleminide sekiz işlemciye sekiz ayrı iş olarak dağıtabiliyorsunuz. Ama buna rağmen işlem süresi 5-6 saati bulabiliyor. Boreas kullananlar bilir yocto yüklü gelir 😀 Sadece bir önceki yazıdaki paketler hariç :,( Onları bir zahmet kurmamız gerek 😀

İlk işlem raspberry pi için gerekli katmanı indirmek ;

cd /opt/yocto_project/poky/

git clone git://git.yoctoproject.org/meta-raspberrypi

cd

cd Project

mkdir yocto

cd yocto

. oe-init-build-env rpi2  (başındaki "." işaretini atlamayın sakın 🙂 )

 

Şimdi rpi2 adında bir klasörümüz oldu ve içerisinde sadece conf klasörü mevcut.

Bu klasörden local.conf dosyasını açıyoruz.

MACHINE ??= "qemux86"  olan satırı MACHINE ??= "raspberrypi2" yapıyor ve kaydedip çıkıyoruz.

 

ardından bblayers.con dosyasını açıyor. Bu dosya bizim katmanlarımızı kaydettiğimiz dosya. Buraya raspberrypi2 katmanını tanımlamamız gerekiyor.İlk başta indirmiş olduğumuz katman.

BBLAYERS ?= " \
/opt/yocto_project/poky/meta \
/opt/yocto_project/poky/meta-yocto \
/opt/yocto_project/poky/meta-yocto-bsp \
/opt/yocto_project/poky/meta-raspberrypi \
"

 

yine kaydedip çıkıyoruz.

Burada local conf proje ayarlarının yapıldığı yer. Başta bahsettiğim paralel iş sayısı, kullanılacak çekirdek sayısı buradan ayarlanıyor.

GPU_MEM = "16"
PARALLEL_MAKE = "-j 9"
BB_NUMBER_THREADS = "9"

 

*Girilebilir örnek değişkenler.

BBlayers ise bit bakes’in katman ayarlarının girildiği yer.

ayarlarımızı yaptıktan sonra rpi2 klasörü içerisinde

bitbake rpi-basic-image

 

komutunu çalıştırıyoruz ve rpi2 dağıtımımız derlenmeye başlıyor.

……… Derliyor

……… Derliyor

……… Derliyor

Epey bi derledikten sonra bitiyor.

tmp/deploy/images/raspberrypi2

klasörü altında derlenmiş rasberrypi2 imageları bulunyor.

sudo dd if=tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg of=/dev/mmcblk0

Komutuyla sdcard için olan imajı sdcarda yüklüyoruz. mmcblk0 benim sistemimde sdcard’ın donanım bağlantısı bu sizde farklı adreslerde olabilir. Bunu öğrenmek için lsblk komutunu kullanıp bağlı olduğu ana bağlantıyı (partitionları değil) kullanmanız gerekiyor.