Intention of this page is to provide the developers a quick page how to build mainline buildroot with MACHIATOBin u-boot, ATF and kernel with simple root filesystem.

Grabbing source and building instructions

Getting the sources -

git clone git://
cd buildroot

Download this mcbin minimal buildroot config file, gunzip it and place it buildroot directory as .config

Building the sources - Run -


An error will occur almost before building is finished. The reason is that the cloned ATF firmware doesn't include Marvell DDR interface initializations, in order to fix run the following -

git clone [email protected]:MarvellEmbeddedProcessors/mv-ddr-marvell.git output/build/arm-trusted-firmware-atf-v1.2-armada-17.02/drivers/marvell/mv_ddr/

Using the result images

output/images/flash-image.bin - U-boot with ATF wrapper which can be used for -

  • Boot from SPI while placing it in the first sector of the flash
  • Boot from Micro SD while placing it in the second sector of the Micro SD
  • Boot from eMMC while placing it in the first sector of either the first or second boot partitions
  • Boot from UART - Can be UART xmodem transmitted on a new board (or bricked). Note that if secure boot is disabled then the in-chip ROM bootrom will try to xmodem boot from UART0 before attempting the real requested boot device

output/images/Image - Kernel image with appended device tree and initramfs output/images/armada-8040-mcbin.dtb - Kernel device tree

Sample images

Using this config file which is a config file that has much more target packages than the above, we get the following binaries - flash-image.bin file
mcbin dtb file
Kernel with initramfs part #1
Kernel with initramfs part #2
Kernel with initramfs part #3

In order to use them, download all the files and then gunzip them.
Afterwards gather them by running 'cat imagea? > Image' which is the kernel image with the initramfs (~57MByte).

In order to run it, flash flash-image.bin into the SPI and then run it with the following -

setenv bootargs console=ttyS0,115200; tftpboot 0x20000000 Image.8040-buildroot; tftpboot 0x1ff00000  armada-8040-mcbin_buildroot.dtb; booti 0x20000000 - 0x1ff00000