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 2015.11 from its repository:
Decompress the .bz2 file in your home directory and move inside the new directory:
~$ tar xjvf buildroot-2015.11.tar.bz2 ~$ cd buildroot-2015.11 ~/buildroot-2015.11$
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-2015.11$ git init ~/buildroot-2015.11$ git add . ~/buildroot-2015.11$ git commit -m "Buildroot vanilla" ~/buildroot-2015.11$ git branch acme ~/buildroot-2015.11$ git checkout acme
Download this patch file from GitHub:
and apply it by typing:
~/buildroot-2015.11$ patch -p1 < buildroot-2015.11.patch
Select the configuration of your board:
~/buildroot-2015.11$ make acme-arietta_defconfig ...
~/buildroot-2015.11$ make acme-aria_defconfig ...
~/buildroot-2015.11$ make acme-acqua_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.11$ make ...
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.