BeagleBoneBlack

Beagle Bone Black son zamanlarda popüler olan, 50$ mertebesindeki fiyatı ve genişleme imkanlarıyla öne çıkan bir geliştirme platformudur.

bone black

İşlemci

TI AM335x 1GHz ARM® Cortex-A8

RAM

512MB DDR3

Storage

2GB beya 4GB 8-bit eMMC on-board flash

GPU

3D hızlandırıcı

NEON Desteği

Var

USB Host

Var

USB Power

Var

Micro SD Kart

Var

Ethernet

Var

HDMI

Var

Konsol Kablosu

Yok, ayrıca 3.3V FTDI - TTL dönüştürücü kablosu alınmalı

NAND Flash

Yok

Konsol Kablosu

  • BeagleBone-Black versiyonunun beraberinde konsol kablosu gelmemektedir

  • Bootloader seviyesinde konsol erişimi için FTDI-TTL 3.3V USB dönüştürücü kablosuna ihtiyaç bulunmaktadır.

konsol kablosu

Çalışma Dizinin Hazırlanması

  • Bu dokümanda kullanıcının ev dizini altında, beagle alt dizini oluşturulduğu varsayılmıştır:

  • Linux kernel kaynak kodları beagle/kernel dizininde bulundurulacaktır

  • Buildroot kaynak kodları, beagle/buildroot dizininde bulundurulacaktır

Buildroot BeagleBoneBlack Kernel

  • Buildroot içerisinde BeagleBoard için hazırlanmış öntanımlı kernel derleme konfigürasyonu bulunmaktadır

  • Ancak Ağustos 2013 itibariyle, bu konfigürasyon ile çalışan BeagleBoardBlack kernel imajı üretmek mümkün değildir

  • Kernel derleme işleminin Buildroot dışında ayrıca yapılması gerekmektedir

Buildroot Kaynak Kodunun İndirilmesi

Buildroot kaynak kodları git üzerinden klonlanmalıdır:

Out-Of-Tree build yöntemi ile $HOME/beagle dizini altında build dizini içerisinde buildroot ana çalışma dizinimizi oluşturalım:

İşlem bitiminde ana beagle çalışma dizininiz altında, build dizini oluşacaktır.

Bu noktadan sonra buildroot ile ilgili tüm işlemlerinizi, build dizini altında iken gerçekleştirmelisiniz:

Buildroot Konfigürasyonu

Buildroot içerisinden çıkan beaglebone_defconfig dosyasında board ile ilgili temel ayarlar mevcuttur.

Bununla birlikte aşağıdaki temel başlıklar için konfigürasyon üzerinde düzenlemeler yapılmalıdır:

  • Kullanılacak toolchain seçimi

  • Dosyaların download edileceği dizinle ilgili düzenlemeler

  • İşlem sonucunda oluşturulacak dosya sistemi tipi

  • /dev yönetimi için tercih edilen yöntem

  • Sistemde yer alması istenilen paketler

  • Bunlar temel düzenlemeler olup, öncelikle bu başlıklara değinilecektir.

Toolchain Seçimi

Buildroot içerisinde toolchain seçiminde External Toolchain kullanımı önerilir. External Toolchain kullanılacağı belirtildikten sonra, toolchain tipi seçilmelidir

Genelde 3 toolchain tipi bulunur:

  • Linaro Toolchain versiyonları

  • Sourcery CodeBench Toolchain versiyonları

  • Custom toolchain

BeagleBone Black için Linaro toolchain güncel versiyonu seçilmelidir. Sourcery CodeBench toolchain'leri henüz EABIhf ABI desteğine sahip olmadığından bu menüden seçilememektedir

Download Dizin Seçimi

Buildroot ile çalışırken, özellikle birden fazla projede buildroot kullanıldığında veya aynı projede farklı konfigürasyonlarda build işlemleri gerektiğinde, dosyaların her seferinde yeniden download edilmesi işlemleriyle vakit kaybetmemek için, genel bir download dizini belirtmekte fayda vardır.

Örneğimizde download dizini /opt/buildroot/downloads şeklinde seçilmiş olup aşağıdaki komutlarla öncelikle bu dizini oluşturabilirsiniz:

Dosya Sistemi Seçimi

Buildroot ile işlem sonunda cloop, cpio, cramsfs, ext2, jffs2, romfs, squashfs, tar ve ubifs dosya sistemi imajları çıkartılabilir.

BeagleBone-Black üzerinden NAND flash değil, eMMC bulunduğundan ext4 gibi blok tabanlı aygıtlar üzerinde çalışan dosya sistemleri kullanılmalıdır.

Kernel Kaynak Kodunun İndirilmesi

Kaynak kodlar git üzerinden klonlanıp, 3.8 branch'i checkout edilmelidir:

Kernel Derleme

Derleme işlemi öncesinde oluşan kernel dosyasını sıkıştırma ve u-boot kernel başlık bilgilerini eklemek için gerekli yardımcı araçların kurulu olduğundan emin olunuz:

Kernel derleme işlemini aşağıdaki adımlarla yapabilirsiniz (tftp sunucu ana dizini /srv/tftp olduğu varsayılmıştır):

Nfs-Root Çalışma

Aşağıdaki şekilde u-boot üzerinden temel değişkenleri ayarlayarak NFS üzerinden boot işlemini gerçekleştirebilirsiniz:

uEnv.txt Kullanımı

BeagleBoneBlack için hazırlanan u-boot imajı, çalışmaya başladığında uEnv.txt dosyası bulması halinde içerisindeki değişkenleri import etmektedir. Bu metin dosyasını doğru şekilde düzenlemek suretiyle açılış işlemini u-boot imajını yeniden üretmek zorunda kalmaksızın kalıcı olarak özelleştirmeniz mümkündür.

Örnek bir uEnv.txt dosyasının içeriği aşağıda listelenmiştir:

Last updated

Was this helpful?