How to Install Chimera Linux (2027 Edition)
Cette vidéo présente l’installation et la configuration de Chimera Linux, une distribution légère qui rejette systemd, glibc et GCC au profit de musl, LLVM et des utilitaires FreeBSD, avec une démonstration pratique de la compilation d’un gestionnaire de fenêtres en ...

SYNTHÈSE STRUCTURÉE
Pourquoi Chimera Linux ?
L’intervenant, Tony, explique que Chimera Linux est une distribution « construite entièrement sur des refus » : elle abandonne les choix par défaut comme systemd, glibc et GCC. À la place, elle utilise les chimera utils (un mélange d’utilitaires FreeBSD), LLVM comme compilateur et musl comme bibliothèque C. L’objectif est d’obtenir un système plus léger, plus auditable et mieux adapté au linking statique.
Partitionnement avec cfdisk
Tony suit la documentation officielle de Chimera Linux pour partitionner le disque en UEFI. Il utilise cfdisk /dev/vda et définit le label comme GPT. Il crée trois partitions :
- Une partition EFI de 1 Go (type
EFI System) - Une partition swap de 4 Go (type
Linux swap) - Une partition racine avec l’espace restant (type
Linux filesystem)
Il insiste sur l’importance de bien configurer le label GPT pour l’UEFI.
Création des systèmes de fichiers
Après le partitionnement, Tony applique les commandes suivantes :
mkfs.ext4 /dev/vda3pour la racinemkfs.fat -F32 /dev/vda1pour la partition EFI (FAT32)mkswap /dev/vda2pour le swap
Il note que la documentation recommande ext4 mais mentionne aussi XFS, bien que cela soit hors scope pour la vidéo.
Montage des partitions avec mount -m
Tony monte les partitions en utilisant l’option -m de mount pour créer automatiquement les répertoires nécessaires :
mount /dev/vda3 /mnt
mount -m /dev/vda1 /mnt/boot/efi
swapon /dev/vda2
Il vérifie avec lsblk que tout est correct avant de passer à l’installation.
Installation réseau avec chimera-bootstrap
Tony choisit l’installation réseau plutôt que locale, car elle fournit les paquets les plus récents et évite une mise à jour post-installation. Il exécute :
chimera-bootstrap /mnt
Cette commande télécharge et installe les paquets de base sur le point de montage.
Configuration post-installation dans un chroot
Tony utilise chroot /mnt pour configurer le système :
- Création d’un utilisateur :
useradd -m -G wheel tony(avec-mpour le home directory et-G wheelpour sudo) - Définition des mots de passe pour
tonyetroot - Installation du noyau :
apk add linux-stable - Configuration du hostname :
echo "chimera-btw" > /etc/hostname - Réglage du fuseau horaire :
ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime - Configuration de l’horloge matérielle :
echo "local" > /etc/hwclock(différent de systemd)
Gestion des services avec dinit
Chimera Linux utilise dinit comme init system, pas systemd. Tony active le service DHCP en créant un lien symbolique :
ln -sf /usr/lib/dinit/dhcpcd /etc/dinit.d/boot.d/dhcpcd
Il explique que cela équivaut à systemctl enable dhcpcd sous systemd.
Installation de Zig et compilation d’OxWM
Tony installe Zig manuellement car il n’est pas dans les dépôts Chimera :
mkdir /opt
cd /tmp
wget https://ziglang.org/download/0.16.0/zig-linux-x86_64-0.16.0.tar.xz
tar xf zig-linux-x86_64-0.16.0.tar.xz
mv zig-linux-x86_64-0.16.0 /opt/zig
ln -sf /opt/zig/zig /usr/local/bin/zig
Il clone ensuite son gestionnaire de fenêtres OxWM (écrit en Zig) et installe les dépendances de développement :
git clone https://github.com/tonybanter/oxwm
cd oxwm
doas apk add libx11-devel libxrandr-devel libxft-devel fontconfig-devel
zig build -Doptimize=ReleaseSmall
Installation de GRUB et premier boot
Tony installe GRUB (malgré son origine GNU) pour le bootloader :
doas apk add grub-efi
grub-install /dev/vda
grub-mkconfig -o /boot/grub/grub.cfg
Il ignore l’erreur os-prober car il n’y a pas de dual-boot. Après reboot, le système démarre correctement.
Démonstration de musl vs glibc
Tony compare les binaires statiques compilés avec musl et glibc :
- Un hello world statique avec musl fait 140 Ko
- Le même avec glibc fait 850 Ko (5,6 fois plus gros)
- Sous glibc, le linker et libc sont deux fichiers séparés, contrairement à musl où ils sont fusionnés
Il montre aussi que le code source de getopt dans musl fait ~100 lignes, contre ~800 lignes dans glibc, ce qui rend l’audit bien plus simple.
CONCEPTS CLÉS
- musl : Bibliothèque C légère, conçue pour le linking statique, avec un code source plus lisible que glibc.
- dinit : Init system minimal utilisé par Chimera Linux, alternative à systemd.
- APK : Gestionnaire de paquets d’Alpine Linux, également utilisé par Chimera Linux.
- OxWM : Gestionnaire de fenêtres minimaliste écrit en Zig par l’intervenant.
- Linking statique : Intégration de toutes les bibliothèques dans le binaire, ce qui le rend plus gros mais plus portable.
CONCLUSION
Chimera Linux illustre une approche radicale mais cohérente : remplacer les composants GNU par des alternatives plus légères et plus auditable (musl, LLVM, dinit). L’intervenant montre qu’il est possible d’avoir un système fonctionnel, avec un navigateur, un terminal et un gestionnaire de fenêtres, sans glibc ni systemd. Le principal bénéfice est la réduction de la taille des binaires statiques et la simplicité du code, au prix d’une compatibilité logicielle parfois réduite. Pour un administrateur cherchant à minimiser l’empreinte système ou à auditer son environnement, Chimera Linux est une option sérieuse à considérer.