BeagleBoard Kurtarma

 

Bu yazımızda NAND Flash içerisindeki dosyaları bozulan beagleboard için recovery yapmayı anlatacağız. Bricked diye tabir edilen ve genellikle boot ayarlarıüzerinde yapılan yanlışlıklardan dolayı cihazın çalışmamasına sebep olan bir durumu çözmek için Beagleboard recovery kullanılır.

 

 

 

BeagleBoard Kurtarma Hangi Durumlarda Kullanılır?

* Seri Port Üzerinden Boot İşlemleri Gözlenemiyorsa

Cihazınızı seri port üzerinden (115200 8N1) bağladıktan sonra güç verdiğinizde, terminal üzerinden herhangi bir çıktı alamıyorsanız, butonlara bastığınızda (S1 S2) ekranda değişik karakterler çıkıyorsa ya da ekranda sadece 40T yazısı bulunuyorsa beagleboard recovery büyük olasılıkla sorununuzu çözecektir. Büyük ihtimalle bootrom MMC kartınızın bulunduğu alana erişemiyor ve üzerinden okuma yapamıyordur.

 

USR0 ve USR1 Butonları Yanmıyorsa

Cihazınıza güç verdiğinizde sadece power butonu yanıyorsa yine aynı şekilde beagleboard recovery sorununuzu büyük ihtimalle çözecektir. Hatanın donanımsal olması da muhtemel. Fakat çok büyük oranda rom üzerindeki verilerin değişmesi sonucu bu tip hatalar karşımıza çıkıyor.

Boot ekranında aynı zamanda bütün beagleboard çevresel aygıtları test edilir. O yüzden ses çıkışı olsun DVI çıkışı olsun bütün çevresel aygıtlar boot esnasında  bir tepki verir. Eğer boot esnasında bir sonuç alamıyorsanız öncelikle üzerindeki yazılımı test etmelisiniz. Bu yazımızda beagleboard üzerinde fabrika ayarlarına döneceğiz de denebilir.

Gerekli Dosyalar

*MLO *u-boot.bin *ramdisk.gz *uImage.bin *boot.scr *x-load.bin.ift *normal.scr *u-boot-f.bin

Daha önceden beagleboard için boot imaj oluşturanlar için yukarıdaki dosyalar pekte yabancı olmayacaktır. Yapacağımız şey aslında cihazımız için yine bir boot dosyası oluşturmaktır. Örneğin düzgün çalışan bir beagleboard üzerinde MMC kartı takmadan güç verirseniz, seri terminal üzerinde yine boot işlemlerinin gerçekleştiğini görebilirsiniz. Yani u-boot.bin dosyası NAND Flash üzerinde de vardır. Üzerinde yer alan dosya u-boot-f.bindosyasıdır(uboot for flash). Burada gerekli binary dosyalarını bozulma ihtimaline karşı değiştireceğiz.

Site üzerindeki İsmi Kullanacağımız İsmi
MLO-beagleboard-1.44+r15+gitr1c9276af4d6a5b7014a7630a1abeddf3b3177563-r15 MLO
u-boot_revc_v3.bin u-boot.bin
u-boot-beagleboard-2010.03+r62+gitrca6e1c136ddb720c3bb2cc043b99f7f06bc46c55-r62.bin u-boot-f.bin
ramdisk_revc_v3.gz ramdisk.gz
reset_revc_v3.scr boot.scr
x-load_angstrom.bin.ift x-load.bin.ift
normal_revc_v3.scr normal.scr
uImage_revc_v3.bin uImage.bin

Dosyaları indirmek için tıklayınız.

Kurtarma Operasyonu

Öncelikle MMC kartımızı Fat16 olarak biçimlendiriyoruz. Bu işlemi yapmak için Gparted programını kullanabiliriz. Terminal üzerinden aşağıdaki komut ile birlikte bilgisayarımıza programı kurabiliriz.

[codesyntax lang=”text”]

sudo apt-get install gparted

[/codesyntax]

Daha sonra gparted yardımıyla MMC kartımızı biçimlendiriyoruz.

Biçimlendirme işleminden sonra MMC kartımızın hangi yol üzerinde bulunduğunu not etmemiz gerekiyor. Yukarıdaki resimden görebileceğimiz gibi oluşturduğumuz fat 16 dizini /dev/sdb1 yolunu kullanıyor. Bunu bir yere not ediyoruz. Biçimlendirme işleminden sonra indirdiğimiz dosyaları kullanacağımız isimlerle MMC kart üzerine kopyalıyoruz. Bu işlemleri konsol yardımıyla yapacağız. Dosyaları home/<kullanıcı adı>/recovery dizinine kaydettim ve o dizin üzerinden kopyalama işlemini gerçekleştireceğim.

