A Chimera Linux distribution that combines a Linux kernel with a FreeBSD environment

Daniel Kolesa of Igalia, who is involved in the development of the Void Linux, WebKit and Enlightenment projects, is developing the new Chimera Linux distribution. The project uses the Linux kernel, but instead of the GNU toolkit, it forms the user environment based on the stuffing of the FreeBSD base system, and uses LLVM for assembly. The distribution is initially developed as a cross-platform and supports the x86_64, ppc64le, aarch64, riscv64 and ppc64 architectures.

The goal of the project is the desire to provide a Linux distribution with alternative tools and to take into account the experience of developing Void Linux when creating a new distribution. According to the author of the project, custom FreeBSD components are less complicated and more suitable for lightweight and compact systems. Delivery under a permissive BSD license also had an impact. Chimera Linux's own developments are also distributed under the BSD license.

In addition to the FreeBSD user environment, the distribution also uses the GNU Make, util-linux, udev, and pam packages. The init system is built around the dinit portable system manager available for Linux and BSD systems. The standard C library musl is used instead of glibc.

To install additional programs, both binary packages are offered, as well as its own build system from source - cports, written in Python. The build environment runs in a separate unprivileged container created using the bubblewrap toolkit. The package manager APK (Alpine Package Keeper, apk-tools) from Alpine Linux is used to manage binary packages (it was originally planned to use pkg from FreeBSD, but there were big problems with its adaptation).

The project is still at the initial stage of development - a few days ago it was possible to provide loading with the ability to log in to the user in console mode. A bootstrap toolkit is provided that allows you to rebuild a distribution from its own environment or from an environment based on any other Linux distribution. The build process includes three stages: assembly of components to form a container with a build environment, own rebuild using a prepared container, and another own rebuild based on the environment created in the second stage (duplication is necessary to exclude the influence of the original host system on the build process) .

Source: opennet.ru

Add a comment