doc: Move “System Troubleshooting Tips” below.
So far this section would appear before “Getting Started”. This moves it right after “System Configuration”. * doc/guix.texi (System Troubleshooting Tips): Move after “System Configuration”.
This commit is contained in:
parent
d22d2a05c3
commit
978b9619a8
1 changed files with 123 additions and 122 deletions
245
doc/guix.texi
245
doc/guix.texi
|
@ -185,7 +185,6 @@ Weblate} (@pxref{Translating Guix}).
|
||||||
* Introduction:: What is Guix about?
|
* Introduction:: What is Guix about?
|
||||||
* Installation:: Installing Guix.
|
* Installation:: Installing Guix.
|
||||||
* System Installation:: Installing the whole operating system.
|
* System Installation:: Installing the whole operating system.
|
||||||
* System Troubleshooting Tips:: When things don't go as planned.
|
|
||||||
* Getting Started:: Your first steps.
|
* Getting Started:: Your first steps.
|
||||||
* Package Management:: Package installation, upgrade, etc.
|
* Package Management:: Package installation, upgrade, etc.
|
||||||
* Channels:: Customizing the package collection.
|
* Channels:: Customizing the package collection.
|
||||||
|
@ -194,6 +193,7 @@ Weblate} (@pxref{Translating Guix}).
|
||||||
* Utilities:: Package management commands.
|
* Utilities:: Package management commands.
|
||||||
* Foreign Architectures:: Build for foreign architectures.
|
* Foreign Architectures:: Build for foreign architectures.
|
||||||
* System Configuration:: Configuring the operating system.
|
* System Configuration:: Configuring the operating system.
|
||||||
|
* System Troubleshooting Tips:: When things don't go as planned.
|
||||||
* Home Configuration:: Configuring the home environment.
|
* Home Configuration:: Configuring the home environment.
|
||||||
* Documentation:: Browsing software user manuals.
|
* Documentation:: Browsing software user manuals.
|
||||||
* Platforms:: Defining platforms.
|
* Platforms:: Defining platforms.
|
||||||
|
@ -251,10 +251,6 @@ Manual Installation
|
||||||
* Keyboard Layout and Networking and Partitioning:: Initial setup.
|
* Keyboard Layout and Networking and Partitioning:: Initial setup.
|
||||||
* Proceeding with the Installation:: Installing.
|
* Proceeding with the Installation:: Installing.
|
||||||
|
|
||||||
System Troubleshooting Tips
|
|
||||||
|
|
||||||
* Chrooting into an existing system::
|
|
||||||
|
|
||||||
Package Management
|
Package Management
|
||||||
|
|
||||||
* Features:: How Guix will make your life brighter.
|
* Features:: How Guix will make your life brighter.
|
||||||
|
@ -427,6 +423,10 @@ Defining Services
|
||||||
* Shepherd Services:: A particular type of service.
|
* Shepherd Services:: A particular type of service.
|
||||||
* Complex Configurations:: Defining bindings for complex configurations.
|
* Complex Configurations:: Defining bindings for complex configurations.
|
||||||
|
|
||||||
|
System Troubleshooting Tips
|
||||||
|
|
||||||
|
* Chrooting into an existing system::
|
||||||
|
|
||||||
Home Configuration
|
Home Configuration
|
||||||
|
|
||||||
* Declaring the Home Environment:: Customizing your Home.
|
* Declaring the Home Environment:: Customizing your Home.
|
||||||
|
@ -2978,123 +2978,6 @@ guix system image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-b
|
||||||
@code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid
|
@code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid
|
||||||
board, a list of possible boards will be printed.
|
board, a list of possible boards will be printed.
|
||||||
|
|
||||||
@c *********************************************************************
|
|
||||||
@cindex troubleshooting, guix system
|
|
||||||
@cindex guix system troubleshooting
|
|
||||||
@node System Troubleshooting Tips
|
|
||||||
@chapter System Troubleshooting Tips
|
|
||||||
|
|
||||||
Guix System allows rebooting into a previous generation should the last
|
|
||||||
one be malfunctioning, which makes it quite robust against being broken
|
|
||||||
irreversibly. This feature depends on GRUB being correctly functioning
|
|
||||||
though, which means that if for whatever reasons your GRUB installation
|
|
||||||
becomes corrupted during a system reconfiguration, you may not be able
|
|
||||||
to easily boot into a previous generation. A technique that can be used
|
|
||||||
in this case is to @i{chroot} into your broken system and reconfigure it
|
|
||||||
from there. Such technique is explained below.
|
|
||||||
|
|
||||||
@cindex chroot, guix system
|
|
||||||
@cindex chrooting, guix system
|
|
||||||
@cindex repairing GRUB, via chroot
|
|
||||||
@menu
|
|
||||||
* Chrooting into an existing system::
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node Chrooting into an existing system
|
|
||||||
@section Chrooting into an existing system
|
|
||||||
|
|
||||||
This section details how to @i{chroot} to an already installed Guix
|
|
||||||
System with the aim of reconfiguring it, for example to fix a broken
|
|
||||||
GRUB installation. The process is similar to how it would be done on
|
|
||||||
other GNU/Linux systems, but there are some Guix System particularities
|
|
||||||
such as the daemon and profiles that make it worthy of explaining here.
|
|
||||||
|
|
||||||
@enumerate
|
|
||||||
@item
|
|
||||||
Obtain a bootable image of Guix System. It is recommended the latest
|
|
||||||
development snapshot so the kernel and the tools used are at least as as
|
|
||||||
new as those of your installed system; it can be retrieved from the
|
|
||||||
@url{https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso,
|
|
||||||
https://ci.guix.gnu.org} URL. Follow the @pxref{USB Stick and DVD
|
|
||||||
Installation} section for copying it to a bootable media.
|
|
||||||
|
|
||||||
@item
|
|
||||||
Boot the image, and proceed with the graphical text-based installer
|
|
||||||
until your network is configured. Alternatively, you could configure
|
|
||||||
the network manually by following the
|
|
||||||
@ref{manual-installation-networking} section. If you get the error
|
|
||||||
@samp{RTNETLINK answers: Operation not possible due to RF-kill}, try
|
|
||||||
@samp{rfkill list} followed by @samp{rfkill unblock 0}, where @samp{0}
|
|
||||||
is your device identifier (ID).
|
|
||||||
|
|
||||||
@item
|
|
||||||
Switch to a virtual console (tty) if you haven't already by pressing
|
|
||||||
simultaneously the @kbd{Control + Alt + F4} keys. Mount your file
|
|
||||||
system at @file{/mnt}. Assuming your root partition is
|
|
||||||
@file{/dev/sda2}, you would do:
|
|
||||||
|
|
||||||
@example sh
|
|
||||||
mount /dev/sda2 /mnt
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@item
|
|
||||||
Mount special block devices and Linux-specific directories:
|
|
||||||
|
|
||||||
@example sh
|
|
||||||
mount --rbind /proc /mnt/proc
|
|
||||||
mount --rbind /sys /mnt/sys
|
|
||||||
mount --rbind /dev /mnt/dev
|
|
||||||
@end example
|
|
||||||
|
|
||||||
If your system is EFI-based, you must also mount the ESP partition.
|
|
||||||
Assuming it is @file{/dev/sda1}, you can do so with:
|
|
||||||
|
|
||||||
@example sh
|
|
||||||
mount /dev/sda1 /mnt/boot/efi
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@item
|
|
||||||
Enter your system via chroot:
|
|
||||||
|
|
||||||
@example sh
|
|
||||||
chroot /mnt /bin/sh
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@item
|
|
||||||
Source the system profile as well as your @var{user} profile to setup
|
|
||||||
the environment, where @var{user} is the user name used for the Guix
|
|
||||||
System you are attempting to repair:
|
|
||||||
|
|
||||||
@example sh
|
|
||||||
source /var/guix/profiles/system/profile/etc/profile
|
|
||||||
source /home/@var{user}/.guix-profile/etc/profile
|
|
||||||
@end example
|
|
||||||
|
|
||||||
To ensure you are working with the Guix revision you normally would as
|
|
||||||
your normal user, also source your current Guix profile:
|
|
||||||
|
|
||||||
@example sh
|
|
||||||
source /home/@var{user}/.config/guix/current/etc/profile
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@item
|
|
||||||
Start a minimal @command{guix-daemon} in the background:
|
|
||||||
|
|
||||||
@example sh
|
|
||||||
guix-daemon --build-users-group=guixbuild --disable-chroot &
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@item
|
|
||||||
Edit your Guix System configuration if needed, then reconfigure with:
|
|
||||||
|
|
||||||
@example sh
|
|
||||||
guix system reconfigure your-config.scm
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@item
|
|
||||||
Finally, you should be good to reboot the system to test your fix.
|
|
||||||
|
|
||||||
@end enumerate
|
|
||||||
|
|
||||||
@c *********************************************************************
|
@c *********************************************************************
|
||||||
@node Getting Started
|
@node Getting Started
|
||||||
|
@ -43113,6 +42996,124 @@ is-married = true
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
|
||||||
|
@c *********************************************************************
|
||||||
|
@cindex troubleshooting, Guix System
|
||||||
|
@cindex guix system troubleshooting
|
||||||
|
@node System Troubleshooting Tips
|
||||||
|
@chapter System Troubleshooting Tips
|
||||||
|
|
||||||
|
Guix System allows rebooting into a previous generation should the last
|
||||||
|
one be malfunctioning, which makes it quite robust against being broken
|
||||||
|
irreversibly. This feature depends on GRUB being correctly functioning
|
||||||
|
though, which means that if for whatever reasons your GRUB installation
|
||||||
|
becomes corrupted during a system reconfiguration, you may not be able
|
||||||
|
to easily boot into a previous generation. A technique that can be used
|
||||||
|
in this case is to @i{chroot} into your broken system and reconfigure it
|
||||||
|
from there. Such technique is explained below.
|
||||||
|
|
||||||
|
@cindex chroot, guix system
|
||||||
|
@cindex chrooting, guix system
|
||||||
|
@cindex repairing GRUB, via chroot
|
||||||
|
@menu
|
||||||
|
* Chrooting into an existing system::
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node Chrooting into an existing system
|
||||||
|
@section Chrooting into an existing system
|
||||||
|
|
||||||
|
This section details how to @i{chroot} to an already installed Guix
|
||||||
|
System with the aim of reconfiguring it, for example to fix a broken
|
||||||
|
GRUB installation. The process is similar to how it would be done on
|
||||||
|
other GNU/Linux systems, but there are some Guix System particularities
|
||||||
|
such as the daemon and profiles that make it worthy of explaining here.
|
||||||
|
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
Obtain a bootable image of Guix System. It is recommended the latest
|
||||||
|
development snapshot so the kernel and the tools used are at least as as
|
||||||
|
new as those of your installed system; it can be retrieved from the
|
||||||
|
@url{https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso,
|
||||||
|
https://ci.guix.gnu.org} URL. Follow the @pxref{USB Stick and DVD
|
||||||
|
Installation} section for copying it to a bootable media.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Boot the image, and proceed with the graphical text-based installer
|
||||||
|
until your network is configured. Alternatively, you could configure
|
||||||
|
the network manually by following the
|
||||||
|
@ref{manual-installation-networking} section. If you get the error
|
||||||
|
@samp{RTNETLINK answers: Operation not possible due to RF-kill}, try
|
||||||
|
@samp{rfkill list} followed by @samp{rfkill unblock 0}, where @samp{0}
|
||||||
|
is your device identifier (ID).
|
||||||
|
|
||||||
|
@item
|
||||||
|
Switch to a virtual console (tty) if you haven't already by pressing
|
||||||
|
simultaneously the @kbd{Control + Alt + F4} keys. Mount your file
|
||||||
|
system at @file{/mnt}. Assuming your root partition is
|
||||||
|
@file{/dev/sda2}, you would do:
|
||||||
|
|
||||||
|
@example sh
|
||||||
|
mount /dev/sda2 /mnt
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@item
|
||||||
|
Mount special block devices and Linux-specific directories:
|
||||||
|
|
||||||
|
@example sh
|
||||||
|
mount --rbind /proc /mnt/proc
|
||||||
|
mount --rbind /sys /mnt/sys
|
||||||
|
mount --rbind /dev /mnt/dev
|
||||||
|
@end example
|
||||||
|
|
||||||
|
If your system is EFI-based, you must also mount the ESP partition.
|
||||||
|
Assuming it is @file{/dev/sda1}, you can do so with:
|
||||||
|
|
||||||
|
@example sh
|
||||||
|
mount /dev/sda1 /mnt/boot/efi
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@item
|
||||||
|
Enter your system via chroot:
|
||||||
|
|
||||||
|
@example sh
|
||||||
|
chroot /mnt /bin/sh
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@item
|
||||||
|
Source the system profile as well as your @var{user} profile to setup
|
||||||
|
the environment, where @var{user} is the user name used for the Guix
|
||||||
|
System you are attempting to repair:
|
||||||
|
|
||||||
|
@example sh
|
||||||
|
source /var/guix/profiles/system/profile/etc/profile
|
||||||
|
source /home/@var{user}/.guix-profile/etc/profile
|
||||||
|
@end example
|
||||||
|
|
||||||
|
To ensure you are working with the Guix revision you normally would as
|
||||||
|
your normal user, also source your current Guix profile:
|
||||||
|
|
||||||
|
@example sh
|
||||||
|
source /home/@var{user}/.config/guix/current/etc/profile
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@item
|
||||||
|
Start a minimal @command{guix-daemon} in the background:
|
||||||
|
|
||||||
|
@example sh
|
||||||
|
guix-daemon --build-users-group=guixbuild --disable-chroot &
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@item
|
||||||
|
Edit your Guix System configuration if needed, then reconfigure with:
|
||||||
|
|
||||||
|
@example sh
|
||||||
|
guix system reconfigure your-config.scm
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@item
|
||||||
|
Finally, you should be good to reboot the system to test your fix.
|
||||||
|
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
@node Home Configuration
|
@node Home Configuration
|
||||||
@chapter Home Configuration
|
@chapter Home Configuration
|
||||||
@cindex home configuration
|
@cindex home configuration
|
||||||
|
|
Reference in a new issue