BuildRoot is a set of makefiles and patches that makes it easy to generate a complete and very small Embedded Linux System. It can generate any or all of a cross-compilation toolchain, a root filesystem, a kernel image and a bootloader image.
Download BuildRoot version 2016.02 from its repository:
Decompress the .bz2 file in your home directory and move inside the new directory:
~$ tar xjvf buildroot-2016.02.tar.bz2 ~$ cd buildroot-2016.02 ~/buildroot-2016.02$
At this point I suggest to create a your own personal branch of Buildroot sources with git to keep a trace of any changes from the mainline. Use these commands:
~/buildroot-2016.02$ git init; git add .; git commit -m "buildroot vanilla"; git branch acme; git checkout acme
Download this patch file from GitHub:
and apply it by typing:
~/buildroot-2016.02$ patch -p1 < buildroot-2016.02.patch
Select the configuration of your board:
~/buildroot-2016.02$ make acme-arietta_defconfig ...
~/buildroot-2016.02$ make acme-aria_defconfig ...
~/buildroot-2016.02$ make acme-acqua_defconfig ...
~/buildroot-2016.02$ make acme-foxg20_defconfig ...
Probably you will need to customize the Buildroot configuration to install, for example, a different set of packages to meet your needs. If you want to do that or if you want just to take a look around the Buildroot configuration type:
~/buildroot-2016.02$ make menuconfig ...
and navigate inside the Buildroot configuration using the arrow keys and following the help provided by the menuconfig interface
Save and exit from the configuration menu and get start to run the BuildRoot compilation.
Install liblz4-tool (sudo apt-get install liblz4-tool) on your Ubuntu Linux to generate the Linux Kernel zImage
If you're running an Ubuntu distribution at 64 bit, install the libc6-i386 (sudo apt-get install libc6-i386)
Run the Buildroot compilation by typing:
~/buildroot-2016.02$ make ...
This operation will take about 1 hour to download and compile any source of any part of your Linux distribution.
If everything goes well you will obtain these binary files in output/images directory:
Uncompress the rootfs content inside the second partition of the microSD:
sudo tar xvf output/images/rootfs.tar -C /media/$USER/rootfs
Unmount the microSD and boot.