Baserock reference system definitions ===================================== Baserock is a system for developing embedded and appliance Linux systems. For more information, see . 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 http://git.baserock.org/cgit/baserock/baserock/definitions.git/tree/clusters/ci.morph BuildStream conversions ----------------------- 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/ ./convert 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 elements * 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 equivalents