Nach oben: Problembehandlung bei Guix System   [Inhalt][Index]


12.1 Chroot ins vorliegende System

In diesem Abschnitt wird erklärt, wie Sie mit chroot in ein kaputtes Guix System hineinkommen, um es durch reconfigure auf eine gültige Konfiguration zu bringen, etwa wenn GRUB beim letzten Mal falsch installiert wurde. Auf anderen GNU/Linux-Systemen würde man ähnlich vorgehen, aber Guix System ist in mancher Hinsicht anders, insbesondere muss der Daemon laufen und Sie müssen Ihre Profile erreichen. Darauf geht diese Erklärung ein.

  1. Beschaffen Sie ein bootfähiges Abbild von Guix System. Das neueste Entwicklungs-Image wäre geeignet, weil darin der Kernel und die Werkzeuge mindestens so neu sind wie im installierten System. Sie können es von der URL https://ci.guix.gnu.org bekommen. Im Abschnitt Installation von USB-Stick oder DVD wird erklärt, wie Sie das Image auf ein bootfähiges Medium überspielen.
  2. Fahren Sie vom Medium mit dem Abbild den Rechner hoch und machen Sie die ersten Schritte im grafischen textbasierten Installationsprogramm, bis die Netzwerkverbindung eingerichtet ist. Alternativ können Sie die Netzwerkverbindung manuell einrichten wie es im Abschnitt manual-installation-networking beschrieben ist. Sofern Sie den Fehler ‘RTNETLINK answers: Operation not possible due to RF-kill’ zu sehen bekommen, hilft vielleicht ‘rfkill list’ gefolgt von ‘rfkill unblock 0’, wobei ‘0’ Ihr Geräteidentifikator (ID) ist.
  3. Wechseln Sie zu einer virtuellen Konsole (TTY), falls noch nicht geschehen, indem Sie die Tasten Steuerungstaste + Alt + F4 gleichzeitig drücken. Binden Sie Ihr Dateisystem unter /mnt ein. Angenommen Sie haben Ihr Wurzeldateisystem auf der Partition /dev/sda2, dann geht das mit diesen Befehlen:
    mount /dev/sda2 /mnt
    
  4. Binden Sie die blockorientierten Spezialgeräte und Linux-eigene Verzeichnisse ein:
    mount --rbind /proc /mnt/proc
    mount --rbind /sys /mnt/sys
    mount --rbind /dev /mnt/dev
    

    Sofern Ihr System EFI benutzt, müssen Sie auch die als ESP dienende Partition einbinden. Wenn Sie bei Ihnen /dev/sda1 heißt, lautet der Befehl:

    mount /dev/sda1 /mnt/boot/efi
    
  5. Nun betreten Sie Ihr System als eine chroot-Umgebung:
    chroot /mnt /bin/sh
    
  6. Binden Sie das Systemprofil sowie das Profil von Ihrem benutzer ein, damit die Umgebung vollständig ist. Mit benutzer ist hier der Benutzername gemeint, den Sie auf dem Guix System haben, das Sie zu reparieren versuchen:
    source /var/guix/profiles/system/profile/etc/profile
    source /home/benutzer/.guix-profile/etc/profile
    

    Damit Sie auch dieselbe Guix-Version zur Verfügung haben, die Sie normalerweise in Ihrem Benutzerkonto haben, laden Sie mit source auch Ihr aktuelles Guix-Profil:

    source /home/benutzer/.config/guix/current/etc/profile
    
  7. Starten Sie einen minimal funktionsfähigen guix-daemon als Hintergrundprozess:
    guix-daemon --build-users-group=guixbuild --disable-chroot &
    
  8. Wenn es nötig ist, ändern Sie die Konfigurationsdatei Ihres Guix System, damit sie wieder stimmt. Dann rekonfigurieren Sie etwa so:
    guix system reconfigure Ihre-config.scm
    
  9. Endlich sollte Ihr System so weit sein, dass Sie neustarten können und ausprobieren, ob Sie es so in Ordnung gebracht haben.

Nach oben: Problembehandlung bei Guix System   [Inhalt][Index]