View on GitHub

Build Gear

A lightweight embedded firmware build tool

buildgear-0.9.23.tar.xz Release Notes (12-05-14)

What is Build Gear?

Build Gear is a lightweight build tool for building embedded firmware.

The primary focus of this build tool is to make it easy to create and maintain fully customized embedded firmware. This is reflected in a straightforward command line interface and support for simple and easy readable build files. The secondary focus is build performance and build integrity. Build Gear is easy to use and well suited for rapid prototyping and product development of GNU/Linux firmware to be deployed in small to medium sized embedded systems.

Build Gear in action
Build Gear tool building a filesystem.

How to install?

To install please see the installation section of the Build Gear handbook

How to build stuff?

Build Gear makes building a basic filesystem for eg. the Hummingboard as easy as:

$ git clone --recursive git://github.com/mini-distribution/hummingboard.git
$ cd hummingboard
$ buildgear build fs

This will make Build Gear automatically download the source code of all included filesystem components, resolve build dependencies, and build everything in correct order - the end result is a compressed filesystem tarball in the build output directory: build/output/fs.tar.gz

Do we need another build tool?

In short, yes! We need a truly simple build tool for easily creating fully customized embedded GNU/Linux firmware.

The main motivation for creating Build Gear is to create a firmware build tool which operates in simpler and more transparent ways than existing build tools. Transparency is key for being able to quickly and easily create and customize embedded firmware for specific needs and at the same time maintain a high level of firmware quality. One of the main advantages of Build Gear is that it is easy to learn and, if needed, it makes it easy to create a custom embedded distribution from scratch. Also, there is a good collection of reference build files available for reuse or inspiration and if you are missing any features you can easily customize or add build files yourself.

Features

  • Simple build files
  • Cross and native type build files
  • Automatic build dependency resolution
  • Automatic rebuild support
  • Support for independent build spaces
  • One global build configuration file
  • Local and global tool configuration
  • Automatic source download
  • Integrated download manager:
    • Support for http, https, ftp, ftps type URLs
    • Parallel download support
    • Download resume support
    • Download super mirror support
    • URL redirection support
    • Timeout handling
  • Build layer support
  • Compressed source tarball support
  • Crosstool-NG toolchain support
  • Bash autocompletion
  • Automatic stripping of binaries
  • SVG dependency graph support
  • SVG load chart support
  • Build footprint support
  • Build system type detection
  • Build system check support
  • Source checksum support (sha256sum)
  • Parallel build support
  • Build log support
  • Build log rotation
  • Live build log viewing
  • Manifest support (plain text and XML)

Supports autogenerated dependency charts.
Supports autogenerated dependency charts (example for wget build).

Supports autogenerated load charts.
Supports autogenerated load charts (example for fs build).

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Downloads

Release tarballs are available here.

Documentation

The latest revision of the Build Gear Handbook is available online here.

Mailing List

Subscribe to the following mailing list for development, help, bug reports, announcements, discussions, etc.:
Build Gear Development Mailing List

IRC

We hang out on the #buildgear channel at irc.freenode.net. You can usually find us there during daytime hours (CET).

Development

The Build Gear source code is available on github: github.com/buildgear.

Continious integration builds are available via Contigrator: contigrator.wizznic.org/jobs/buildgear.

Build file repositories

There is a collection of reference build files available here: https://github.com/mini-distribution.

These build files are part of the "Mini Distribution" which is a reference distribution maintained by the Build Gear maintainers. It includes a simple set of components and features. That being said you should be able to easily reuse, modify or extend it for your own needs. In fact, we invite you to create your own distribution for you specific hardware. Build Gear makes it easy to do!

The Mini Distribution has it's own website here: http://mini-distribution.io.

Also, please notice that we only support building the Mini Distribution using Ubuntu. Other distributions installed on your build system are not officially supported. However, others will likely work but use on your own risk!

Contributing

Feel free to contribute - Build Gear is fully open source and open for ideas and patches which improve the build tool itself or any of the available build files. Go ahead, introduce yourself on the mailing list or drop by #buildgear.

We are always in need for maintainers to help maintain support for various hardware boards.

Build Gear Commit History

Committer Message Date
Loading...

Mini Distribution Commit History (http://mini-distribution.io)

Committer Repository Message Date
Loading...

The Mini Distribution serves as a reference distribution and example on how to create firmware using Build Gear.