AT91Bootstrap is the 2nd level bootloader for Atmel AT91 SoC providing a set of algorithms to manage the hardware initialization such as clock speed configuration, PIO settings, DDR2 DRAM initialization. After that it downloads your main application, usually the Linux Kernel image, from the first microSD partition to DDR2 RAM main memory and runs it from there.
The binary executable file of AT91Bootstrap must be stored in the first FAT32 partition of the bootable SD card with the name boot.bin.
At startup is RomBOOT (the 1st levet booloader saved in the CPU ROM) that searches and loads boot.ini from microSD card to the 32KB SRAM located inside the CPU itself and runs it from there.
Install the cross compiler and the toolchain required on your Linux Ubuntu PC following this article (Tested on Ubuntu 13.10):
Clone the Linux4Sam AT91Bootstrap git repository from GitHub:
~$ git clone git://github.com/linux4sam/at91bootstrap.git
Move inside the at91bootstrap directory and launch these commands to use the default configuration used for the Atmel SAM9X5EK evaluation board:
~$ cd at91bootstrap ~/at91bootstrap$ make mrproper ... ~/at91bootstrap$ make at91sam9x5eksd_linux_uimage_dt_defconfig ...
Launch the configuration menu to setup some parameters:
~/at91boostrap$ make menuconfig
Linux Image Storage Setup -->
and set the right DRAM memory size of your Aria G25 board:
When the configuration is ready save and launch the compilation by typing:
~/at91boostrap$ make CROSS_COMPILE=arm-linux-gnueabi-
Copy the binary file generated on the first partition of SD card and rename it in boot.bin:
~/at91bootstrap$ cp binaries/at91sam9x5ek-sdcardboot-linux-uimage-dt-3.6.0.bin /media/$USER/KERNEL/boot.bin
If you are using an Ubuntu release older than 13.10 remove $USER in the path
A compiled version of AT91Bootstrap is available on: