Beagleboard: Kartın Kurulumu ve İlk Çalıştırma
Bu ayki yazımızda Beaglebord kartımızı sd karttan boot etmeyi ve onu seri porttan kontrol etmeyi öğreneceğiz |
Üstteki resimde görüldüğü gibi bir seri port kablosu ve bir hafıza kartına (2GB yeterlidir) ihtiyacımız var.
Beagleboard kartımız üzerinde bir Linux sistem çalıştıacağız, sadece Linux demiyorum, Linux sistem diyorum çünkü Linux kernel (çekirdek) ‘in adıdır. Yükleyeceğimiz işletim sistemi ise Linux çekirdek tabanlı, bu yüzden sadece Linux yerine Linux sistem olarak adlandırılması daha doğrudur. Yükleyeceğimiz Linux sistemin adı Angstrom Linux dağıtımıdır ve gömülü Linux sistemlerde çokça kullanılmaktadır. Birçok Linux dağıtımı gibi bu dağıtım da ücretsizdir ve birçok işlemci ve kart desteği vardır. Bu dağıtım kullanıcıları ve geliştiricilerinin çabalarıyla ortak geliştirilmektedir ve paralı gömülü Linux sistemler kadar kalitelidir.
Kartımıza sistem yüklemek amacıyla Angstrom Linux dağıtımının sayfasına girip, bize gereken dosyaları indirmeliyiz. Şimdilik bize uImage dosyası (çekirdek/kernel), ve dosya sistemini içeren arşiv dosyası yeterlidir.
Beagleboard (yazının devamında BB olarak bahsedeceğim) üzerinde 256 MB (kart modeline göre değişiklik gösterebilir) NAND flash bellek vardır, ancak biz bu bellekten kartı çalıştırmak yerine SD hafıza kartından çalıştıracağız. Kartı iki sebep dolayısıyla SD karttan çalıştıracağız;
- 1- 256 MB yerleşik NAND bellek Angstrom dosya sistemini tutmak için yeterli değil, sistem imajı küçük tutularak sorun çözülebilir, fakat bu seferde bazı özelliklerden ödün vermeniz gerekecek.
- 2- Sistem imajını her değiştirmek istediğinizde NAND belleğe sistemi yüklemek çok da zevkli bir iş olmaması.
Linux Sistem Dosyalarını İndirme:
İstediğimiz Beagleboard Angstrom dağıtımını
http://www.angstrom-distribution.org/demo/beagleboard/ adresinden indiriyoruz. Bu kılavuz boyunca bu adreste bulunan uImage dosyası ve Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2 dosyası kullanılmıştır. Ayrıca klavuz bilgisayarınızda Ubuntu Linux kullandığınızı varsayarak yazılmıştır.
SD Kartın Biçimlendirilmesi Linux Sistemin Yüklenmesi:
Terminali açıp;
sudo apt-get install gparted
komutuyla gparted bölümleme programını indirip kuruyoruz.
Kurulum bittikten sonra sudo gparted komutuyla programı başlatıp sağ üst listeden hafıza kartımızı seçiyoruz ve bölüme sağ tıklayıp unmount dedikten sonra delete partition deyip bölümü siliyoruz.
Sonrasında ayrılmamış bölüme sağ tıklayıp yeni bölüm oluştura tıklıyoruz, buradan 50 MB büyüklüğünde FAT32 dosyalama sistemine sahip boot için bir bölüm oluşturuyoruz. Kalan ayrılmamış bölüme sağ tıklayıp bu bölümü ise ext2 dosya sistemiyle formatlıyoruz. Son olarak apply butonuna basarak değişiklikleri uyguluyoruz. Böylece bölümlerimiz hazır olmuş oldu.
Bölümler bu haliyle bilgisayara bağlı değiller.
sudo su
komutu ile root haklarına sahip oluyoruz ve
mkdir -p /tmp/disk
komutuyla geçiçi bölüm bağlama klasörü oluşturuyoruz ve
fdisk -l
komutu ile sd kart üzerindeki ext2 dosya sistemine sahip bölümün yolunu öğreniyoruz. (/dev/sdb2 gibi bir yola sahip olur genelde)
mount /dev/sdb2 /tmp/disk
komutu ile ext2 bölümü /tmp/disk e bağlıyoruz sonrasında
tar xpjfv /İMAJIN KAYITLI OLDUĞU KLASÖR/ Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2 -C /tmp/disk
komutu ile kullanacağımız Linux dosyalarını karta aktarıyoruz. Bu işlem bittikten sonra;
umount /tmp/disk
komutu ile bağı kaldırıp bu dosyaya 50 MB’lık FAT32′lik bölümü bağlıyoruz
mount /dev/sdb1 /tmp/disk
ardından,
cp /UIMAGE DOSYASININ BULUDUGU KLASOR/uImage /tmp/disk
komutu ile uImage dosyasını kopyalıyoruz.
umount /tmp/disk
diyerek sd kartın bilgisayarla bağını kaldırıp kartı beagleboard’a takıp seri porttan boot mesajlarına bakaraktan hata olup olmadığını görebiliriz.
Seri Port ile BB Kontrolü, Yönetimi:
Seri port terminal programı olarak minicom ya da gtkterm kullanılabilir, minicom konsol tabanlıdır buna nazaran gtkterm bir grafik arayüze sahiptir. Minicom gtkterm’den daha yetenekli olduğu için klavuzda minicom kullanılarak anlatım yapılmıştır. Minicom programını yüklemek için terminali açıp şu komutu giriyoruz.
sudo apt-get install minicom
yükleme tamamlandıktan sonra terminal ayarlarını yaparak devam ediyoruz, ayarları yapmak için,
minicom -s
komutuyla minicomu açıyoruz ve gerekli ayarları (seri port yolu=ttyS0 ya da ttyUSB0 gibi, baudrate=115200,8,n,1, Flow control=off) sonrasında save as df seçeneğini kullarak ayarlar kaydedilir. Exit seçeneği seçilerek ayar menüsünden çıkılır ve terminal açılmış olur. Terminal ayarları yapıldıktan sonra BB’a güç verilir ve boot mesajları takip edilebilir. Seri port ile BB bağlanıldığında BB, port üzerinden kontrol edilebilir. Minicom’da gördüğümüz ekran aslında BB’ün terminalidir, buradan BB komut gönderebilirsiniz, tıpkı kendi bilgisayarınızın terminalini kullanır gibi.
Burada dikkat edilmesi gereken Beagleboard’a sd karttan boot etmesi gerektiğini söylemektir. Bunu yapmak için; BB seri prt ile bilgisayarımıza bağlı ve terminalimiz açıkken BB’a güç veriniz,
Texas Instruments X-Loader 1.4.2 (Apr 23 2009 – 18:44:10)
Reading boot sector
Loading u-boot.bin from nand
U-Boot 2009.03-00333-g7ee38c0 (Apr 23 2009 – 18:33:49)
OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
DRAM: 256 MB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Board revision C
Die ID #026e000300000000040323090e023016
Hit any key to stop autoboot: 10
Yazıları ekrana gelecektir ve BB 10 sn sonra hiçbir tuşa basılmazsa önceki ayarları ile boot edecektir. Boot ayarlarını değiştirmek için 10 sn geçmeden bir tuşa basarak BB boot etmesini engelliyoruz ve u-boot’a giriyoruz. Aşagıdaki komutları giriyoruz;
setenv bootargs ‘console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait’
setenv bootcmd ‘mmc init;fatload mmc 0 80300000 uImage;bootm 80300000′
saveenv
burada BB ttyS2 portuna konsol 115200 Baud hızında 8 data bit ve 1 durma biti ile bağlanması için ayar yapılıyor. Ayrıca MMC/SD kartı başlangıçta tanıması ve çekirdeği kartta hangi adresten okuması gerektiği gibi ayarları giriyoruz. Son olarak saveenv komutu ile kaydedip BB üzerindeki reset butonuna basarak BB yeniden başlatıyoruz.
Minicom ile BB bağlı iken bilgisayarımdan aldığım ekran görüntüleri aşağıdaki gibidir.
Resim.1 Beagleboard Kernel ve Linux dosya sistemini yüklerken verdiği boot mesajları
Resim.2 Beagleboard Angstrom Linux başladığında konsol çıktısı ve oturum açma sorgusu
BB ve Linux’lü günler.
Hasan Yetik
Elektrik-Elektronik Mühendisliği Lisans Öğrencisi
Mail: hyetik89@gmail.com