GNU bug report logs - #25917
operating-system file-system with (check? #t) but (needed-for-boot #f) pauses boot until user interaction

Previous Next

Package: guix;

Reported by: Danny Milosavljevic <dannym <at> scratchpost.org>

Date: Wed, 1 Mar 2017 16:39:01 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


Message #26 received at 25917 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 25917 <at> debbugs.gnu.org
Subject: Re: bug#25917: [PATCH] services: Don't check filesystem even if
 #:check? if not #:needed-for-boot.
Date: Tue, 14 Mar 2017 20:18:09 +0100
Hi Ludo,

On Tue, 14 Mar 2017 09:41:32 +0100
ludo <at> gnu.org (Ludovic Courtès) wrote:

> Danny Milosavljevic <dannym <at> scratchpost.org> skribis:
> 
> >> One thing I don’t get is that, if the file system is not
> >> needed-for-boot?, then it doesn’t get a Shepherd service in the first
> >> place.  
> >
> > But what is supposed to happen to filesystems where mount? but not needed-for-boot? if Shepherd doesn't mount it?  Does some other part mount it ?  Is it just put into fstab or something ?  
> 
> Yes, it’s just put in fstab.  The use case for this is that then you can
> type just “mount /mnt/foo” and ‘mount’ looks it up in /etc/fstab and
> does the right thing.
> 
> >> In your original message, you wrote that the problem is that “the initrd
> >> doesn't contain the fsck tool”, so it’s a problem in linux-initrd.scm,
> >> no?  
> >
> > I don't know where we should fix it.  If you want to reproduce it, I tested it with this config
> >
> >   (file-systems (cons* ...
> >                        (file-system
> >                         (device "NO NAME")
> >                         (title 'label)
> >                         (mount-point "/mnt/tmp")
> >                         (type "vfat")
> >                         (needed-for-boot? #f)
> >                         (mount? #t)
> >                         (check? #t))
> >                        %base-file-systems))
> >
> > and an USB flash memory stick with name "NO NAME" (the default of the stick :) ).
> >
> > The effect is if not needed-for-boot? but check? , the boot breaks because it can't find fsck.vfat .  
> 
> Ooh, I think that’s another problem, then.  :-)
> 
> ‘file-system-shepherd-service’ is bogus: it only handles ext2:
> 
>                              (setenv "PATH"
>                                      (string-append
>                                       #$e2fsprogs "/sbin:"
>                                       "/run/current-system/profile/sbin:"
>                                       $PATH)))

Oops...

> We should fix that to handle vfat, btrfs, etc., just like ‘base-initrd’
> does.  In fact, we should extract the ‘helper-packages’ thing from
> there and factorize it between linux-initrd.scm and services/base.scm.

Sounds good!

However, the above has (needed-for-boot? #f) and Guix still tries to check / mount it. Why?




This bug report was last modified 8 years and 33 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.