Atmel SAMA5D3 Xplained board
============================

This document explains how to set up a basic Buildroot system on the
Atmel SAMA5D3 Xplained board, whose main site is
http://www.atmel.com/tools/ATSAMA5D3-XPLD.aspx. Additional details can
also be found on the http://www.at91.com/linux4sam/bin/view/Linux4SAM/
web site.

Note that the default Buildroot configuration is prepared to boot from
an SD card: the first stage bootloader, second stage bootloader,
kernel image and root filesystem are all located on the SD card. Some
adjustments in the bootloader configuration will be needed to boot
from NAND flash, see board/atmel/nandflash.txt

Configuring and building Buildroot
----------------------------------

  make atmel_sama5d3_xplained_mmc_defconfig
  make

Preparing the SD card
---------------------

The SD card must be partitioned with at least two partitions: one
FAT16 partition for the bootloaders, kernel image and Device Tree
blob, and one ext4 partition for the root filesystem. To partition the
SD card:

sudo sfdisk -uM /dev/mmcblk0 <<EOF
,64,6
;
EOF

This creates a 64 MB partition for the FAT16 filesystem (type 6) and
uses the rest for the ext4 filesystem used for the root filesystem.

Then, format both partitions:

sudo mkfs.msdos -n boot /dev/mmcblk0p1
sudo mkfs.ext4 -L rootfs -O ^huge_file /dev/mmcblk0p2

 Note: the -O ^huge_file option is needed to avoid enabling the huge
 files features of ext4 (to support files larges than 2 TB), which
 needs the kernel option CONFIG_LBDAF to be enabled.

Mount both partitions (if not done automatically by your system):

sudo mount /dev/mmcblk0p1 /media/boot
sudo mount /dev/mmcblk0p2 /media/rootfs

Copy the bootloaders, kernel image and Device Tree blob to the first
partition:

cp output/images/uboot-spl.bin /media/boot/boot.bin
cp output/images/u-boot.img /media/boot/u-boot.img
cp output/images/zImage /media/boot/zImage
cp output/images/at91-sama5d3_xplained.dtb /media/boot/at91-sama5d3_xplained.dtb

Extract the root filesystem to the second partition:

sudo tar -C /media/rootfs -xf output/images/rootfs.tar

Unmount both partitions:

sudo umount /media/boot
sudo umount /media/rootfs

Insert your SD card in your Xplained board, and enjoy. The default
U-Boot environment will properly load the kernel and Device Tree blob
from the first partition of the SD card, so everything works
automatically.

