Buildroot-ts Configuration

From embeddedTS Manuals
Revision as of 17:06, 3 April 2023 by Kris (talk | contribs) (Clean up/update)

The full-featured stock image may be too cumbersome for some applications. Applications that require faster bootup time or a smaller root filesystem will benefit greatly from using a lighter distribution like Buildroot. Using Buildroot for generating images makes it easy to keep software up to date, both userspace and kernel. Additionally, the use of Buildroot allows for building full images completely from source, with semi-reproducable builds, and full software license reports.

To assist customers heading down this path, we maintain our own Buildroot br2-external tree that includes support for various platforms. This tree includes upstream Buildroot as a submodule, which eases updating between Buildroot releases. See the Buildroot manual for more information on Buildroot and br2-external trees.

In order to provide an easy transition from a larger Linux distribution to one like Buildroot, we provide and maintain two levels of configurations. The base configuration for each device brings in hardware support to get the unit booted but offers minimal software support and relies mostly on tools provided by Busybox. We also maintain a separate defconfig that can be merged in with any of the base configurations in order to provide many additional packages to create an environment that is more consistent with larger Linux distributions. The instructions below, as well as any pre-built images we may provide, use this merged defconfig to add more packages. This larger Buildroot image averages about 10 seconds of boot time, much of which is spent on networking. The base configurations can reduce this time down to under 5 seconds from power on to login prompt.

Our Buildroot br2-external currently uses the linux-5.10.y branch of our Linux LTS kernel repository for the majority of its supported platforms.