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

Main Nav

External Links

Introduction to Bedrock Linux

Introduction

Linux distributions take software available and, in some sense or another, prepare it for end-users. Some distros compile the software and provide binary packages; others distribute the code in a way which ensures it is easy to automate compilation. These services are extremely useful; it would not be practical for everyone to compile and package all of their software directly from upstream all of the time.

However, the various groups doing this packaging work do so with limited focus on having their packages directly interoperate with those from other groups. End-users are forced to choose between the available sets of packages. Do I want something stable from a RHEL clone or Debian? Do I want something cutting-edge from Arch? Ubuntu is quite popular and has a lot of software tested against its libraries - maybe that would be best. Gentoo's ability to automate compiling packages with configured settings is also quite desirable. The list goes on. Typically, any Linux user would have to chose one of the available distros and either get all of their packages from that distribution or fall back to taking the distribution developer's job of compiling and packaging software.

This seems silly - if someone already packaged the specific version of the specific package desired, why not just use that? Sadly, there are various technical reasons one cannot directly install software from one release of one distribution onto another release of another distribution. Bedrock Linux aims to find a technical solution to remove these problems. On a Bedrock Linux system an end user should be able to install most of the software available from most of the other Linux distributions so that it works just as well as one would have expected had the package been intended for the distribution. Bedrock Linux should allow its end-users to get most of his or her system from something rock solid such as a RHEL clone or Debian, while still retaining access to cutting-edge packages from Arch and its AUR, library compatibility with Ubuntu, the ability to leverage Gentoo's portage, and so forth, all at the same time on the same distribution.

What Bedrock Linux does

Bedrock Linux manipulates the virtual filesystem so that processes from different distributions which would typically conflict with each other do not conflict, but instead are able to cooperate. With this system, for example, one could have an RSS feed reader from Arch Linux's AUR open a webpage in a web browser from Ubuntu's repos while both of them are running in an X11 server from Fedora. These interactions feels as though all of the packages were from the same repository; for day-to-day activity, Bedrock Linux feels like any other Linux distribution. The typical concerns for things such as library conflicts are a non-issue with Bedrock Linux's design - if there is a package out there for a Linux distribution on your CPU architecture, it will most likely work with Bedrock Linux.

Additional Functionality

As a side-effect of the way Bedrock Linux ensure packages from different distributions can coexist, Bedrock has some unusual additional functionality:

Real-World Examples of where Bedrock Linux Shines

These are all examples of real-world situations which came up while Bedrock Linux was in development which showed quite clearly Bedrock's strength.

Concepts and Terminology

Bedrock Linux is still in heavy development, and specific underlying concepts and terminology change from release to release. At the time of writing, documentation for the current release (1.0beta2 Nyla) corresponding to underlying concepts and terminology can be found here