On 4/9/19 11:58 PM, Ludovic Courtès wrote: > Hello, > > [email protected] skribis: > >> On a system I'm porting to guix I have 2GB tmpfs with subdirectories >> like /tmpfs/etc that I remount to /etc with an overlay filesystem. >> >> The current way I do this in systemd is making a service dependency >> between the /tmpfs and /etc mounts that mkdirs /tmpfs/etc and >> /tmpfs/etc_work, but AFAICT filesystem definitions in guix can only have >> filesystem dependencies. >> >> Are there any other ways I can do this without copying/pasting/modifying >> gobs of core guix code into my system definition? Like somehow >> appending (mkdir /tmpfs/etc) onto the tmpfs filesystem service start >> procedure or something. > In Guix /etc is mostly populated by “activation programs”, which are > generated from your config. So I’m not sure what you describe would > make much sense.
So if /etc can be read-only and boot I'm probably fine... my experience with other distros was that some other processes needed to write to it. Ex: modifying resolv.conf. > Now, you could try to add a file system declaration that mounts /etc, > with (needed-for-boot? #t). My goal is to have a read-only / mount with the ability for programs to make temporary modifications for operational purposes when necessary, in limited scopes (like /etc). Can you elaborate on what you're suggesting here? Mounting something other than the overlayfs on /etc would hide the system config files. I might be able to use another mount to create a pseudo- /tmpfs/etc_work subdirectory but it sounds kind of wormy and overlayfs requires the upper dir and workdir to be the same filesystem which I think precludes doing any mounting for those subdirectories. Thanks for the suggestions!
