4.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.
- 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.
- 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.
- 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:
- Binden Sie die blockorientierten Spezialgeräte und Linux-eigene
Verzeichnisse ein:
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /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
- Nun betreten Sie Ihr System als eine
chroot
-Umgebung:
- 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
- Starten Sie einen minimal funktionsfähigen
guix-daemon
als
Hintergrundprozess:
guix-daemon --build-users-group=guixbuild --disable-chroot &
- 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
- Endlich sollte Ihr System so weit sein, dass Sie neustarten können und
ausprobieren, ob Sie es so in Ordnung gebracht haben.