git clone https://github.com/LeMaker/u-boot-bananapi.git
This will checkout a u-boot-bananapi directory, cd to it and make BananaPi_config
The toolchain I use is the arm-linux-gnueabihf in Ubuntu trusty, which gets installed as arm-linux-gnueabihf-* . This is the hard float toolchain as A20 device supports hardware floting point. To build u-boot :
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
usually, U-boot gets built with minimum fuss; once done, the following will be present at the top level directory:
-rwxrwxr-x 1 1000 1000 1333636 Dec 5 14:51 u-boot
-rw-rw-r-- 1 1000 1000 238536 Dec 5 14:51 u-boot.bin
-rw-rw-r-- 1 1000 1000 238600 Dec 5 14:51 u-boot.img
-rw-rw-r-- 1 1000 1000 1272 Dec 5 14:51 u-boot.lds
-rw-rw-r-- 1 1000 1000 277271 Dec 5 14:51 u-boot.map
-rw-rw-r-- 1 1000 1000 715730 Dec 5 14:51 u-boot.srec
-rw-rw-r-- 1 1000 1000 271368 Dec 5 14:51 u-boot-sunxi-with-spl.bin
u-boot is the ELF and u-boot-bin is the binary. What we need is the u-boot-sunxi-with-spl.bin. This integrates the secondary chainloader; Hence we only need to flash this to the SD card. dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8
where /dev/sdb is the SD card on your development machine.
In order to see the boot sequence, we need a serial console - described in this post.
This is how the boot sequence looks like on banana pi. First few lines are from SPL, which then loads the proper u-boot.
click to enlarge |
No comments:
Post a Comment