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

Main Nav

External Links

Frequently Asked Questions

What is Bedrock Linux?

See the Introduction to Bedrock.

How does Bedrock Linux Work?

The exact details may change drastically from release-to-release. Broadly, it uses various virtual filesystem layer tools such as chroot, pivot_root, bind mounts (including shared subtree control), and FUSE filesystems, and symlinks to control exactly which instance of a file a given process sees in a given situation. It also manipulates various files to enforce configuration and controls the init system to set things up before handing control off to the desired init.

Why should I use Bedrock?

Why should I not use Bedrock?

How secure is Bedrock Linux?

A Bedrock Linux system is composed of packages from other distributions. If you limit yourself to packages from secure, well-proven, hardened distros, security could be comparable to those distros themselves. If you use less secure packages from less secure distros, Bedrock Linux's security will suffer accordingly. In theory Bedrock Linux allows one to build a system out of every package from every major distro without any access controls in place, which would have an incredible attack surface and be a terrible idea. Don't do that.

Bedrock Linux does offer some minor theoretical security benefits over traditional distros:

There are also some downsides to Bedrock Linux from a security point-of-view:

How stable is Bedrock Linux?

Stability and, where that fails, resilience to otherwise potentially breaking issues, is a high priority for the project. The original reason Bedrock Linux started was to allow access to newer packages without the sacrifice in stability provided by distros such as Debian and RHEL

However, at the moment, Bedrock Linux is in deep development and it is very possible that stability issues may arise. Moreover, the community is relatively small, limiting our ability to properly test and quality-assure the project in its current state. While stability is a valued eventual goal, it may be lacking to some degree or another at the current time.

Even when 1.0 stable is reached, Bedrock Linux's flexibility may allow for unstable configurations. A Bedrock Linux system is composed of packages from other distributions. If you limit yourself to packages from stable, well-proven distros, stability will follow. If you use less stable packages packages from less stable distros, Bedrock Linux's stability will suffer accordingly.

Neither an all-very-stable package collection nor an all-bleeding-edge package collection is required. Rather, a blend of the two is where Bedrock Linux is able to excel. In such a setup, a user can keep around and depend on stable software while still having access to less dependable, more cutting edge software. Should some software fail - most likely the bleeding-edge software, but not impossibly the older software software - packages from other distros can fill the functionality gap, minimizing the hit. This even works with things such as init systems: should an init system fail, traditional distros would be rendered unbootable without manual efforts to resolve. With Bedrock Linux one can simply chose an init system from another distro.

Is Bedrock Linux far enough along for me to use?

Difficult to say. Typically issues become evident in relatively early use, and if early experimentation proves fruitful with your workflow it will likely continue to work. Consider trying Bedrock Linux in a VM or on a spare machine and exercise your general workflow as a test.

How can I contribute?

See the contributing page.

How is this different from/preferable to using a virtual machine?

Bedrock Linux's functionality differs from virtual machines in three key ways:

How is this different from/preferable to containers (Docker/LXC/OpenVZ/etc)?

Containers contain things. They, purposefully, keep the contained software from interacting with the rest of the system. This has numerous benefits:

However, containers have disadvantages as well:

Where containers are useful, one is certainly encouraged to use them. However, one cannot be realistically expected to contain everything independently. What most Linux distributions do is provide software that can interact natively for when that is useful. Bedrock Linux is no different here, conceptually, from other major distributions. What makes Bedrock Linux unique is that the software it can install natively is provided from a very large variety of sources. If one wants to use mkdir from one distribution and rmdir from another, for whatever reason, Bedrock Linux, for the most part, can make this happen. A more realistic example would be utilizing xorg from one distribution and a window manager or desktop environment from another - neither is good alone, they need to interact, but there could be legitimate reasons to want them from different distributions. See the compiz story here, for example.

Containers and Bedrock Linux have very different goals and go about them by largely different means. The two are not in competition in any way; in fact, one could run Bedrock Linux in a container, or run containers on top of Bedrock Linux, no different than any other distribution.

When will $RELEASE be released?

If there is an estimate for a release, it will be stated in the index page for the specific release. If not, then it will be released when it is done.

Why that name?

Bedrock Linux does not do very much by itself; rather, it is the foundation upon which parts of other Linux distributions are placed. Initial ideas for a name were intent on reflecting this fact. Other proposed names included "Foundation Linux", "Frame Linux" and "Scaffolding Linux". The choice was made without consideration of the television show The Flintstones.

Where do the release names come from?

All of the Bedrock Linux releases are named after characters from the Nickelodeon television programs Avatar: The Last Air Bender and The Legend of Korra.

What are the system requirements?

The system requirements are not closely tracked. Bedrock has been found to work adequately on relatively low end machines such as a Raspberry Pi 3b+ and Eeepc 701. Generally, Bedrock requires a handful of megabytes more RAM than the traditional distros that make up its strata, but a non-trivial amount of extra disk.

Why does this need to be its own distribution?

This question is a bit difficult to answer, as Bedrock Linux somewhat blurs the definition of what constitutes a "Linux distribution".

