Danny Milosavljevic <dan...@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))) 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. How does that sound? Thanks, Ludo’.