12.1 Chrooter dans un système existant
Cette section explique comment chrooter sur un système Guix déjà
installé dans le but de le reconfigurer, par exemple pour corriger une
installation défaillante de GRUB. Le processus est semblable à la manière de
faire pour les autres systèmes GNU/Linux, mais il y a quelques
particularités du système Guix comme le démon et les profils qui le rend
utile à décrire ici.
- Récupérez une image amorçable du système Guix. Nous vous recommandons
d’utiliser le dernier instantané de développement pour que le noyau et les
outils utilisés soient au moins aussi récents que le système installé ; vous
pouvez le récupérer à partir de l’URL
https://ci.guix.gnu.org. Suive la section voir Installation depuis une clef USB ou un DVD pour apprendre à le copier sur un média amorçable.
- Démarrez l’image et suivez l’installateur graphique jusqu’à avoir configuré
le réseau. Autrement, vous pouvez configurer le réseau manuellement en
suivant la section manual-installation-networking. Si vous avez une
erreur du type ‘RTNETLINK answers: Operation not possible due to
RF-kill’, essayez ‘rfkill list’ suivi de ‘rfkill unblock 0’, où
‘0’ est l’identifiant de votre périphérique (ID).
- Passez sur une console virtuelle (tty) si vous ne l’avez pas déjà fait en
appuyant simultanément sur Control + Alt + F4. Montez votre système de
fichier sur /mnt. En supposant que votre partition racine est
/dev/sda2, vous feriez :
- Montez les périphériques blocs spéciaux et les répertoires spécifiques à
Linux :
mount --rbind /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
Si votre système est basé sur EFI, vous devez aussi monter la partition
ESP. En supposant qu’elle est sur /dev/sda1, vous pouvez le faire
avec :
mount /dev/sda1 /mnt/boot/efi
- Entrez dans votre système avec chroot :
- Sourcez le profil système ainsi que votre profil utilisateur pour
mettre en place l’environnement, où utilisateur est le nom
d’utilisateur utilisé par le système Guix que vous essayez de réparer :
source /var/guix/profiles/system/profile/etc/profile
source /home/utilisateur/.guix-profile/etc/profile
Pour vous assurer que vous travaillez avec la révision de Guix que vous
utiliseriez en tant qu’utilisateur normal, sourcez aussi votre profil actuel
de Guix :
source /home/utilisateur/.config/guix/current/etc/profile
- Démarrez un
guix-daemon
minimal en tâche de fond :
guix-daemon --build-users-group=guixbuild --disable-chroot &
- Modifiez votre configuration système comme vous le souhaitez, puis
reconfigurez avec :
guix system reconfigure votre-config.scm
- Enfin, vous devriez pouvoir redémarrer le système pour tester votre
correction.