A Bedrock Linux system is composed of
strata, which are collections of
interrelated files. These are often one-to-one with traditional Linux
distribution installs: one may have an Arch
stratum, a Debian
stratum, a Gentoo
stratum, etc. Bedrock integrates these
strata together creating a single,
largely cohesive system.
To list the currently installed (and enabled)
A fresh install will have two
strata: Bedrock itself and the initial install.
This, alone, is of little more immediate value than just the initial install.
To benefit from Bedrock more
strata are needed. To list distros Bedrock knows
how to acquire as
brl fetch --list
Then to acquire new
strata, run (as root):
That may fail if it auto-detects a bad mirror. If so, manually find a good
mirror for the distro and provide it to
brl fetch with the
Once that has completed you may run commands from the new
example, the following series of commands make sense on a Bedrock system:
Bedrock's integration is not limited to the command line commands. Other
features which work across
strata.For example, Ubuntu's Unity will offer launching Gentoo's
zshwill tab complete Arch's
strata. For example, Arch's
firefoxwill detect Gentoo's terminus font.
strata. For example, Arch's
manwill display Void's
If there are multiple instances of an executable Bedrock will select one by
default in a given context. If there are hints it can pick up on for which one
to use, it is typically correct.
brl which can be used to query which
Bedrock will select in a given context.
If you would like a specific instance, you may specify it with
To avoid conflicts, processes from one
stratum may see its own
instance of a given file. For example, Debian's
apt and Ubuntu's
both see their own instance of
/etc/apt/sources.list. Other files must be
strata to ensure they work together, and thus all
strata see the
same file. For example,
/home must be shared. Such shared files are referred
global, in contrast to
local files. Which
stratum provides a
file in a given context can be queried by
If you would like to specify which non-
global file to read or write, prefix
/bedrock/strata/ to its path.
Compilation and build tools may become confused when scanning the environment
for dependencies and finding them from different distributions. For these
-r flag should be used to restrict the command to the
given stratum. For example:
The build tools may then complain about missing dependencies, even if they're provided by other strata. If so, install the dependencies, just as one would do on the native distro.
This is enough information for most users to begin exploring and experimenting with Bedrock Linux. However, if you would like to learn Bedrock more deeply, consider continuing to concept and terminology overview which expands on the details described here.