* Problems adding multiple file systems (e.g., /home partition)
@ 2016-11-28 18:23 Daniel Drake
2016-11-29 12:57 ` Ludovic Courtès
0 siblings, 1 reply; 4+ messages in thread
From: Daniel Drake @ 2016-11-28 18:23 UTC (permalink / raw)
To: help-guix
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 <file-system> 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Problems adding multiple file systems (e.g., /home partition)
2016-11-28 18:23 Problems adding multiple file systems (e.g., /home partition) Daniel Drake
@ 2016-11-29 12:57 ` Ludovic Courtès
2016-11-29 15:08 ` Daniel Drake
2016-11-29 15:10 ` Daniel Drake
0 siblings, 2 replies; 4+ messages in thread
From: Ludovic Courtès @ 2016-11-29 12:57 UTC (permalink / raw)
To: Daniel Drake; +Cc: help-guix
Hello!
Daniel Drake <silophophe@gmail.com> skribis:
> I've noted the dependencies member of the file-system object: "This
> is a list of <file-system> 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)) )
This should be:
(dependencies (list vol-root))
> I found a related issue in one of the IRC logs that modified the
> dependencies argument like this:
> (dependencies (list vol-root))
… which you already found. :-)
> 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
Right.
In fact, the root file system is always mounted before anything else, so
the ‘dependencies’ field here is unneeded.
(That case could be handled more gracefully though.)
So in short, all you need is to write things like this:
(operating-system
;; …
(file-systems (list (file-system (device "vol-root") …)
(file-system (device "vol-home") …))))
without any ‘dependencies’ field.
HTH!
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Problems adding multiple file systems (e.g., /home partition)
2016-11-29 12:57 ` Ludovic Courtès
@ 2016-11-29 15:08 ` Daniel Drake
2016-11-29 15:10 ` Daniel Drake
1 sibling, 0 replies; 4+ messages in thread
From: Daniel Drake @ 2016-11-29 15:08 UTC (permalink / raw)
To: Ludovic Courtès
Hi Ludo',
Thanks! Your suggestion is what I had initially tried, and it would not
boot. But now it works: I can boot without the USB drive and reach the
login prompt. I must have had something else messed up.
In any event, thank you very much for your help!
- Daniel
On 11/29/2016 07:57 AM, Ludovic Courtès wrote:
> Hello!
>
> Daniel Drake <silophophe@gmail.com> skribis:
>
>> I've noted the dependencies member of the file-system object: "This
>> is a list of <file-system> 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)) )
>
> This should be:
>
> (dependencies (list vol-root))
>
>> I found a related issue in one of the IRC logs that modified the
>> dependencies argument like this:
>> (dependencies (list vol-root))
>
> … which you already found. :-)
>
>> 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
>
> Right.
>
> In fact, the root file system is always mounted before anything else, so
> the ‘dependencies’ field here is unneeded.
>
> (That case could be handled more gracefully though.)
>
> So in short, all you need is to write things like this:
>
> (operating-system
> ;; …
> (file-systems (list (file-system (device "vol-root") …)
> (file-system (device "vol-home") …))))
>
> without any ‘dependencies’ field.
>
> HTH!
>
> Ludo’.
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Problems adding multiple file systems (e.g., /home partition)
2016-11-29 12:57 ` Ludovic Courtès
2016-11-29 15:08 ` Daniel Drake
@ 2016-11-29 15:10 ` Daniel Drake
1 sibling, 0 replies; 4+ messages in thread
From: Daniel Drake @ 2016-11-29 15:10 UTC (permalink / raw)
To: help-guix
Hi Ludo',
Thanks! Your suggestion is what I had initially tried, and it would not
boot. But now it works: I can boot without the USB drive and reach the
login prompt. I must have had something else messed up.
In any event, thank you very much for your help!
- Daniel
On 11/29/2016 07:57 AM, Ludovic Courtès wrote:
> Hello!
>
> Daniel Drake <silophophe@gmail.com> skribis:
>
>> I've noted the dependencies member of the file-system object: "This
>> is a list of <file-system> 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)) )
>
> This should be:
>
> (dependencies (list vol-root))
>
>> I found a related issue in one of the IRC logs that modified the
>> dependencies argument like this:
>> (dependencies (list vol-root))
>
> … which you already found. :-)
>
>> 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
>
> Right.
>
> In fact, the root file system is always mounted before anything else, so
> the ‘dependencies’ field here is unneeded.
>
> (That case could be handled more gracefully though.)
>
> So in short, all you need is to write things like this:
>
> (operating-system
> ;; …
> (file-systems (list (file-system (device "vol-root") …)
> (file-system (device "vol-home") …))))
>
> without any ‘dependencies’ field.
>
> HTH!
>
> Ludo’.
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-11-29 15:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-28 18:23 Problems adding multiple file systems (e.g., /home partition) Daniel Drake
2016-11-29 12:57 ` Ludovic Courtès
2016-11-29 15:08 ` Daniel Drake
2016-11-29 15:10 ` Daniel Drake
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).