See the Introduction to Bedrock.
The exact details may change drastically from release-to-release. Documentation for the general concepts behind the current release at the time of writing (1.0beta2 Nyla) can be found here.
If you are happy with all of the functionality provided by another Linux distribution, and you have no interest in features it does not provide, it would likely be best to simply use that other Linux distribution.
Bedrock Linux is still in deep development with a relatively small community. While stability, reliability, and accessibility are high priorities for the eventual "stable" release, they may be lacking in the project's current place in the development cycle. If you are willing to put up with some rough edges more testers are certainly welcome, but if you are looking for a stable, well-proven or user-friendly distro Bedrock Linux may not yet meet your needs. See the stability FAQ entry below.
While Bedrock Linux can acquire beneficial attributes of other distributions, it can also take in some negative attributes, namely lax security. A Bedrock Linux system composed of carefully chosen, curated components from other distributions with properly configured hardening techniques may be more secure than most other distros out there; however, one composed of a cacophony of overly-complicated insecure packages from poorly designed and ill maintained distros could easily be much worse than most other distros. In other words, Bedrock Linux's flexibility lets you shoot yourself in the foot in wholly new and unique ways. See the security FAQ entry below.
Just as security issues are additive, so is complexity. Any two distros x and y would each be, individually, simpler than a Bedrock Linux system which is composed of packages from both distros x and y. While this complexity is manageable in practice, those looking for extreme minimal/simple distros may prefer to look elsewhere.
Bedrock Linux uses a non-negligible amount of disk over traditional distros.
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.
In practice, Bedrock Linux does offer some notable security benefits over traditional distros:
If a distro does not provide a desired version of a desired package, a user is typically expected to go acquire it outside of the distro's repositories. It then falls on the user to maintain the package himself/herself. While it is possible a given user is extremely diligent about maintaining such packages, there is a strong possibility the user may fail to follow proper diligence and let security updates languish. With Bedrock Linux, the package may be acquired from another, maintained distribution whose security team the user can depend on.
Some hardening techniques from one distro may protect software from others. For example, a hardened kernel from one distro may be used with packages from another distro that does not provide such a hardened kernel. Access control mechanisms such as SELinux as provided by one distro may be configured to extend to packages from other distros that would not have natively provided such access control mechanisms at all.
There are also some downsides to Bedrock Linux from a security point-of-view:
chroot()-hardening techniques will break Bedrock Linux. Some people
attempt to misuse
chroot() as a security tool, unaware of the many ways
chroot() "contained" things can influence the rest of the system. These
hardening techniques attempt to shore up these limitations of using
chroot() as a pseudo-container. Bedrock Linux uses
chroot() to a nuanced
degree, taking advantage of the areas where it does not contain things;
changes there will break Bedrock Linux. If you need to lock down
consider changing or expanding your strategy to include things such as using
pivot_root and namespaces.
Some distros provide security mechanisms such as SELinux policies or intrusion detection systems which may not "just work" across packages from different, unrelated distros in a Bedrock Linux system. It may be possible to manually extend such policies and mechanisms to cover the entirety of a Bedrock Linux system composed of packages from a variety of distros, but additional work would be required; it won't "just work".
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.
Bedrock Linux's development has largely focused on the under-the-hood technology that makes it work rather than user-facing policy. The installation procedure, for example, is notably rough at the time of writing; this is a blocker for many people who are not accustomed to getting their hands dirty compiling things and editing configuration files directly.
If you are seeking a polished, it-just-works distribution, Bedrock Linux is not yet far enough along to meet that constraint; it may be advisable to use another distribution for the time being.
If you are accustomed to more hands-on/low-level distributions such as Arch, Gentoo, and Linux from Scratch, and are okay with using a "beta" system that is still in active development, Bedrock Linux may be far enough along for you to utilize.
stratumBedrock Linux, or something as simple as fixing typos. Once you have something to submit, stop by the website git repo.
Bedrock Linux's functionality differs from virtual machines in three key ways:
strata, there is little to stop it from affecting the rest of the system. Virtual machines, by their very design, sandbox the VMs such that an attack on one of them will have a difficult time propagating to others.
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:
Things within containers are kept from interacting with each other. For
things which run as stand-alone services, such as web servers like apache and
nginx, this is not a problem. However, other software is intended to coexist
with like software. Containing things such as
separate containers would significantly reduce the benefit of each.
Services such as Docker can be used to create what are effectively very portable packages. However, someone has to do some work to create these packages. One cannot simply grab a .deb or .tar.gz from the repositories of other Linux distributions, drop them in a container and expect them to work.
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
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.
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.
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 name chosen has nothing to do with the television show The Flintstones.
All of the Bedrock Linux releases are named after characters from the Nickelodeon television program Avatar: The Last Air Bender.
The system requirements are listed in the specific pages for each release. This is done in case changes between versions alter the system requirements. The system requirements for the initial alpha can be found here.
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 "hard" concepts such as the init system, the kernel, or even the root filesystem, 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 (sans a few key install-related things such as the bootloader and possibly initrd if it is needed to decrypt full disk encryption, etc). 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 Slackware?
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.
Bedrock Linux is not based on or an offshoot of any other Linux distribution; it was written "from scratch." It has unusual twin goals of needing to be as minimal as possible while supporting the features necessary for a full-blown desktop. Rather than attempting to tweak an existing distribution into such a shape a new one was made from the ground up. 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.
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.
It should be noted that no other operating system family has such a disparate variety of userlands which all run on the same kernel. Bedrock Linux's strengths wouldn't be nearly as beneficial anywhere else. Attempting to do something such as Bedrock Linux will inherently require leveraging operating-system-specific tools, and so it may require a fair bit of additional research to port Bedrock Linux's tools to another platform. Bedrock Linux is still under heavily development and changes quite a bit between releases. It may be best to first wait for Bedrock Linux to settle on one strategy before putting the efforts to port it elsewhere to avoid wasted effort.
Android's utilities may be dependent on Android's patches to the Linux kernel. However, "traditional" Linux programs seem to run fine on the Android kernel. Thus, any port of Bedrock Linux to android would likely require an Android kernel to be used.
The Android file system layout is significantly different from traditional Linux distributions. PATH and bind-mount system changes may be required.
Android does some unusual things with its UID/GIDs. For example, there does not seem to be a UID-username map at /etc/passwd as one would expect from other Linux-based operating systems. UID namespaces and brc-style translation programs may be necessary.
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.
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.
All of the examples of distros Bedrock Linux supports as strata are just that: examples. Bedrock Linux's approach is largely generic and will likely work with many distros that have been given no specific attention by the Bedrock Linux developers. If you do not see a specific distro mentioned on the Bedrock Linux website this does not indicate it will not work properly; most major "traditional" distros should be expected to work to some degree. However - especially given the "beta" status of the project - there may be hiccups here or there with some distros or features of distros that have not been well tested under Bedrock Linux.