Caution
⚠️ Attention : ce guide modifie l'initrd de votre système. Une mauvaise configuration peut empêcher votre machine de démarrer. Sauvegardez vos données avant tout test et gardez à portée de main une clé USB GLF-OS pour la récupération. ⚠️
Par défaut, GLF-OS ne charge pas les modules mdadm/dm_mod dans l'initrd. Ce choix permet de garder une initrd la plus légère possible (~5 à 10 Mo gagnés), et la grande majorité des utilisateurs n'utilise pas de RAID logiciel sur la partition racine.
Si vous avez un setup avec un rootfs sur un volume md (RAID logiciel mdadm), vous devez activer explicitement le support en stage 1 sinon le démarrage échoue avec une erreur de type "cannot find device /dev/md0" dans l'écran de récupération.
Cas typiques où activer cette option :
/, /boot ou /home sont sur un volume mdadm pré-existantSi votre setup utilise uniquement des disques simples ou ZFS, vous n'avez pas besoin d'activer ce module.
/etc/nixos/customConfig/default.nixL'outil Éditeur de texte de GNOME (ou n'importe quel éditeur) convient. Le fichier contient déjà des exemples commentés.
boot.swraid.enableCherchez la section :
# Activer le support RAID logiciel (mdadm) — nécessaire si votre rootfs est sur un volume md0/md1...
# Pousse dm_mod + raid* dans l'initrd. Voir : /materiel/raid-mdadm
# boot.swraid.enable = true;
Retirez le # devant boot.swraid.enable :
boot.swraid.enable = true;
boot.swraid active le service mdmon qui surveille l'état du RAID. Pour recevoir un mail si un disque tombe, ajoutez à la suite :
boot.swraid.mdadmConf = ''
MAILADDR vous@example.com
'';
sudo glf-update
Au prochain démarrage, l'initrd contiendra dm_mod + les modules raid0/raid1/raid456 nécessaires, et votre rootfs RAID sera assemblé correctement.
Si vous avez besoin de pousser d'autres modules kernel dans l'initrd (rootfs Btrfs en RAID5/6, NBD, modules réseau exotiques pour un remote-decrypt LUKS, etc.), utilisez l'option boot.initrd.kernelModules :
# Dans /etc/nixos/customConfig/default.nix
boot.initrd.kernelModules = [ "btrfs" "nbd" ];
Cette option étend (et ne remplace pas) la liste déjà fournie par GLF-OS — vos modules s'ajoutent à amdgpu (sur AMD), i915/xe (sur Intel via Calamares), etc.
Si vous l'aviez activé mais que vous n'en avez plus besoin (machine repassée sur disque simple), recommentez ou supprimez la ligne :
# boot.swraid.enable = true;
Puis sudo glf-update. Au prochain reboot l'initrd ne contiendra plus mdadm.
Vérifier ce que contient votre initrd actuel :
sudo nix --extra-experimental-features "nix-command flakes" eval \
/etc/nixos#nixosConfigurations.GLF-OS.config.boot.initrd.kernelModules
Vous devez voir dm_mod dans la liste si boot.swraid.enable = true a bien été appliqué.
Le système démarre en mode récupération sur "device not found" : vérifiez que boot.swraid.enable = true; a bien été décommenté, puis relancez sudo glf-update depuis la console de secours et rebootez.
Tester l'état du RAID après démarrage :
cat /proc/mdstat
sudo mdadm --detail /dev/md0