blob: 5300b8740c1bab8101a6e89b885ac033b70dadc4 (plain
Baserock reference system definitions
Baserock is a system for developing embedded and appliance Linux systems. For
more information, see <http://wiki.baserock.org>.
These are some example definitions for use with Baserock tooling. You can fork
this repo and develop your own systems directly within it, or use it as a
reference point when developing your own set of definitions.
The systems listed in the elements/systems/ directory are example systems
that build and run at some point. The only ones we can be sure
that still build in current master of definitions are the ones that
we keep building in our ci system; they are listed in
It is possible to use BuildStream to build Baserock definitions. The
BuildStream build tool uses a different definitions format, so a conversion
needs to be done first.
Run the `convert` script from the root of the repository and you will be
rewarded with an autogenerated set of .bst files in the elements/ subdirectory
which should be buildable using BuildStream.
To run `convert`, you will need defs2bst and ybd. The following commands, run
from the root of the repository, should be enough to do a conversion:
git clone https://gitlab.com/BuildStream/defs2bst/
git clone https://gitlab.com/baserock/ybd/
You can then build e.g. a devel-system using BuildStream:
bst build systems/devel-system-content.bst
Some things are not supported by the BuildStream conversion tool, and will need
to be manually dealt with.
* the build-essential stratum isn't automatically converted, the
elements/gnu-toolchain.bst element is its equivalent and needs to be
manually kept in sync with any changes
* .configure and .write extensions need to be rewritten as BuildStream
* non-x86_64 systems aren't automatically converted; BuildStream supports
"arch conditionals" which should make it easier for a single tree of .bst
files to support many platforms, but it's not easy to automatically achieve
this in places like linux.bst where Baserock currently has many different