Compiling AT91bootstrap 3.8

AT91bootstrap is the 2nd level bootloader used by the Microchip ARM MPUs to initializate the internal hardware (clocks, peripherals, DDR DRAM, etc) at startup and load the Linux Kernel image from the first microSD partition. This article illustrates how to compile at91bootstrap 3.8 for the RoadRunner module

Toolchain installation

First of all you need to install the toolchain (cross compiler, linker, etc) on your Linux Ubuntu PC following this article (tested on Ubuntu 16.04):

Download AT91bootstrap ver 3.8 sources from Microchip GitHub repository:

The GitHub repository is available here:

Clone this repository in your Linux PC by typing:

~$ git clone https://github.com/linux4sam/at91bootstrap.git

Move inside the new at91bootstrap directory and set the right configuration to use with the roadrunner board by typing:

~/at91bootstrap-3.8 $ make sama5d2_roadrunner_defconfig

If you want to take a look to the at91bootstrap configuration run:

~/at91bootstrap-3.8 $ make menuconfig

To launch the compilation type:

~/at91bootstrap-3.8 $ make CROSS_COMPILE=arm-linux-gnueabi-
...

The compilation result is this binary file:

./binaries/sama5d2_roadrunner-sdcardboot-linux-zimage-dt-3.8.8.bin

A symbolic link is generated automatically during the at91bootstrap compilation so you can refer to it as at91bootstrap.bin.

Installation

Actually the RoadRunner SOMs mount the Microchip SAMA5D27 revision B that can boot boot directly from the QuadSPI memory but not from the MicroSD.

To transfer at91bootstrap.bin on the QuadSPI follow this guide:

Author:
Sergio Tanzilli - tanzilli@acmesystems.it
http://www.tanzilli.com - https://github.com/tanzilli