BuildRoot is a set of makefiles and patches that makes it easy to generate a complete Embedded Linux System. It can generate any or all of a cross-compilation toolchain, a root filesystem, a kernel image and a bootloader image
This article explains how to create a bootable microSD for Arietta G25 SoM using the latest BuildRoot version and the latest stable Kernel version available now (Oct 2, 2015).
Download BuildRoot version 2015.08.1 from its repository:
Decompress the .bz2 file in your home directory and move inside the new directory:
~$ tar xjvf buildroot-2015.08.1.tar.bz2 ~$ cd buildroot-2015.08.1 ~/buildroot-2015.08.1$
Download our patch file to add the file requested by Arietta G25:
and apply it by typing:
~/buildroot-2015.08.1$ patch -p1 < acme.patch
Select the Arietta G25 defconfig:
~/buildroot-2015.08.1$ make arietta_defconfig
If you're running an Ubuntu distribution at 64 bit, install the libc6-i386 (sudo apt-get install libc6-i386)
Install liblz4-tool (sudo apt-get install liblz4-tool) used to generate the Linux Kernel zImage
Save and exit from the configuration menu and launch the BuildRoot compilation.
This operation will take about 1 hour to download and compile any source of any part of your Linux distribution.
~/buildroot-2015.08.1$ make ...
If everything goes well you will obtain these binary files in output/images directory:
Insert a microSD formated in this way using gparted:
Copy the files generated renaming some of them in this way:
cp output/images/at91-ariettag25.dtb /media/$USER/boot/acme-arietta.dtb cp output/images/zImage /media/$USER/boot sudo tar xvf output/images/rootfs.tar -C /media/$USER/rootfs
Unmount the microSD and boot on your Aria. It will take about 2 minutes the first time to calculate the openssh keys. The next boots it will take just 5 secs.
If you want to change something of the basic BuildRoot configuration (like adding packages) type:
~/buildroot-2015.08.1$ make menuconfig
If you want to change something in the Linux Kernel configuration (like adding some drivers) type:
~/buildroot-2015.08.1$ make linux-menuconfig