Linux distributions take software and, in some sense or another, make it accessible to end-users. Some distros provide binary packages while others distribute code in a way which ensures it is easy to automate compilation. These services are extremely useful as it would not be practical for everyone to compile and package all of their software directly from upstream all of the time.
The various groups doing this packaging work do so without considering interoperation with other groups. This forces end-users to choose one distro ecosystem and forgo features provided by others. Do I want something stable from CentOS or Debian? Do I want something cutting-edge from Arch? Ubuntu is quite popular and has a lot of desktop software tested against its libraries. Gentoo's ability to automate compiling packages with configured settings is also quite desirable.
Given someone already expended the effort to package the specific version of the specific piece of software a given user desires for one distro, the inability to use it with software from another distro seems wasteful.
Bedrock Linux provides a technical means to work around cross-distro compatibility limitations and, in many instances, resolve this limitation.
Bedrock Linux is a meta Linux distribution. Similar in spirit to Linux From Scratch or Gentoo, it distributes a means to install a Linux based operating system even if it does not distribute most of the resulting binary files directly.
The files distributed by the Bedrock Linux project are primarily glue for
components from other Linux distributions. Some, such as the hijack installer
strat command, are user-facing. Others, such as
largely behind the scenes to make as much as possible "just work." Bedrock
also provides some quality of life utilities for managing a system composed of
components from multiple other distros such as
brl fetch and
A Bedrock 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's "glue" carefully
integrates these so that they can interact with each other without tripping on
distro compatibility concerns.
Bedrock strives to make as many features from other distros available and
stratum boundaries as possible. A non-comprehensive list of
what is available at the time of writing includes:
Bedrock's flexibility opens so many options it can be difficult to provide a comprehensive, concrete picture of how it may be useful to potential users. Some reported real-world use cases include: