Subject: bug#25917: closed (Re: bug#25917: [PATCH v2] services: file-system-shepherd-service: Make it find the fsck programs.)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 22 Apr 2017 23:35:02 +0000

Your bug report

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

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
25917: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25917
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#25917: [PATCH v2] services: file-system-shepherd-service: Make it find the fsck programs.
From: [email-masked] (Ludovic Courtès)
To: Danny Milosavljevic <[email-masked]>
Cc: [email-masked]
Date: Sun, 23 Apr 2017 01:34:15 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Danny Milosavljevic <[email-masked]> skribis:

> * gnu/services/base.scm (file-system-shepherd-service): Use
> file-system-packages.

That was pushed as 26e34e1e1288d657e92372efb6edc95c0e299247.
Closing.

Ludo’.

Subject: operating-system file-system with (check? #t) but (needed-for-boot #f) pauses boot until user interaction
From: Danny Milosavljevic <[email-masked]>
To: <[email-masked]>
Date: Wed, 1 Mar 2017 17:38:38 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

If one has a operating-system file-system with (check? #t) but (needed-for-boot #f), the next boot after reconfiguring will boot into a Guile REPL because the initrd doesn't contain the fsck tool for that file system (because all the file-systems with (needed-for-boot #f) have been filtered out). Therefore, the normal boot process breaks.

Possible fixes:
- If (check? #t) but (needed-for-boot? #f), include the tool anyway, XOR
- If (check? #t) but (needed-for-boot? #f), don't check anyway

This can be reproduced for example by connecting an USB flash storage stick with a filesystem with a type on it that's not used in any other file-system declaration.

NB: If (check? #t) and (needed-for-boot? #t), everything works fine.

For all these, (mount? #t) (the default).

This is on Guix master from a few minutes ago.