From unknown Sun Jun 22 00:04:43 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#55613 <55613@debbugs.gnu.org> To: bug#55613 <55613@debbugs.gnu.org> Subject: Status: [PATCH] doc: Document how to repair Guix System from a chroot. Reply-To: bug#55613 <55613@debbugs.gnu.org> Date: Sun, 22 Jun 2025 07:04:43 +0000 retitle 55613 [PATCH] doc: Document how to repair Guix System from a chroot. reassign 55613 guix-patches submitter 55613 Maxim Cournoyer severity 55613 normal tag 55613 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Tue May 24 10:58:05 2022 Received: (at submit) by debbugs.gnu.org; 24 May 2022 14:58:05 +0000 Received: from localhost ([127.0.0.1]:53072 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ntVz2-0000OE-QN for submit@debbugs.gnu.org; Tue, 24 May 2022 10:58:05 -0400 Received: from lists.gnu.org ([209.51.188.17]:49768) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ntVyl-0000Na-G8 for submit@debbugs.gnu.org; Tue, 24 May 2022 10:58:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59568) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ntVyl-0008JL-43 for guix-patches@gnu.org; Tue, 24 May 2022 10:57:47 -0400 Received: from mail-qt1-x834.google.com ([2607:f8b0:4864:20::834]:34322) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ntVyi-00061G-J0 for guix-patches@gnu.org; Tue, 24 May 2022 10:57:46 -0400 Received: by mail-qt1-x834.google.com with SMTP id q20so5139181qtw.1 for ; Tue, 24 May 2022 07:57:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=nfV6en7WPtl6Y2NR0ExW/KX56RagsQHaMEy+60ZBLc8=; b=axfQqVQ3DJUov8VS3AoUm2W4tCsvZRoV525xbBSTpCObR7ARZaRVLcycTleKU/hHUn XhROWgITKueUBB5bA9twLVqg4+VBhBXEgYxbM12TLaCkKIKVaF7zyhFx8l0ayN9b/iqS D6J5PlbOJik/edVuV/8vCJwsPPJsN7nN4jCHXOpMV3OhLQtSpTh1K+1qDeN3UACroE87 498U1IASU3L5mz/sJdcJsjurdLfY6MKERVe1OgCf+SrhN6k5cbxv/kVC7sG3KfbpMUD8 EbHjuX37EMKWD4RVY5/NoX41LJjJV4yAsexd2O6b6WuieEbpGsJOi+mpkOwVw633geb6 MH2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=nfV6en7WPtl6Y2NR0ExW/KX56RagsQHaMEy+60ZBLc8=; b=fqVgm6q/SDRuL480tixVrEyoSyxejiPUqJ7yw2sY4N9dEJ+FSPzM94o2QAOnAZ9HOm zjxkrUADzcPo0DO2rlsts/wSbVv/lWiqr69g9FX1al0/VxEc6l9ESxr6dVh/9k73P30V P8SqtA1p+0tvXMw8H4iB+VvbjdGRaXIxr6vXiThJllP3Hq9LMsYmVLbSD+H6Kz2z84MC NUqBBWXd+YjhOm3Dpaivaac+URr3AiC5be4rjC1JQF+n7+o4Ts0lCtLCILWkkTwBJXAy ZKbnTt/C19wSzmPRm4ukxtZMM7YMD5/EA/OsdXylbmd8zhJtyWSUazWsYluBpuM2u2lv 699Q== X-Gm-Message-State: AOAM532JFPtF3ZdSc5kyKk8/UMcL80NCYEozG4uVpKbNLK0Q4eSvbTyK z5CaQ1Tkrox91iUYIh8g/jYMhMNaabt1+Q== X-Google-Smtp-Source: ABdhPJxIF+m0QQHWB9QUZPNIt1VFsRUjtxgT8+E4Yr/rU3ITsQ+z8EH0YEMFFbCuwhSzYpEsRbq+2A== X-Received: by 2002:a05:622a:1786:b0:2f9:3071:c3cb with SMTP id s6-20020a05622a178600b002f93071c3cbmr10347338qtk.31.1653404261682; Tue, 24 May 2022 07:57:41 -0700 (PDT) Received: from localhost.localdomain (dsl-157-33.b2b2c.ca. [66.158.157.33]) by smtp.gmail.com with ESMTPSA id i6-20020a378606000000b0069fc13ce23esm6204446qkd.111.2022.05.24.07.57.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 May 2022 07:57:41 -0700 (PDT) From: Maxim Cournoyer To: guix-patches@gnu.org Subject: [PATCH] doc: Document how to repair Guix System from a chroot. Date: Tue, 24 May 2022 10:57:38 -0400 Message-Id: <20220524145738.4547-1-maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.36.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::834; envelope-from=maxim.cournoyer@gmail.com; helo=mail-qt1-x834.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: Maxim Cournoyer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) * doc/guix.texi (System Troubleshooting Tips): New chapter. --- doc/guix.texi | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 184206bec8..e09daee512 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -168,6 +168,7 @@ Weblate} (@pxref{Translating Guix}). * Introduction:: What is Guix about? * Installation:: Installing Guix. * System Installation:: Installing the whole operating system. +* System Troubleshooting Tips:: When things don't go as planned. * Getting Started:: Your first steps. * Package Management:: Package installation, upgrade, etc. * Channels:: Customizing the package collection. @@ -226,6 +227,10 @@ System Installation * Installing Guix in a VM:: Guix System playground. * Building the Installation Image:: How this comes to be. +System Troubleshooting Tips + +* Chrooting into an existing system:: Fixing things from a chroot + Manual Installation * Keyboard Layout and Networking and Partitioning:: Initial setup. @@ -2367,6 +2372,7 @@ See the files under @file{/run/current-system/profile/share/keymaps} for a list of available keyboard layouts. Run @command{man loadkeys} for more information. +@anchor{Manual Installation - Networking} @subsubsection Networking Run the following command to see what your network interfaces are called: @@ -2820,6 +2826,119 @@ 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 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 +@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 @pxref{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 @samp{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 --bind /proc /mnt/proc +# mount --bind /sys /mnt/sys +# mount --bind /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 your user profile to setup the environment, where +@samp{$YOUR_USER} is adjusted to the user name used for the Guix System +you are attempting to repair. + +@example sh +sh-5.1# source /home/$YOUR_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 +sh-5.1# source /home/$YOUR_USER/.config/guix/current/etc/profile +@end example + +@item +Start a minimal guix-daemon in the background: + +@example sh +sh-5.1# guix-daemon --build-users-group=guixbuild --disable-chroot & +@end example + +@item +Edit your Guix System configuration if needed, then reconfigure with: + +@example sh +sh-5.1# 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 ********************************************************************* @node Getting Started @chapter Getting Started -- 2.36.0 From debbugs-submit-bounces@debbugs.gnu.org Tue May 31 10:10:40 2022 Received: (at 55613) by debbugs.gnu.org; 31 May 2022 14:10:40 +0000 Received: from localhost ([127.0.0.1]:48588 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nw2a0-00014H-0d for submit@debbugs.gnu.org; Tue, 31 May 2022 10:10:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nw2Zw-000142-Ky for 55613@debbugs.gnu.org; Tue, 31 May 2022 10:10:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38062) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw2Zr-0001Pg-Ey; Tue, 31 May 2022 10:10:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=j6FO7IO6z7PmDsza0V5IbVL2bd378FXZ6kZuYqIVKa0=; b=o0xU3m9neSOUMUo3qJcP jmhsxWzzMJwdItXgi3g5UkA8bl7q7neOFkhWPWtyrUwPYex0JVyOoID5sk4fys1Q2PwPn2JyuYCRV Xx95b6qa0VAhBiSWviedvZwIoOJ6cuQT11JA8yhecik42fnLRmk1DlPpSx7YdyP0xyiGv3z49N4Pr BW4/LpBitNmd6yVhu8ovWUZpj/WEyMGYGuN0wC954qngWJFirN4rwDX5+3bdMvPMpDF4wmmZkugvI gxSQJVs5bt3DZEDVW6/vUILPXtBIw/q+uOY7/1Pun+fnjRVA/Pd614K4zoDAac7y5I4rXWdaMjsf+ DeSDWEdKX4Gqow==; Received: from [193.50.110.143] (port=56624 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw2Zk-0002ND-80; Tue, 31 May 2022 10:10:30 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: bug#55613: [PATCH] doc: Document how to repair Guix System from a chroot. References: <20220524145738.4547-1-maxim.cournoyer@gmail.com> Date: Tue, 31 May 2022 16:10:21 +0200 In-Reply-To: <20220524145738.4547-1-maxim.cournoyer@gmail.com> (Maxim Cournoyer's message of "Tue, 24 May 2022 10:57:38 -0400") Message-ID: <87mtexyer6.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55613 Cc: 55613@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi! Maxim Cournoyer skribis: > * doc/guix.texi (System Troubleshooting Tips): New chapter. That=E2=80=99s a much welcome addition. Since it=E2=80=99s more informal than the manual, how adding it to the cook= book? I imagine we could have other troubleshooting subsections. Some minor typographical comments=E2=80=A6 > +@anchor{Manual Installation - Networking} Usually anchor names are lowercase and without spaces (I=E2=80=99m not sure= if it=E2=80=99s a hard requirement or a convention). > +@cindex troubleshooting, guix system =E2=80=9CGuix System=E2=80=9D > +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 @pxref{Manual Installation - > +Networking} section. If you get the error @samp{RTNETLINK answers: @pxref is for use in a parenthesized expression; it cannot be used in the middle of a sentence; in fact, no cross-reference markup can be used in the middle of a sentence, but I recommend checking the manual (info "(texinfo) Cross References"). > +Switch to a virtual console (tty) if you haven't already by pressing > +simultaneously the @samp{Control + Alt + F4} keys. Mount your file Rather @kbd{ctrl-alt-F4}. > +@example sh > +# mount /dev/sda2 /mnt > +@end example > + > +@item > +Mount special block devices and Linux-specific directories: > + > +@example sh > +# mount --bind /proc /mnt/proc > +# mount --bind /sys /mnt/sys > +# mount --bind /dev /mnt/dev > +@end example I=E2=80=99d remove the =E2=80=9C#=E2=80=9D prompt from examples, for easier= copy/pasting (assuming that=E2=80=99s an option in those circumstances :-)) and for consistency. > +Source your user profile to setup the environment, where > +@samp{$YOUR_USER} is adjusted to the user name used for the Guix System > +you are attempting to repair. > + > +@example sh > +sh-5.1# source /home/$YOUR_USER/.guix-profile/etc/profile You can use a =E2=80=9Cmeta-syntactic variable=E2=80=9D for the user name: = write @var{user}, both in the text and example. > +@item > +Start a minimal guix-daemon in the background: s/a minimal guix-daemon/@command{guix-daemon}/ > +@example sh > +sh-5.1# guix-daemon --build-users-group=3Dguixbuild --disable-chroot & What=E2=80=99s the rationale for =E2=80=98--disable-chroot=E2=80=99? It=E2= =80=99s safer to avoid it. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 14 15:23:03 2022 Received: (at 55613-done) by debbugs.gnu.org; 14 Jun 2022 19:23:03 +0000 Received: from localhost ([127.0.0.1]:35835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1C7z-0008Fb-ED for submit@debbugs.gnu.org; Tue, 14 Jun 2022 15:23:03 -0400 Received: from mail-qt1-f169.google.com ([209.85.160.169]:36413) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1C7x-0008Et-Ap for 55613-done@debbugs.gnu.org; Tue, 14 Jun 2022 15:23:02 -0400 Received: by mail-qt1-f169.google.com with SMTP id x18so6842007qtj.3 for <55613-done@debbugs.gnu.org>; Tue, 14 Jun 2022 12:23:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=mzIj4g+E5Ki7iIeAsGhz6ecZ96xLafcpMeZzaXIxKiI=; b=AsbqLvvSppza4rGpvv6ryAKOD8jH36u+/tkK5B5IyV4mJsm64CBwmgn2iWuBfSAu/I q2XFGcx9GIiHnAE1UiURHsGjbjizknuG0D+QF4bZjQucf/UD1WvH9Vh4F/W0VZWoLM1f yXiTkiAk3HMsOUG2TaKCHjT/cmAH78Rw8U46O66Hzj1gDJdrvpNcv/Zicxjr+nZTtic9 iJmr8xe1QhgUtVIxFKJcL1wNn4QC5kymEUSm/Dk1zVhM+pa+IbUAlTYJR2l5GzETRm87 x3acE5eu/bs8wq4cojrcYRJWw6VKQrfJpk6mxteJODgZE2NcWEay+sJa+c0MgDbEQZMt mplA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=mzIj4g+E5Ki7iIeAsGhz6ecZ96xLafcpMeZzaXIxKiI=; b=UN9bmu5nk76lHTKH7o+jQcWXstSZqxGqfjeSCYyxkFlWp7q7LS3xGbjl7kP1ut4LXd l37vfqFNOk32FyYot3g9q5P2tECWFK9JvjgBSqSJflkLtiR0YHsQ9VD/sKQ1V+5BKeTX WLsDVyH3jGy1av3PDwgTBlJmEKrNduBl4qtSUxycl8hitA5zhhWtiAnZSArC+8gRUyEp NC3Dq93QsXuLUJQB4c5qFZS3ansrMe8btnNrUzk8jayWwIAnFND29Yl16Jq3HHhf9yTN aYUYH4kGSCPvWBAok2o377DfD2dyJXQz698e9kPazT9VwAqpJwDw03BFw3D3Rhsbjbtg DtQQ== X-Gm-Message-State: AOAM532Z9kWDkNTKvO3jZ8SMFlKnca7F4uCtDhEETd8N4qjx2mIPdo0B L9538SzGqJDNyPpQFf/qIF2eGhKxsSpf0Lac X-Google-Smtp-Source: ABdhPJyc83ytyEz4B0gJGg+VxtuSKPt4lPrQQBKSyhPoCHe6Q8MNiMT3KyuS0A2gMmV8sZOvWd/OPQ== X-Received: by 2002:a05:622a:187:b0:304:fb76:fa52 with SMTP id s7-20020a05622a018700b00304fb76fa52mr5749909qtw.176.1655234575687; Tue, 14 Jun 2022 12:22:55 -0700 (PDT) Received: from hurd (dsl-10-149-55.b2b2c.ca. [72.10.149.55]) by smtp.gmail.com with ESMTPSA id g7-20020ac870c7000000b002f39b99f6a4sm7577979qtp.62.2022.06.14.12.22.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jun 2022 12:22:55 -0700 (PDT) From: Maxim Cournoyer To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#55613: [PATCH] doc: Document how to repair Guix System from a chroot. References: <20220524145738.4547-1-maxim.cournoyer@gmail.com> <87mtexyer6.fsf@gnu.org> Date: Tue, 14 Jun 2022 15:22:54 -0400 In-Reply-To: <87mtexyer6.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 31 May 2022 16:10:21 +0200") Message-ID: <87fsk7dp81.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55613-done Cc: 55613-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludovic, Ludovic Court=C3=A8s writes: > Hi! > > Maxim Cournoyer skribis: > >> * doc/guix.texi (System Troubleshooting Tips): New chapter. > > That=E2=80=99s a much welcome addition. > > Since it=E2=80=99s more informal than the manual, how adding it to the co= okbook? > I imagine we could have other troubleshooting subsections. I think I'd prefer keeping this one in the reference manual, as that seems the most natural place to consult first when looking for ways to fix an unbootable Guix System. Alternatively, we could have some section stub simply cross-referencing the Cookbook, but I prefer the former for now. > Some minor typographical comments=E2=80=A6 > >> +@anchor{Manual Installation - Networking} > > Usually anchor names are lowercase and without spaces (I=E2=80=99m not su= re if > it=E2=80=99s a hard requirement or a convention). Convention it seems; although you can't use periods, commas, colons or leading parenthesis (per info "(texinfo) Node Line Requirements"). I've now made it 'manual-installation-networking'. >> +@cindex troubleshooting, guix system > > =E2=80=9CGuix System=E2=80=9D > >> +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 @pxref{Manual Installation - >> +Networking} section. If you get the error @samp{RTNETLINK answers: > > @pxref is for use in a parenthesized expression; it cannot be used in > the middle of a sentence; in fact, no cross-reference markup can be used > in the middle of a sentence, but I recommend checking the manual > (info "(texinfo) Cross References"). It seems like @ref can be used "*within* or, more often, at the end of a sentence", per the above manual, which I'm now using. >> +Switch to a virtual console (tty) if you haven't already by pressing >> +simultaneously the @samp{Control + Alt + F4} keys. Mount your file > > Rather @kbd{ctrl-alt-F4}. Neat, I had forgotten about that one. >> +@example sh >> +# mount /dev/sda2 /mnt >> +@end example >> + >> +@item >> +Mount special block devices and Linux-specific directories: >> + >> +@example sh >> +# mount --bind /proc /mnt/proc >> +# mount --bind /sys /mnt/sys >> +# mount --bind /dev /mnt/dev >> +@end example > > I=E2=80=99d remove the =E2=80=9C#=E2=80=9D prompt from examples, for easi= er copy/pasting > (assuming that=E2=80=99s an option in those circumstances :-)) and for > consistency. It should be possible, supposing you are following this Guix Reference manual in the TTY1 of the bootable installation image; although I'm not sure you can copy-paste between TTYs; adjusted! >> +Source your user profile to setup the environment, where >> +@samp{$YOUR_USER} is adjusted to the user name used for the Guix System >> +you are attempting to repair. >> + >> +@example sh >> +sh-5.1# source /home/$YOUR_USER/.guix-profile/etc/profile > > You can use a =E2=80=9Cmeta-syntactic variable=E2=80=9D for the user name= : write > @var{user}, both in the text and example. Cool trick, thanks! >> +@item >> +Start a minimal guix-daemon in the background: > > s/a minimal guix-daemon/@command{guix-daemon}/ Done. >> +@example sh >> +sh-5.1# guix-daemon --build-users-group=3Dguixbuild --disable-chroot & > > What=E2=80=99s the rationale for =E2=80=98--disable-chroot=E2=80=99? It= =E2=80=99s safer to avoid it. When using a chroot, it would fail before grub-install would get to run, defeating the purpose. It's perhaps workable, but I didn't investigate. I've now pushed as 4e93ca70da. Thanks for the review! Maxim From unknown Sun Jun 22 00:04:43 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 13 Jul 2022 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator