[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25917: [PATCH] services: Don't check filesystem even if #:check? if
From: |
Danny Milosavljevic |
Subject: |
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
address@hidden (Ludovic Courtès) wrote:
> Danny Milosavljevic <address@hidden> 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?
bug#25917: [PATCH v2] services: If a filesystem is not marked as needed for boot, don't check it even if told to check it., Danny Milosavljevic, 2017/03/12
bug#25917: [PATCH] file-systems: Factorize file-system-packages., Danny Milosavljevic, 2017/03/16
bug#25917: [PATCH v2] services: file-system-shepherd-service: Make it find the fsck programs., Danny Milosavljevic, 2017/03/18