From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#25917: [PATCH] services: Don't check filesystem even if #:check? if not #:needed-for-boot. Date: Tue, 14 Mar 2017 09:41:32 +0100 Message-ID: <87mvcop7wj.fsf@gnu.org> References: <87wpbw83ev.fsf@gnu.org> <20170312165604.1273-1-dannym@scratchpost.org> <878to9bleb.fsf@gnu.org> <20170313205504.485459c8@scratchpost.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49232) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cni1t-0003Q8-Qt for bug-guix@gnu.org; Tue, 14 Mar 2017 04:42:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cni1p-0007tz-Td for bug-guix@gnu.org; Tue, 14 Mar 2017 04:42:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:56529) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cni1p-0007tl-Qi for bug-guix@gnu.org; Tue, 14 Mar 2017 04:42:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cni1p-0002LK-Ln for bug-guix@gnu.org; Tue, 14 Mar 2017 04:42:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20170313205504.485459c8@scratchpost.org> (Danny Milosavljevic's message of "Mon, 13 Mar 2017 20:55:04 +0100") 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.org@gnu.org Sender: "bug-Guix" To: Danny Milosavljevic Cc: 25917@debbugs.gnu.org Danny Milosavljevic skribis: >> One thing I don=E2=80=99t get is that, if the file system is not >> needed-for-boot?, then it doesn=E2=80=99t 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=E2=80=99s just put in fstab. The use case for this is that then yo= u can type just =E2=80=9Cmount /mnt/foo=E2=80=9D and =E2=80=98mount=E2=80=99 look= s it up in /etc/fstab and does the right thing. >> In your original message, you wrote that the problem is that =E2=80=9Cth= e initrd >> doesn't contain the fsck tool=E2=80=9D, so it=E2=80=99s a problem in lin= ux-initrd.scm, >> no? > > I don't know where we should fix it. If you want to reproduce it, I test= ed 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 sti= ck :) ). > > The effect is if not needed-for-boot? but check? , the boot breaks becaus= e it can't find fsck.vfat . Ooh, I think that=E2=80=99s another problem, then. :-) =E2=80=98file-system-shepherd-service=E2=80=99 is bogus: it only handles ex= t2: (setenv "PATH" (string-append #$e2fsprogs "/sbin:" "/run/current-system/profile/sbin:" $PATH))) We should fix that to handle vfat, btrfs, etc., just like =E2=80=98base-ini= trd=E2=80=99 does. In fact, we should extract the =E2=80=98helper-packages=E2=80=99 thi= ng from there and factorize it between linux-initrd.scm and services/base.scm. How does that sound? Thanks, Ludo=E2=80=99.