Compiling AT91bootstrap 3.10.4

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 is suggested for these boards:

  • Aria SOM
  • Arietta SOM

For the other boards please use the following articles:

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 18.04.4 LTS):

Download AT91bootstrap from Microchip GitHub repository:

cd at91bootstrap-3.10.4

Add the AcmeSystems patches:

patch -p1 < acme.patch

Set the board configuration


make acme-aria_defconfig


make acme-arietta_defconfig

Change the default configuration

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

make menuconfig

This function could be useful to change for example the Kernel line passed by at91bootstrap to the kernel.


launch the compilation by typing:

make CROSS_COMPILE=arm-linux-gnueabihf-

it will generate a binary fine in ./binaries directory with a different name for any board type.

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

Copy boot.bin on a bootable MicroSD

If your board boot everything from the MicroSD copy boot.bin on the first microSD partition by typing:

cp binaries/boot.bin /media/$USER/boot

Sergio Tanzilli
Systems designer, webmaster of and founder of Acme Systems srl

Personal email:
Web pages: ---
Github repositories: ---
Telegram group dedicated to the Acme Systems boards: