sayfa başı

1 Nisan 2019 Pazartesi

Baştan Sona Embedded Linux Kurulumu -1-


Giriş ve U-boot Kavramı



Kaynak
Tarih
Versiyon
İşlem
Zafer SATILMIŞ
2019-03-31
0.1
Döküman oluşturuldu













Belli bir süre sonra sadece google sites üzerinden yazılarımı paylaşmayı düşünüyorum. O yüzden buradan da beni takip edebilirsiniz.

Amaç


Bu belgenin amacı gömülü sistemler üzerinde Linux kurulumunda gerekli ön bilgileri vermektir. Sistem kurulumuna geçmeden önce ne tür sistem kurulumlarının olduğunu görmek ve linux kurulumunun gereksinimlerini aktarmak kurulum yapılırken neyin neden yapıldığını anlamamıza yardımcı olacaktır.   
Ön Bilgiler
Çalışmalar için gerekli donanım olarak BeagleBone Black kullanılmıştır. Linux sisteminin donanımdan bağımsız olduğunu bildiğimiz için sizler de istediğiniz donanım üzerinde bu anlatılanları gerçekleştirebilirsiniz.
Amaç olarak elimizdeki donanımda linux açılması için baştan sona tüm gereksinimleri yerine gerçekleştireceğiz. Gerekli kaynakların nasıl indirileceğini ve nasıl derleneceğini de adım adım yapmış olacağız. Bunun için adım adım aşağıdaki hedefleri tamamlayacağız.
  • Çapraz Derleyicinin Kurulması(cross compiler)
  • U-Boot İndirilmesi ve Derlenmesi
  • Çekirdeğin(Kernel) indirilmesi ve kurulması
  • Kök dosya sisteminin(root file system) kurulması
  • Açılışın gerçekleştirilmesi
Birçok gömülü linux kuruluş yöntemi vardır. O yüzden yukarıdaki adımlar seçilen yönteme göre değişiklikler gösterebilir. Fakat ana mantık aynı olduğu için bir yöntemi öğrendikten sonra diğer yöntemi kavramak çok kolay olacaktır.
Kuruluş yöntemlerini birbirinden ayıran fark Kernel ve RootFs bulunduğu yerlerdir. Örneğin Kernel NAND Flash, SD kart gibi bir yerde olabilir. RootFs için de farklı bir yer seçilebilir. Hatta Kernel gömülü bile olabilir.
Bunların yanında cihazın Kernel ve RootFs den önce çalışması gereken açılış yükleyicisi her zaman donanım üzerinde olmalıdır. SD kart, NAND Flash gibi bord üzerindeki alanlar en çok tercih edilenleridir. ARM sistemler için en çok kullanılan açılış yükleyicisi u-boot olduğu için gerekli çalışmaları u-boot kullanılarak yapılacaktır.
RootFs RAM üzerinde oluşturulan sistemlere Initramfs yapılı gömülü sistemler denir. RootFs uzak sunucuda ya da Kernel içinde ise buralardan alınıp RAM üzerinde açılır. 
 Açılış Yükleyicisi (u-boot)
U-boot açılış yükleyici tüm ARM cihazlar için ortak olmuştur. Firmalar kendi borduna göre u-boot için güncellemeler yaparak kullanımı kolaylaşmıştır.
u-boot iki programdan oluşur. MLO ve uboot.bin MLO ufak bir koddur ve sistemi tek başına açamaz. MLO bordun ROM bulunan basit bir program ile kolaylıkla yüklenir. MLO ayağa kalktığında gerekli adresleri atayıp çevre birimlerin ayağa kalkmasını sağlar. Ayrıca MLO tarafından esas açılış yükleyicisi olan uboot.bin yüklenir.
uboot.bin yükleminden sonra açılış yükleyicisi (u-boot) tamamlanmış olur. Ağ üzerinden ya da yerel cihazlardan Kernel, RootFs dtb, yüklenebilir. U-boot kullanılan bord göre farklı özellikler içerebilir. Tüm özellikler borda ait konfigürasyon dosyasında bulunur. O yüzden u-boot derlemeden önce uygun konfigürasyon dosyası bilinmelidir.
MLO ve uboot.bin dışında ayrıca mkimage programı da gereklidir. u-boot derlendiğinde bu üç dosya oluşur. MLO ve uboot cihazın açılış yükleyicisi için gereklidir. mkimage ise uboot.bin uygulamasının gerekli dosyaları tanıması için dosyaların başına 64 byte bilgi yazar. Bu başlık bilgisi olmadan uboot.bin ilgili dosya üzerinde işlem yapamaz. U-boot dan sonra yüklenmesi gereken Kernel imajı için mkimage ile Kernel imajı olan zImage kodunun başına 64 byte bilgi yazılmalıdır. 
Son Söz
U-boot konusu önemli ve derin konudur. Bordun açılışında önem teşkil ettiği için bu kısımda hata yaşamadan ilerlenmelidir.

Hiç yorum yok:

Yorum Gönder

Son Ütücü