SD Kartın Hazırlanması
Bu başlık altında açılabilir bir SD kartı nasıl hazırlayabileceğimize bakacağız. SD kartın organizasyonu aşağıdaki gibi olmalıdır.
Başlangıç
Boyut
Kullanım
0
8KB
Bölümlendirme tablosunun da bulunduğu kullanılmayan alan
8
24KB
Başlangıç SPL yükleyicisi
32
512KB
U-boot
544
128KB
U-boot çevre değişkenleri
672
352KB
Saklı tutulmuş alan (reserved)
1024
-
Bölümlendirme ve dosya sistemi için ayrılan alan
Yukarıdaki tabloya dikkat edilecek olursa bölümlendirmenin ilk 1MB'lık alandan sonra başladığı görülmektedir. Cihaza enerji verildiğinde ilk çalışan kod olan ROM boot kodu SD kartın 8KB adresinden başlayan alanda başlangıç yükleyicisi SPL'i aramaktadır. SPL daha sonra asıl önyükleyici olan U-boot'u yüklemektedir.
SD kart üzerinde yukarıdaki organizasyonu sağlamak için ilk olarak SD kartı geliştirme bilgisayarımıza takalım. SD kartı taktığımızda /dev
altında karta ilişkin bir dosya düğümü oluşmalıdır. dmesg
çıktısından bu isme ulaşabiliriz. Bizim sistemimizde aldığımız sonuç aşağıdaki gibidir.
Bu durumda /dev
altında mmcblk0
adında bir dosya düğümü oluşmuş olmalı.
SD kartı harici bir SD kart okuyucu ile sisteminize bağladı iseniz sisteminizde bu dosya düğümü /dev/sdb
veya /dev/sdc
şeklinde oluşabilir. Dosya düğümü doğru bir şekilde belirlemek oldukça önemlidir. Yanlış bir dosya düğümü ile çalışmak sisteminize zarar verebilir. Dosya düğümünü belirledikten sonra bu düğüme ilişkin bir çevre değişkeni aşağıdaki gibi oluşturulabilir.
Daha sonra SD kart üzerinde bir bölüm oluşturduğumuzda bu bölüme ilişkin dosya düğümünün adında partition'ı ifade eden p
harfi geçecektir. Bu duruma ilişkin aşağıdaki gibi bir çevre değişkeni daha tanımlanabilir.
SD kart üzerinde ilk olarak üzerinde dosya sistemini oluşturacağımız bir bölüm (partition) oluşturalım. Bu bölüm SD kartın ilk 1MB'lık alanından sonra başlamalıdır. Bölümlendirme için Linux altında fdisk
veya gparted
benzeri araçlar kullanılabilir. Bu işlem öncesinde SD kart mount edilmiş ise ilk olarak dosya sisteminden bağı koparılmalıdır. Bu amaçla umount
komutu kullanılabilir. Örneğin:
fdisk ile SD kart üzerinde bir bölüm aşağıdaki gibi oluşturulabilir.
Sonrasında aşağıdaki komutlar girilmelidir. Sonuçta 32 MB'lık bir bölüm oluşturulacaktır. Farklı boyutta bir bölüm oluşturmak istiyorsanız aşağıdaki örnekte +32M
yazan kısmı ihtiyacınıza göre değiştirebilirsiniz.
Artık üzerinde dosya sistemi oluşturabileceğimiz bir bölümümüz bulunmakta. Bu bölüme aşağıdaki gibi bir ext4
dosya sistemi oluşturabiliriz. Bu bölümlendirmemize ilişkin aşağıdaki gibi bir dosya düğümü oluşmuş olmalıdır.
Bu bölüm üzerinde ext4
dosya sistemini aşağıdaki gibi oluşturabiliriz.
Bu aşamadan sonra SD kartı dosya sistemimize mount ederek üzerine yazabiliriz. Geliştirme dizinimiz altında disk isimli bir dizin oluşturup SD kartı buraya mount edebiliriz.
Artık SD kartı üzerindeki dosya sistemine yazabilir durumdayız. Kendi sistemimizde oluşturduğumuz dosya sistemini SD kart üzerine aşağıdaki gibi atabiliriz.
Bu işlem sonrasında SD kart üzerine yazma yapıldığından emin olalım ve SD kartı umount edelim.
Geriye yalnız önyükleyicileri SD kart üzerine yazma kısmı kaldı. U-boot kodunu derlediğimiz kısımda da belirttiğimiz gibi SD kart üzerine SPL ve U-boot önyükleyicilerini içeren u-boot-sunxi-with-spl.bin
dosyasını atacağız. Öncesinde bölümlendirme tablosununun bulunduğu alan dokunmadan, 1KB ileriden başlayarak ilk 1MB'lık alanı aşağıdaki gibi temizleyelim.
Bu aşamadan sonra önyükleyici çiftini SD kart üzerine, 8KB ileriden başlayacak şekilde, yazabiliriz.
Artık SD kartı cihaza takıp cihaza enerji verebiliriz
Last updated
Was this helpful?