Diffstat (limited to 'README.md')
1 files changed, 53 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
@@ -0,0 +1,53 @@
+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