Sorry for the imprecision there, it's not a kernel panic but a complete freeze of the system during a reboot or shutdown (almost 10/20% of the time). The error message that appears on the screen is about missing libraries, which I could later locate in /usr/lib64 (I do not remember their name right now). Concerning the .mount file, there is NOT ONE associated to /live/image. Instead, all others form /etc/fstab are created: cat etc/fstab live:/srv/live/root /root nfs intr,nolock 0 0 live:/srv/live/home /home nfs intr,nolock 0 0 live:/srv/live/opt /opt nfs intr,nolock 0 0 each nfs entry has a corresponding .mount file. The most important kernel options are: root=172.16.16.38:/srv/live/cos8 rootovl where 'rootovl' is the option provided by the 90overlay-root dracut module (imported from debian buster, see here below). Should I modify overlay-mount.sh? Thank you. ########################################################### ### cat /usr/lib/dracut/modules.d/90overlay-root/README ### ########################################################### dracut rootfs overlayfs module Make any rootfs ro, but writable via overlayfs. This is convenient, if for example using an ro-nfs-mount. Add the parameter "rootovl" to the kernel, to activate this feature This happens pre-pivot. Therefore the final root file system is already mounted. It will be set ro, and turned into an overlayfs mount with an underlying tmpfs. The original root and the tmpfs will be mounted at /live/image and /live/cow in the final rootfs. #################################################################### ### cat /usr/lib/dracut/modules.d/90overlay-root/module-setup.sh ### #################################################################### #!/bin/bash check() { # do not add modules if the kernel does not have overlayfs support [ -d /lib/modules/$kernel/kernel/fs/overlayfs ] || return 1 } depends() { # We do not depend on any modules - just some root return 0 } # called by dracut installkernel() { instmods overlay } install() { inst_hook pre-pivot 10 "$moddir/overlay-mount.sh" } ##################################################################### ### cat /usr/lib/dracut/modules.d/90overlay-root/overlay-mount.sh ### ##################################################################### #!/bin/sh # make a read-only nfsroot writeable by using overlayfs # the nfsroot is already mounted to $NEWROOT # add the parameter rootovl to the kernel, to activate this feature . /lib/dracut-lib.sh if ! getargbool 0 rootovl ; then return fi modprobe overlay # a little bit tuning mount -o remount,nolock,noatime $NEWROOT # Move root # --move does not always work. Google >mount move "wrong fs"< for # details mkdir -p /live/image mount --bind $NEWROOT /live/image umount $NEWROOT # Create tmpfs mkdir /cow mount -n -t tmpfs -o mode=0755 tmpfs /cow mkdir /cow/work /cow/rw # Merge both to new Filesystem mount -t overlay -o noatime,lowerdir=/live/image,upperdir=/cow/rw,workdir=/cow/work,default_permissions overlay $NEWROOT # Let filesystems survive pivot mkdir -p $NEWROOT/live/cow mkdir -p $NEWROOT/live/image mount --bind /cow/rw $NEWROOT/live/cow umount /cow mount --bind /live/image $NEWROOT/live/image umount /live/image ________________________________ From: Lennart Poettering <lennart@xxxxxxxxxxxxxx> Sent: Thursday, October 31, 2019 6:34:15 PM To: Matteo Guglielmi Cc: systemd-devel@xxxxxxxxxxxxxxxxxxxxx Subject: Re: rootnfs + rootovl (diskless client shutdown problem) On Mo, 28.10.19 09:47, Matteo Guglielmi (Matteo.Guglielmi@xxxxxxxx) wrote: > > almost 20% of the time I get a kernel panic error > due to a bunch of missing libraries. A kernel panic? because of "missing libraries"? that doesn't sound right. The kernel doesn't need "libraries". iirc it's totally fine to unmount the backing fs after you mounted the overlayfs, the file systems remain pinned in the background by the overlayfs. > > > How can I instruct systemd to avoid unmounting > > /live/image (or postpone it to a later moment)? You can extend the .mount unit file for /live/image and add an explicit dep: i.e. create /etc/systemd/system/live-image.mount.d/50-my-drop-in.conf, then add: [Unit] After=some-other.mount You get the idea... Lennart -- Lennart Poettering, Berlin _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel