Cihazın Açılması
Daha önce seri konsol bağlantısının anlatıldığı kısımda gösterildiği gibi cihaz ile seri port bağlantısı oluşturulduktan ve SD kartı cihaza taktıktan sonra cihaza OTG üzerinden enerji verebiliriz. Bu aşamadan sonra gtkterm
veya minicom
gibi bir seri konsol emülatörü üzerinden cihazın konsol çıktısı izlenebilir.
U-boot kodunu derlerken otomatik boot öncesindeki bekleme süresini 5 sn olarak belirlemiştik. Bu süre içinde bir tuşa basarak U-boot komut satırına düşmeliyiz. U-boot komut satırında printenv
dediğimizde çevre değişkenleri ve değerlerini görebilmeliyiz. İlk olarak kernel komut satır argümanlarını tutan bootargs
değişkenine uygun değeri verelim.
=> setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p1 ro rootwait
Bu sayede kernel'a kök dosya sisteminin yerini ve konsolu belirtiyoruz. Sonrasında SD kart üzerindeki dosya sisteminde bulunan kernel ve dtb dosyalarını bellekte uygun bir alana çekmeliyiz. bdinfo
ile karta ilişkin bazı bilgilere erişilebilir.
=> bdinfo
arch_number = 0x00000000
boot_params = 0x40000100
DRAM bank = 0x00000000
-> start = 0x40000000
-> size = 0x10000000
...
Kernel ve dtb dosyasını start ile belirtilen adresin sonrasına güvenli bir alana sırasıyla aşağıdaki gibi çekebiliriz.
=> ext2load mmc 0 0x46000000 boot/zImage
=> ext2load mmc 0 0x49000000 boot/sun8i-h2-plus-orangepi-zero.dtb
Kernel'ı boot etmek için bootz
komutunu kullanacağız. bootz komutuna sırasıyla kernel, initrd ve dtb adresleri geçirilmektedir. Biz initrd kullanmadığımız için bu seçeneği -
ile geçeceğiz.
=> bootz 0x46000000 - 0x49000000
Bu işlem sonunda konsolda Please press Enter to activate this console.
yazısı görülmelidir. Bir tuşa basıldığında kabuk komut satırına düşülecektir. Bu aşamadan sonra cihaz üzerinde çalışılmaya hazır durumdadır.