Beagle Board Üzerinde Ubuntu Kurulumu

 

Bu yazımızda Beagle board üzerine Ubuntu kuracağız. Fakat kuracağımız ubuntu kendi bilgisayarlarımızdan farklı olarak root file system dediğimiz çok yer kaplamayan boyutu küçük bir sistem olacaktır. Bunun sebebi ise hem beagle board üzerinde sistemi yormasını engellemek hemde sistemden iyi bir performans alabilmektir. Bu bahsettiğimiz rootfs dizinini rootstock adlı program yardımıyla oluşturacağız. Rootstock istediğimiz paketler çerçevesinde bize ubuntu sürümü veren bir sistemdir.

Rootstock Kurulumu

Kuruluma geçmeden önce host bilgisayarımızda olması  gereken kütüphaneleri ve paketleri yüklememiz gerekiyor.

[codesyntax lang=”text”]

sudo apt-get install rootstock

sudo apt-get install qemu

sudo apt-get install qemu-kvm-extras

sudo apt-get install git-core kernel-package fakeroot build-essential

sudo apt-get install curl libncurses-dev uboot-mkimage
sudo apt-get update
[/codesyntax]

Rootstock tarafından oluşturulan rootfs dosyasını qemu adlı simülator ile kendi bilgisayarımız üzerinden test edebiliyoruz. Buda bize bir hata oluştuğunda rootfs üzerinden olup olmadığını anlamamızda ya da kolayca sistemimizi test etmemizde yardımcı oluyor. mkimage ise rootstock sonrası rootfs üzerinden uImage oluşturabilmek için gerekli pakettir. Daha sonra rootstock programını indirmemiz gerekiyor. İndirme adresine giderek son sürümünü indiriyoruz.

Daha sonra indirdiğimiz dizinde .tar.gz uzantısından çıkartıyoruz.  Benim dosyayı çıkarttığım dizin /home/tess/rootstock.. dizinidir. Yazının devamında da bu dizin kullanılacaktır.

Rootstock Kullanımı

Bir örnek verip üzerinden açıklamaları yapmakta fayda var.

[codesyntax lang=”text”]

sudo ./rootstock

–fqdn beagle

–login beagle

–password 1

–imagesize 4G

–seed linux-image-omap,gcc,g++,make,build-essential,

openssh-server,nano,apt,usbutils,linux-kernel-headers,linux-firmware,

wireless-tools,wpasupplicant,zip,linux-source-2.6.35,xserver-xorg-video-omap3,

xfce4,lxde,network-manager

–components “main universe multiverse”

–dist maverick

–serial ttyS2

[/codesyntax]

–fqdn <host ismi> 

Oluşturacağımız sistemin ismini yazdığımız alandır. Yukarıdaki örneğimizde beagle olarak tanımladık.

–login <kullanıcı adı>:

Admin kullanıcısının kullanıcı adını giriyoruz. Örneğimizde beagle olarak girdik.

–password<şifre>

Kullanıcının şifresini giriyoruz. Örneğimizde 1 olarak girdik.

–imagesize<boyut>

Hedef alanın büyüklüğünü ifade ediyor. 4 gigabyte SD kartımızın olduğunu düşünerek 4G yazıyoruz.

–components <cvs listesi>

Arşiv bileşenlerini ifade ediyor. Default olarak main universe olarak tanımlıdır. Bizde bunu değiştirmiyoruz.

–dist<jaunty, karmic, lucid ya da maverick>

Hangi ubuntu sürümünü kullanacaksak onu yazıyoruz. biz maverick(ubuntu 10.10) kullanacağımız için onun ismini yazıyoruz.

–serial<cihazın adı>

Burada login olunacak yerdeki tty uzantılı ismi istiyor bizden. biz ttyS2 üzerinden bağlantı sağlayacağız.

–seed<cvs listesi>

Burada yüklenecek paketleri belirtiyoruz. Daha önceden linux kullananlar için yabancı bir yer olmayacaktır. Temel düzeyde sudo apt-get install ile aynı görevi yaptığını düşünebiliriz. Hangi paketlerin sistemin üzerinde yüklü olmasını istiyorsak onları yazıyoruz. Meselalxde ile bir ara yüzümüz olacak ya da network-manager olsun sistemimizde gibi.

Sistemimizi yukarıdaki açıklamalara göre oluşturduktan sonra terminal üzerinden indirdiğimiz rootstock dizinine gelerek kodumuzu yazıyoruz ve internet hızına göre 20-40dk arası bekliyoruz. Rootstock burada belirttiğimiz dosyaları internet üzerinden yüklüyor ve bir araya getiriyor. İşlem bittiğinde rootstock yükleme dizininde rootfs dosyasının bulunduğunu görebiliriz.

[codesyntax lang=”text”]

sudo ./rootstock –fqdn beagle –login beagle –password 1 –imagesize 2G –seed linux-image-omap,gcc,g++,make,build-essential,openssh-server,nano,apt,usbutils,linux-kernel-headers,linux-firmware,wireless-tools,wpasupplicant,zip,linux-source-2.6.35,xserver-xorg-video-omap3,xfce4,lxde,network-manager –components “main universe multiverse” –dist maverick –serial ttyS2

[/codesyntax]

 

Yükleme işlemi tamamlandıktan sonra /home/tess dizininde ubuntu isimli bir klasör oluşturduk kolaylık açısından ve indirilmiş olan rootfs dosyasını buraya kopyaladık. Daha sonra uImage dosyasını oluşturabilmek için dizine çıkarmamız gerekiyor. İçerisindeki boot klasörü altındaki vmlinuz dosyası sayesinde hazır bir uImage oluşturma olanağımız var. Diğer türlü kernel derlemek durumunda kalacaktık.

Dosyaları çıkarttıktan sonra boot dizini altına geliyoruz ve uImage dosyamızı oluşturuyoruz.

 

[codesyntax lang=”text”]

mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n “Linux” -d ./vmlinuz* ./uImage

mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d ./initrd.img-* ./uInitrd

[/codesyntax]

uImage dosyamızın yanında sisteme uInitrd dosyasını da tanıtmamız gerekiyor. Normalde kernel derleseydik böyle bir şeye gerek kalmayacaktı fakat sanal olarak derlediğimiz için bu dosyayı belirtmemiz gerekiyor. Daha sonra oluşan dosyaları SD kartımızın FAT bölümüne gönderiyoruz. Aynı şekilde rootfs dosyasını da ext3 alanımıza gönderiyoruz. Bu konuları artık detaylı olarak anlatmayacağız. Önceki yazılarımızda nasıl yapıldığı yazmaktadır.

Daha sonra beagle board üzerine SD kartımızı takıyoruz. Monitor ile HDMI bağlantılarını yapıyoruz seri haberleşmesini sağlıyoruz ve cihazı çalıştırıyoruz.

 

Böylelikle ubuntu kurulumunu tamamlamış olduk. Sonraki yazımızda dokunmatik ekran modüllerinin ubuntu için tanıtılmasını anlatacağız.

 

 

You May Also Like

About the Author: tunayan

Leave a Reply

Your email address will not be published. Required fields are marked *