Chimera Linux, la nueva distribución que combina el kernel de Linux con el entorno FreeBSD
Daniel Kolesa (aka q66) de la empresa Igalia y quien a su vez participó en el desarrollo de los proyectos Void Linux, WebKit e Enlightenment, dio a conocer hace poco que se encuentra desarrollando la nueva distribución «Chimera the Linux».
Este es un proyecto que se destaca por utilizar el kernel de Linux, pero en lugar del kit de herramientas GNU, forma el entorno de usuario basado en el sistema central FreeBSD y usa LLVM para la construcción. La distribución se desarrolla inicialmente como multiplataforma y es compatible con las arquitecturas x86_64, ppc64le, aarch64, riscv64 y ppc64.
Sobre Chimera Linux
Chimera Linux tiene como objetivo principal el poder proporcionar una distribución de Linux con herramientas alternativas y tener en cuenta la experiencia del desarrollo de Void Linux al crear una nueva distribución.
Chimera es una distribución de Linux con los siguientes objetivos:
- Construido íntegramente con LLVM
- Área de usuario basada en FreeBSD
- Empaquetado binario y un sistema de compilación de fuentes bien diseñado
- Bootstrappable
- Portátil
En opinión del autor del proyecto, los componentes personalizados de FreeBSD son menos complejos y más adecuados para sistemas ligeros y compactos. La entrega bajo la Licencia de Permiso BSD también tuvo un impacto. El propio trabajo de Chimera Linux también se distribuye bajo la licencia BSD.
Chimera usa LLVM y Clang como su cadena de herramientas del sistema. Esto se usa para construir todos los componentes centrales del sistema. Además del entorno de usuario de FreeBSD, la distribución también incluye los paquetes GNU Make, util-linux, udev y pam. El sistema init está construido sobre el administrador del sistema dinit portátil disponible para sistemas Linux y BSD. En lugar de glibc, se utiliza la biblioteca C estándar musl. El espacio de usuario se basa en componentes de FreeBSD en lugar de coreutils GNU y relacionados. Hay pocos componentes GNU y el único estrictamente necesario para el arranque y el entorno de compilación es GNU Make.
Para instalar programas adicionales, se ofrecen tanto paquetes binarios como su propio sistema de compilación a partir de códigos fuente: cports, escritos en Python. El entorno de compilación se ejecuta en un contenedor separado y sin privilegios creado con el kit de herramientas de bubblewrap. Para administrar paquetes binarios se utiliza el administrador de paquetes APK (Alpine Package Keeper, apk-tools ) de Alpine Linux (originalmente se planeó usar pkg de FreeBSD, pero hubo grandes problemas con su adaptación).
Chimera tiene un sistema de empaquetado de fuentes completamente nuevo que no está escrito en shell como es convencional, sino en el lenguaje de programación Python. Esto reduce la sobrecarga del sistema de compilación al mínimo, además de hacerlo introspectable, etc.
Las compilaciones siempre están en contenedores, con un sistema Chimera mínimo que se utiliza como entorno de compilación para cada paquete. Este sistema se utiliza en un entorno de pruebas bubblewrapy se ejecuta sin privilegios.
El sistema de empaquetado binario utilizado es apk-toolsoriginalmente de Alpine Linux. Fue elegido por su rapidez y facilidad de integración.
¿Probar Chimera Linux?
Por el momento no es posible poder obtener una imagen inicial estable del proyecto, ya que este aún se encuentra en la etapa inicial de desarrollo y hace unos días, fue posible proporcionar una descarga con la capacidad de registrar al usuario en el modo de consola.
En esta imagen se proporciona un kit de herramientas de arranque, que permite reconstruir una distribución desde su propio entorno o desde un entorno basado en cualquier otra distribución de Linux.
El proceso de construcción incluye tres etapas: ensamblar componentes para formar un contenedor con un entorno de construcción, reconstrucción propia utilizando un contenedor preparado y una reconstrucción propia más, pero ya basada en el entorno creado en la segunda etapa (la duplicación es necesaria para excluir la influencia del sistema host original en el proceso de compilación).
Finalmente si estás interesado en poder conocer más al respecto puedes conocer, consultar y dar un seguimiento al proyecto desde los siguientes enlaces.