If someone is using equal parts of multiple different distributions, what should one call the resulting operating system? Say, for example, that exactly one third of the installed and in use for a given Linux distro install comes from Arch Linux, another third from Alpine Linux, and the last third from Gentoo Linux. Which distro is the user running? Answering the question with a simple "Arch," "Alpine," or "Gentoo" would be misleading. One cannot tie it to typically firm concepts such as the init system or the kernel, as these are fluid concepts in Bedrock Linux. It is possible to switch any of those with a reboot while still using the exact same rest of the system. Instead of expecting people to answer the question of "which distro are you running?" with a long explanation going into the intricacies of how things are intermixed between multiple distributions, someone could simply answer "Bedrock Linux".

People have proposed having Bedrock Linux act as a meta package manager which sits on top of another distro. By virtue of its meta-distro nature, Bedrock Linux supports this workflow, while not being constrained to it. You can install Bedrock Linux by hijacking another distro's install. If you would like, you are then free to continue using the original distro's software while utilizing Bedrock Linux to access software from other distros. Functionally, this is very similar to installing some other package manager into a distro. The key difference is that, from Bedrock Linux's point of view, there is no major difference between the files from the distro install you've hijacked and the files from the other distros. You're free to remove all of the original install's files . If you install some distro, such as Slackware, then hijack it into Bedrock Linux, then remove all of the files of the original Slackware install, are you still running the original distro?

Bedrock Linux is described as a (meta) Linux distribution because this is the most accurate answer when restricted to preexisting concepts. It does not need to be treated as such; the system is sufficiently flexible to fill other workflows, such as acting as though it is a package installed onto some other distribution. However, describing it by these other workflows alone would be misleading.

On which distribution is Bedrock Linux based?

Bedrock Linux is not based on or an offshoot of any other Linux distribution; it was written from scratch. Or, if you prefer to look at it from another point of view, it is based on every other major distribution, as that is where it gets the majority of its software.

This sounds overly-ambitious. Do you really think you can pull this off?

An argument could be made either way if Bedrock Linux was still in the planning stages, prior to any functional release, but since Bedrock Linux was publicly announced along with a functional (if unpolished) alpha: yes. Not only is it possible, it has been done, and the necessities for you to see this for yourself have been made available if you don't want to take my word for it. Much work needs to be done such as polish and the addition of many features, but the core idea has been proven quite definitively to work.

What about Bedrock BSD or Bedrock Android or Bedrock Something-Else?

The techniques Bedrock Linux utilizes are fairly specific to Linux. While it may possible to create a similar meta-distro for other kernels, they would require substantial new R&D and are not being pursued by anyone on the Bedrock Linux team. While Android does use the Linux kernel, its userland is sufficiently distant that it, too, would require substantial R&D and is not currently being pursued.

Is Bedrock Linux practical?

Bedrock Linux is not intended as an academic exercise or a purely research project. It aims to result in a functional, practical system which solves real-world problems. However, the requirements to be practically useful varies across people and purposes. Bedrock Linux may not be useful for everyone.

Why was Bedrock Linux started?

What ended up becoming Bedrock Linux was originally a series of experiments and exercises with various Linux subsystems and technologies which did not have a specific collective name or ultimate end-goal in mind. It was not until:

that the project became organized with a specific name and drive.

What distros do Bedrock Linux support as strata?

Broadly support falls into two categories:

Why did the version system change?

Bedrock Linux's early version numbers were chosen under the assumption that remaining open problems were unlikely to be solved in the near future. Thus, the versions pressed towards a 1.0 stable release. However, over the years major issues were resolved over and over, each with a substantial under-the-hood rework. It became evident that semantic versioning's pre-1.0 non-alpha/beta/rc releases better express Bedrock's state, and the version system was updated accordingly.

Why can't I un-hijack my install?

The central idea behind Bedrock Linux is to offer a way to get features from a mix of other distributions. This includes not only things like the kernel, init, and web browser, but also the install process. In order to utilize another distribution's install process, one first installs that distro, then runs a Bedrock script which converts the install into a Bedrock Linux install. While most of the original install's files are (optionally) retained for use by the resulting Bedrock system, the system is arguably no longer running the original distro anymore.

After the hijack process is completed, the hijacked install's files are no longer in any way special; it's simply another Bedrock stratum. One may remove the hijacked install's files with brl remove $(brl deref hijacked). At this point there is nothing to "un-hijack" to.

It is inadvisable to model Bedrock as something which is installed "on top" of another distro. This is comparable to modelling a hypervisor as something which is installed "on top" of a VM; it's functionally backwards. Rather, is often best modelled Bedrock as a(n unusual) Linux distribution. With most distros - Arch, Debian, CentOS, etc - installing is a destructive operation and removes data which previously existed on the installed-to medium. If you want to retain the option to revert to what you had before installing Arch, Debian, CentOS, etc, you need to back up before you install over it. Bedrock should be treated similarly here.

How can I tip the lead developer?

Bedrock Linux development is not limited by funding, and there is no intended obligation associated with benefiting from Bedrock Linux development efforts.

If you are interested in tipping the lead developer as a thanks for his efforts, see here.