BuildRoot

Last modified by Microchip on 2025/03/03 06:34

Introduction

Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation'

It uses the Linux Kconfig configuration system, allowing easy selection of system content. The Makefile will include a .config file generated by Kconfig. The content of this file will determine what should be built.

It is relatively easy from there to add your own programs so your entire build process is automated.

Home website : http://www.buildroot.net/

The Buildroot user manual can help you better understand how Buildroot works.

For our Linux4sam distributions, we actually use two buildroot trees, which work in conjunction. One tree is named buildroot-at91, and it's available on github buildroot-at91 repository. This repository buildroot-at91 is normally on top of a specific mainline Buildroot version, with none to very few patches on top, just to fix small issues from upstream Buildroot.
We always build our Buildroot together with a second tree, named buildroot-external-microchip, available on github buildroot-external-microchip repository, which is a specific Buildroot External that provides our specific packages , libs, etc. and it also includes the latest configuration for our boards. The buildroot External is some kind of Yocto layer if you are familiar with this, but does not have the full capabilities of a Yocto layer. We can see it as an addendum to the original buildroot. An External will provide additional files and packages for our distribution.
While the mainline Buildroot builds correctly, it does not offer the full richness of a linux4sam distribution. For a full linux4sam distribution, we use this External to compliment the mainline Buildroot (or buildroot-at91) with additional features specific for our linux4sam distribution.

For our linux4sam distribution , we always use our buildroot-at91 tree together with buildroot-external-microchip, and this is the way we recommend to everyone.

In theory , one can try to build our External with the upstream Buildroot repository, but you might miss some fixes which we made on top of upstream buildroot and pushed to our buildroot-at91. Also, in theory, our External can work with different versions of Buildroot upstream. However we do not test nor support this out of the box. Because in upstream buildroot, packages are changed, removed, added from one version to another, you might face build issues that we did not test during our linux4sam releases. To have a smooth experience, you have to checkout our specific tandem tags which we place on each repository in our trees, meaning pick one of our releases, and select on both trees the same tag for a correct build.

Currently the Buildroot can build

  • at91bootstrap
  • u-boot-at91
  • linux-at91
  • A cross-compiler optimized for your SoC
  • Root filesystems of different types
  • Bootable SD card

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.subsections.buildroot-build.WebHome]]. Click on this message for details.

Related Topics