__          __             __
\ \_________\ \____________\ \___
 \  _ \  _\ _  \  _\ __ \ __\   /
  \___/\__/\__/ \_\ \___/\__/\_\_\

Bedrock Linux 0.7 Poki

Bedrock Linux 0.7 Poki Basic Usage

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) strata, run:

brl list

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 strata, run:

brl fetch --list

Then to acquire new strata, run (as root):

brl fetch distros

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 -m flag.

Once that has completed you may run commands from the new strata. For 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 include:

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.

Some examples:

If you would like a specific instance, you may specify it with strat:

To avoid conflicts, processes from one stratum may see its own stratum's instance of a given file. For example, Debian's apt and Ubuntu's apt must both see their own instance of /etc/apt/sources.list. Other files must be shared across 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 to as global, in contrast to stratum-local files. Which stratum provides a file in a given context can be queried by brl which:

If you would like to specify which non-global file to read or write, prefix /bedrock/strata/stratum/ to its path.

Compilation and build tools may become confused when scanning the environment for dependencies and finding them from different distributions. For these situations, strat's -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.