Building BuildRoot 2015.11

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.

Notes

  • This procedure was tested on a Linux PC with Ubuntu 15.04
  • It is advisable to have a Debug Port Interface
  • This article explains how to create only the rootfs contents. To generate the bootloader (at91bootstrap) and the Linux kernel image (zImage), please refer to the specific tutorials.

Building procedure

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:

Arietta basic configuration

~/buildroot-2015.11$ make acme-arietta_defconfig
...

Aria basic configuration

~/buildroot-2015.11$ make acme-aria_defconfig
...

Acqua basic configuration

~/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:

  • The whole root file system contents: rootfs.tar

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.

At login:

  • login: root
  • password: acmesystems

Related links