Öncelikle geçici bir klasör oluşturacak ve bu klasörü FAT 16 dizinimize bağlayacağız. Bunu yapmamızın sebebi sistemin /dev/sdb1 dizinine direkt olarak izin vermemesi. Ardından recovery dizinine gideceğiz ve daha sonra dosyalarımızı sırayla kopyalayacağız.

[codesyntax lang=”text”]

mkdir /tmp/boot
sudo mount /dev/sdb1 /tmp/boot
cd recovery

[/codesyntax]

/tmp/boot adında geçici bir klasör oluşturduk ve onu MMC kartımızın yoluna bağladık. Her zaman MMC kartımızın yolu /dev/sdb1olmayabilir. Bu yüzden dikkatli davranmalı ve MMC kartımızın yolunu kullanmalıyız. Aksi halde başka alanlara zarar verebiliriz. MMC kartın yoluna ise gparted kısmında değindik. Artık dosyalarımızı kopyalayabiliriz.

[codesyntax lang=”text”]

sudo cp MLO-beagleboard-1.44+r15+gitr1c9276af4d6a5b7014a7630a1abeddf3b3177563-r15 /tmp/boot/MLO
sudo cp u-boot_revc_v3.bin /tmp/boot/u-boot.bin
sudo cp u-boot-beagleboard-2010.03+r62+gitrca6e1c136ddb720c3bb2cc043b99f7f06bc46c55-r62.bin /tmp/boot/u-boot-f.bin
sudo cp ramdisk_revc_v3.gz /tmp/boot/ramdisk.gz
sudo cp uImage_revc_v3.bin /tmp/boot/uImage.bin
sudo cp reset_revc_v3.scr /tmp/boot/boot.scr
cp x-load_angstrom.bin.ift /tmp/boot/x-load.bin.ift
sudo cp normal_revc_v3.scr /tmp/boot/normal.scr

[/codesyntax]

Daha sonra dizine gidip kopyaladıklarımızı kontrol ediyoruz. Ardından senkronize edip dizini çıkartıyoruz.

[codesyntax lang=”text”]

cd /tm/boot
dir
sync
sudo umount /dev/sdb1

[/codesyntax]

Yukarıdaki umount uyarısı gibi bir uyarı ile karşılaşırsanız terminali kapatıp yeniden açtıktan sonra umount /dev/sdb1 komutu ile kaldırabilirsiniz. Artık MMC kart tarafımız tamamlandı. Uygulama kısmına geçebiliriz.

Uygulama

1- Öncelikle Beagleboard kapalı durumdayken seri haberleşme bağlantısını yapıyoruz ve ayarlıyoruz(115200 8N1).

2- MMC kartı takıyoruz.

3- Terminal programını çalıştırıyoruz.

4- User butonuna(S1) basılı tutarak beagleboard üzerine güç veriyoruz. Ekranda u-boot.bin çıktıktan sonra elimizi çekebiliriz.

5- bekliyoruz:)

Kurtarma Sırasında Karşımıza Çıkacak Ekranlar 

ilk olarak u-boot.bin dosyamız okunacaktır. DVI bağlantımızı sağladıysak ekranımız turuncu olarak görünmeye başlayacaktır. Bu aşamada Board umuzun modeli özellikleri sisteme tanıtılacaktır.

Daha sonra x-load.bin.ift dosyamız sayesinde NAND Flash üzerindeki ayarlar değiştirilecektir.

Daha sonra uImage.bin dosyamız çalışacak ve uImage dosyasının okunacağı adresler ROM üüzerine yazılacaktır.

Son olarak kernel testi yapılacak ve demo olarak koyduğumuz angstrom imaj dosyamız okunacaktır. bu işlem x-load_angstrom.bin.ift dosyasının okunmasıyla olmaktadır. Burada angstrom yazması angstrom yüklediğimiz anlamına gelmemelidir. Deneme amaçlı demo imajıdır.

Tekrar hatırlatmak isterim sistemimize angstrom yüklemedik. 7-8 mb lık demo imajı çalıştırdık. Burada yaptığımız şey çalışıp çalışmadığını test amaçlıydı. Ve olumlu sonuçlandı. Böylelikle kurtarma işlemimizi tamamladık.

 

 

You May Also Like

About the Author: tunayan

2 Comments

  1. S.A. Beagleboard-xm kullanmaktayız. Seri portta 60 karakteri çıkmaya başladı. Hata kodlarında MLO problemi olarak görünmekte. Çeşitli imajları denedik. Ekrana anlamsız karakterler çıkmakta. XM de NAND olmadığını da göz önünde bulundurursak, nasıl bir yol izlememiz gerekir.

    Saygılar,

Leave a Reply

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