Use multiple distributions at the same time with Bedrock Linux

Slashdot it! Delicious Share on Facebook Tweet! Digg!
ninelle, 123RF

ninelle, 123RF

Fundamental Foundations

Bedrock transparently combines virtually any number of distributions with different architectures, package management, and init systems under a filesystem.

If you can install Arch Linux blindfolded, Bedrock Linux [1] could be a new challenge for you. The overhead can be roughly compared to setting up Linux from Scratch (LFS). As a reward, you will definitely learn a great deal, and Bedrock offers genuine added value compared to the above approaches: After the installation, you'll have a host system with multiple virtualized guests. However, nothing is virtualized at Bedrock; everything runs natively and transparently. The distribution is thus boldly venturing into new terrain.

In plain text, this means that Bedrock provides a structure in which you can install almost any number of different distributions and their respective applications. Bedrock, which is based on a relatively small, statically linked operating system core, thus combines the benefits of each installed distribution into a single system. For example, you can install the current version of Firefox from Fedora and also install a browser version compiled without D-Bus support using Gentoo and then run them at the same time.

Also the various package management tools of the individual distributions such as Apt, Yum, and Pacman are available in Bedrock. Additionally, you can install 32- and 64-bit systems in a single partition on 64-bit hardware. Also, different init systems like SysVinit, Upstart, Runit, or systemd will work peacefully side by side. All the installed applications, no matter where they come from, think they are running on their own native operating systems. Conveniently, Bedrock includes the home directory in all the installed distributions, so that you always work with identical data.

Documentation

Brought slowly and carefully to maturity by a small group of developers who set great store on stability of the basic system, Bedrock is developing steadily. At the time of testing, the 1.0beta2 "Nyla" version was available as a fresh download, but the developers are already working hard on a third beta.

If you are interested in Bedrock, you can get started on the Bedrock website by reading the introduction [2] and the FAQ [3]. The detailed documentation makes clear what Bedrock is and is not (Figure 1).

Figure 1: Reading the detailed documentation of Bedrock is a must.

Setting up Bedrock and installing and configuring multiple distributions can easily take a whole day. Therefore, you should think in advance about what you want to achieve with Bedrock. The distribution is suitable for learning by doing, or as a developer machine housing Debian and Ubuntu, for example, and it enormously facilitates comparisons of various package levels and debugging. Many other application scenarios besides these are also conceivable.

Bedrock does not offer any special security mechanisms that strictly separate the distributions – nothing is isolated or sandboxed. The installation of an Ubuntu package within the Ubuntu section of Bedrock could wreak havoc in the Debian installation. On the other hand, Bedrock would be a pointless endeavor if the same or different versions of two packages could co-exist easily in their native distributions.

If one of the distributions you are installing relies on SELinux, you might prefer to disable the feature [4]. Note that Bedrock will not make installing insecure packages from dubious sources more secure, unlike what you would assume with virtualization or containers.

Design Principle

The developers of Bedrock did not reinvent the wheel when constructing the distribution, but instead relied on age-old UNIX principles. Changed roots (chroots) [5] and bind mounts [6] provide a large part of the system's magic. Chroots slot in somewhere between containers and conventional virtualization. The biggest difference is that chroots are permeable, whereas containers tend to isolate. Using bind mounts, the system inside of the chroot then allows the launched applications to interact with files outside of the chroot environment.

The installation of the current version of Bedrock Linux usually works quite well, not least because of the detailed documentation. However, the process is likely to overwhelm less savvy users as it is entirely console-based. You build the base system inside an existing Linux installation from the Bedrock Git repository (Figure 2).

Figure 2: You build Bedrock from the project sources on the basis of an existing Linux installation.

All told, it took about four hours to set up Bedrock on a test system and install Debian 8, Fedora 22, and Void Linux. This process was followed by configuring and extending the installed basic systems. The space required by Bedrock will grow quickly depending on the number of installed distributions, but with the capacities and prices of today's hard drives, this is unlikely to be a worry.

Buy this article as PDF

Express-Checkout as PDF

Pages: 6

Price $0.99
(incl. VAT)

Buy Ubuntu User

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Innovation in the Linux environment

    Testers constantly encounter new trends in the experimental branches of Linux distributions. I look at who drives Linux forward and how the future is shaping up.

  • Encrypted ZFS with Ubuntu

    ZFS is one of the most advanced filesystems, and now it can be used natively on Linux. One drawback is that native ZFS encryption is not available, but this article shows how use Linux's disk encryption to install Ubuntu onto an encrypted disk with ZFS.

  • Installing Ubuntu 13.10

    Ubuntu 13.10 offers some changes to the installation process. We'll walk you through upgrading or installing the latest release.

  • Installing Ubuntu 13.10

    Ubuntu 13.10 offers some changes to the installation process. We'll walk you through upgrading or installing the latest release.

  • Installing Ubuntu 14.04

    Ubuntu 14.04 offers some changes to the installation process. We'll walk you through upgrading or installing the latest release.