From mboxrd@z Thu Jan 1 00:00:00 1970 From: raingloom Subject: bug#40386: guix system init can't find file system by UUID, workaround results in broken boot Date: Thu, 2 Apr 2020 08:40:54 +0200 Message-ID: <20200402084054.055a83f0@riseup.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/18nlAFf5XDqONmJGa.cU/YF" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:48669) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jJtYB-00075d-Vx for bug-guix@gnu.org; Thu, 02 Apr 2020 02:42:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jJtYA-0003gv-Ix for bug-guix@gnu.org; Thu, 02 Apr 2020 02:42:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:55725) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jJtYA-0003gp-Fl for bug-guix@gnu.org; Thu, 02 Apr 2020 02:42:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jJtYA-0002rZ-AH for bug-guix@gnu.org; Thu, 02 Apr 2020 02:42:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:48443) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jJtXJ-00067J-PE for bug-guix@gnu.org; Thu, 02 Apr 2020 02:41:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jJtXI-0002Og-8I for bug-guix@gnu.org; Thu, 02 Apr 2020 02:41:09 -0400 Received: from mx1.riseup.net ([198.252.153.129]:54848) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jJtXH-0002Nb-OQ for bug-guix@gnu.org; Thu, 02 Apr 2020 02:41:08 -0400 Received: from bell.riseup.net (unknown [10.0.1.178]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "Sectigo RSA Domain Validation Secure Server CA" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 48tD3k1SH6zFf9Z for ; Wed, 1 Apr 2020 23:41:06 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) by bell.riseup.net (Postfix) with ESMTPSA id 48tD3j5VrKzJt71 for ; Wed, 1 Apr 2020 23:41:05 -0700 (PDT) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: 40386@debbugs.gnu.org --MP_/18nlAFf5XDqONmJGa.cU/YF Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Trying to install Guix System onto an SSD using an UltraBay dock. Config is the attached file (with slight variations in the obvious places) `readlink /dev/disk/by-uuid/643a215d-a30e-473b-826e-5c35de29e38f` gives me /dev/sdb1 Yet using (uuid "643a215d-a30e-473b-826e-5c35de29e38f") results in: ``` sudo -E guix system init --no-bootloader Configs/Guix/desktop-parametric.scm /mnt :( /home/raingloom/Configs/Guix/desktop-parametric.scm:50:26: error: file system with UUID '643a215d-a30e-473b-826e-5c35de29e38f' not found ``` Switching the UUID to uppercase as in the example (thankfully) doesn't change anything, not even the error message. I tried using a label, same result. I ended up using the /dev/disk/by-uuid and /dev/disk/by-id paths for the root file system and the bootloader respectively, and that resulted in a succesful system init, but upon trying to boot the SSD with the other machine, I got thrown into a rescue shell, because it couldn't find the root using that path. **(Quick aside: there really should be a guide for using that rescue shell. I can get around in a /bin/sh one, but this is nearly unusable. At least autocompletion should be supported.)** I tried modifying the --root kernel parameter from Grub, so that it would point to /dev/sda1 directly (which is the device's name on the other machine), but I was thrown into the rescue shell again, with the same backtrace (with the old path replaced with /dev/sda1 of course). Sooo, I have no idea what to do. Any tips on debugging this? Or on reconfiguring a Guix System install that is on an external file system? On Arch I'd just arch-chroot into it and fix it from there, but I don't know of anything similar for Guix. --MP_/18nlAFf5XDqONmJGa.cU/YF Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=desktop-parametric.scm ;; for REPL (use-modules (guix) (gnu services)) (use-modules (gnu) (gnu system nss) (gnu packages shells) (gnu packages package-management) (gnu packages gnome) (gnu packages xdisorg) (gnu packages android) (gnu system shadow) (gnu services linux)) (use-service-modules desktop ssh nix) (use-package-modules bootloaders certs ratpoison suckless wm) ((lambda* (:key use-proprietary-crap?) (if use-proprietary-crap? (use-modules (nongnu packages linux)) (use-modules (gnu packages linux))) (operating-system (host-name "greg") (timezone "Europe/Budapest") (locale "en_US.utf8") (kernel (if use-proprietary-crap? linux linux-libre)) (firmware (append (if use-proprietary-crap? (list iwlwifi-firmware) '()) %base-firmware)) ;; Use the UEFI variant of GRUB with the EFI System ;; Partition mounted on /boot/efi. (bootloader (bootloader-configuration (bootloader grub-bootloader) (target "/dev/disk/by-id/ata-KINGSTON_SMS200S3120G_50026B727202A944"))) ;; Assume the target root file system is labelled "my-root", ;; and the EFI System Partition has UUID 1234-ABCD. (file-systems (cons* (file-system (device (uuid "643a215d-a30e-473b-826e-5c35de29e38f")) (mount-point "/") (options "compress") (type "f2fs")) %base-file-systems)) (users (append (list (user-account (name "raingloom") (comment "your friendly localhost admin") (group "users") (shell "/run/current-system/profile/bin/zsh") (supplementary-groups '("adbusers" "audio" "kvm" "netdev" "video" "wheel")) (home-directory "/home/raingloom"))) %base-user-accounts)) (groups (cons (user-group (system? #t) (name "adbusers")) %base-groups)) (packages (cons* i3-wm i3status dmenu ;window manager ;; sway swaylock swayidle swaybg waybar ;wayland window manager nss-certs ;for HTTPS access zsh ;nicer login shell gvfs glib-networking nix gnome orca libwacom xf86-input-wacom %base-packages)) ;; Use the "desktop" services, which include the X11 ;; log-in service, networking with NetworkManager, and more. (services (append (list (service nix-service-type) (service openssh-service-type (openssh-configuration (x11-forwarding? #f))) (service earlyoom-service-type (earlyoom-configuration (minimum-available-memory 5)))) (modify-services %desktop-services (udev-service-type config => (udev-configuration (inherit config) (rules (cons* android-udev-rules libwacom (udev-configuration-rules config))))) (elogind-service-type config => (elogind-configuration (inherit config) (handle-lid-switch 'ignore))) (guix-service-type config => (guix-configuration (inherit config) (extra-options '("--gc-keep-derivations=yes" "--gc-keep-outputs=yes"))))))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss))) #:use-proprietary-crap? #f) --MP_/18nlAFf5XDqONmJGa.cU/YF--