October 5th, 2024

Buildroot

Buildroot is an open-source tool that simplifies embedded Linux system generation via cross-compilation, allowing users to build systems in 15-30 minutes and supporting numerous packages with an accessible structure.

Read original articleLink Icon
Buildroot

Buildroot is an open-source tool designed to simplify the generation of embedded Linux systems through cross-compilation. It efficiently manages the entire process, including the creation of a cross-compilation toolchain, root filesystem, kernel image, and bootloader. The user-friendly configuration interfaces, such as menuconfig, gconfig, and xconfig, allow users to build a basic system in approximately 15-30 minutes. Buildroot supports a wide range of packages, including the X.org stack, Gtk3, Qt 5, GStreamer, Webkit, and Kodi, along with numerous network and system utilities. Its straightforward structure, based on the familiar Makefile language, makes it accessible for users to understand and extend. The project benefits from active contributions from many developers, with ongoing discussions and recent commits reflecting its vibrant community.

- Buildroot simplifies the creation of embedded Linux systems through cross-compilation.

- Users can build a basic system in 15-30 minutes using intuitive configuration interfaces.

- It supports thousands of packages, including popular frameworks and utilities.

- The project is open-source and actively maintained by a community of developers.

- Buildroot's structure is based on Makefile language, making it easy to understand and extend.

Link Icon 5 comments
By @lrvick - 3 months
For those that want to see full source bootstrapped, deterministic, and container native alternative to buildroot check out https://codeberg.org/stagex

Can make a bootable OS with just a containerfile, for example:

https://git.distrust.co/public/airgap/src/branch/main/Contai...

https://git.distrust.co/public/enclaveos/src/branch/master/C...

By @IshKebab - 3 months
Coincidentally I tried this recently. I dunno if I liked it. It uses the kernel's `make menuconfig` system which seems like it occupies a bad place between "easy usable GUI" and "robust config file you can check in to git".

Once you've configured it it then does a lot of downloading and compilation of random stuff and it's all strung together with janky shell scripts which means it's almost guaranteed to break.

I got some weird errors that returned zero google results and the source of the error was a long awful shell pipeline involving `sed`, `tr` etc.

Doesn't scream quality.

I gave up and switched to manually compiling Linux and OpenSBI (which is really all I needed so buildroot was overkill anyway). Went much smoother and I actually vaguely understood what was happening.

I haven't tried Yocto, maybe that is better engineered.

By @kajkojednojajko - 3 months
Me: I couldn't write anything longer than 20 lines in make - there's just one type (string), no debugger, no data structures, no standard library, and not even modules.

Buildroot developers: let's write a build system in make!

By @metadat - 3 months
How are kernel or application updates applied to buildroot-installed systems?
By @throwaway9364 - 3 months
We’ve built something that goes well with buildroot for installing and updating apps during development or in production.

Does not require cloud or internet access.

https://www.voyonic-systems.de/products/voyonic-fieldkit