U-boot Derleme Süreci
Derleme işleminden önce sisteminizde aşağıdaki paketlerin kurulu olduğundan emin olunuz. Gerekli paketleri Debian tabanlı bir sistemde aşağıdaki gibi kurabilirsiniz.
$ sudo apt install device-tree-compiler
$ sudo apt-get install libfdt-dev
$ sudo apt-get install swig libpython-dev
U-boot kodunu aşağıdaki gibi indirip derleyebilirsiniz.
cd /opt/orangepi
$ git clone git://git.denx.de/u-boot.git
U-boot kodu artık ana geliştirme dizinimiz altında u-boot
isimli bir dizinde bulunmaktadır. u-boot/configs
dizini altına bakılacak olursa çok sayıda ayar dosyası görülecektir. Biz cihazımız için uygun olan orangepi_zero_defconfig
dosyasını kullanacağız. Bu dosya üzerinde yalnız u-boot delay süresini güncelleyeceğiz. U-boot, işletim sistemi çekirdeğini yüklemeden önce belli süre beklemektedir, bu aşamada seri konsol üzerinden bir tuşa basılırsa u-boot komut satırına düşülmektedir. Öngörülen olarak 2 sn olan bu süreyi 5 sn olarak değiştireceğiz. Bu işlem için make içindeki menuconfig
kuralı kullanılabilir.
$ make orangepi_zero_defconfig
$ make menuconfig
make menuconfig
sonrasında aşağıdaki gibi bir değişiklik yapılıp değişiklik saklanabilir.
(5) delay in seconds before automatically booting
Bu aşamadan sonra U-boot kodunu derleyebiliriz.
$ make CROSS_COMPILE=arm-linux-gnueabihf-
Bu işlem sonunda aşağıdaki dosyalar oluşacaktır.
Dosya | Açıklama |
---|---|
u-boot.bin | U-boot önyükleyicisi |
spl/sunxi-spl.bin | U-boot'dan önce çalışan ikincil önyükleyici (secondary program loader) |
u-boot-sunxi-with-spl.bin | spl ve U-boot önyükleyicilerinin ard arda eklendiği dosya |
u-boot.bin
ve sunxi-spl.bin
dosyalarını ayrı ayrı SD kart üzerine atmak yerine u-boot-sunxi-with-spl.bin
dosyasını kullanacağız.
Artık kernel derleme aşamasına geçebiliriz.