Introduction

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://git.busybox.net/buildroot
cd buildroot

 

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

Building the sources – Run –

make

 

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 git@github.com:MarvellEmbeddedProcessors/mv-ddr-marvell.git output/build/arm-trusted-firmware-atf-v1.2-armada-17.02/drivers/marvell/mv_ddr/
make

 

 Using the result images

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