From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Drake Subject: Problems adding multiple file systems (e.g., /home partition) Date: Mon, 28 Nov 2016 13:23:27 -0500 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35053) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cBQaW-0008PQ-Te for help-guix@gnu.org; Mon, 28 Nov 2016 13:23:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cBQaS-0001Ls-JA for help-guix@gnu.org; Mon, 28 Nov 2016 13:23:36 -0500 Received: from mail-yb0-x241.google.com ([2607:f8b0:4002:c09::241]:33011) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cBQaS-0001L0-Be for help-guix@gnu.org; Mon, 28 Nov 2016 13:23:32 -0500 Received: by mail-yb0-x241.google.com with SMTP id v78so262320ybe.0 for ; Mon, 28 Nov 2016 10:23:30 -0800 (PST) Received: from [10.4.4.138] (195.99-88-23.rdns.scalabledns.com. [23.88.99.195]) by smtp.googlemail.com with ESMTPSA id w17sm20120567ywd.46.2016.11.28.10.23.28 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 Nov 2016 10:23:28 -0800 (PST) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org Hi all. I'm transitioning from arch to guixsd. I've built off of the bare-bones.scm example, but I'm having trouble adding a second file system (my home partition). Without a dependency argument to ensure that root gets mounted prior to home, the system fails to boot to a prompt. I've noted the dependencies member of the file-system object: "This is a list of objects representing file systems that must be mounted before (and unmounted after) this one." In the preamble, I define the root file-system: (define vol-root (file-system (device "vol-root") (title 'label) (mount-point "/") (type "ext4"))) Then I add the root file system to the file-systems list, along with the file-system for the home directory: (operating-system ... (file-systems (cons* vol-root (file-system (device "vol-home") (title 'label) (mount-point "/home") (type "ext4") (dependencies '(vol-root)) ) %base-file-systems)) ... When I try to instantiate (via guix system init /mnt/etc/config.scm /mnt), I get a multi-line error that states: gnu/services/base.scm:255:2: In procedure dependency->shepherd-service-name: gnu/services/base.scm:225:2: Throw to key 'match-error' with args `("match" "no matching pattern" vol-root)'. I found a related issue in one of the IRC logs that modified the dependencies argument like this: (dependencies (list vol-root)) within the file-system object for the home directory. In that instance, the error seems almost resolvable: guix system: error: `file-system-/home' requires 'file-system-/', which is not provided by any service In this case, it seems like the service that mounts root has not been created at the point that the home directory service needs it. If anyone can shed some light into what actually needs to be placed in the dependencies list, that would be quite helpful. I'm new to guile, but I've done some hacking in emacs-lisp. Thank you. - Daniel