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:

wget https://github.com/linux4sam/at91bootstrap/archive/refs/tags/v3.10.4.zip
unzip v3.10.4.zip
cd at91bootstrap-3.10.4

Add the AcmeSystems patches:

wget https://www.acmesystems.it/www/at91bootstrap_3_10_4/acme.patch
patch -p1 < acme.patch

Set the board configuration

Aria

make acme-aria_defconfig

Arietta

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.

Compiling

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 class='acmetable' 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

File used

RoadRunner D2

Features Index Buy

Low-power Linux System On Module
  • CPU Microchip SAMA5D27
  • Cortex A5 @ 500 MHz
  • Low power consumption:
    Suspend to RAM mode 10mW
    Full speed: 396mW
  • Debian, Buildroot and Yocto Linux
  • Fully open source drivers
Acqua A5

Features Index Buy

Linux System On Module
  • CPU Microchip SAMA5D31
  • Cortex A5 @ 536 MHz
  • Armhf architecture
  • DDR2 RAM 256/512 MB
  • Nand FLASH 0/256 MB
  • On-board uSD socket
  • Size: 53x53 mm
  • Plug-in module
  • 150 pins 1.27 mm pitch
  • TFT parallel interface
  • Boot from internal uSD/NAND flash or external eMMC
  • Debian, Buildroot and Yocto Linux
  • Fully open source drivers
Aria G25

Features Index Buy

Linux System On Module
  • CPU Microchip AT91SAMG25
  • ARM9 @ 400 MHz
  • Armel architecture
  • DDR2 RAM 128/256 MB
  • Size: 40x40 mm
  • SMT module
  • 96 pins 1.27 mm pitch
  • Boot from external uSD or serial flash
  • Linux Kernel 5.15 LTS
  • Debian, Buildroot and Yocto Linux
  • Fully open source drivers
Arietta G25

Features Index Buy

Linux System On Module
  • CPU Microchip AT91SAMG25
  • ARM9 @ 400 MHz
  • Armel architecture
  • DDR2 RAM 128/256 MB
  • Size: 53x25 mm
  • Plug-in module
  • 40 pins 2.54 mm pitch
  • Boot from uSD
  • Linux Kernel 5.15 LTS
  • Debian, Buildroot and Yocto Linux
  • Fully open source drivers