Daniel Wheels ( by Daniel Kolesa ) from the company Igalia , participated in the development of projects Void Linux, WebKit and Enlightenment, developing new distribution Chimera the Linux . The project uses the Linux kernel, but instead of the GNU toolkit, it forms the user environment based on the core FreeBSD system, and uses LLVM for building. The distribution kit is initially developed as a cross-platform and supports 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 take into account the experience of Void Linux development when creating a new distribution. In the opinion of the author of the project, the custom components of FreeBSD are less complex and more suitable for lightweight and compact systems. Delivery under the BSD Permit License also had an impact. Chimera Linux’s own work is also distributed under the BSD license.
In addition to the FreeBSD user environment, the distribution also includes the GNU Make, util-linux, udev, and pam packages. The init system is built on top of the portable dinit system manager available for Linux and BSD systems. Instead of glibc, the standard C library musl is used .
To install additional programs, both binary packages and their own build system from source codes – cports , written in Python, are offered . The build environment runs in a separate, unprivileged container created with the bubblewrap toolkit . To manage binary packages, the APK package manager (Alpine Package Keeper, apk-tools ) from Alpine Linux is used (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 a download with the ability to log the user in console mode. A bootstrap toolkit is provided , allowing you to rebuild a distribution from your own environment or from an environment based on any other Linux distribution. The build process includes three stages: assembling components to form a container with a build environment, own rebuilding using a prepared container and one more own rebuilding, but already based on the environment created in the second stage (duplication is necessary to eliminate the influence of the original host system on the build process)