How Does KIWI-LTSP work

From openSUSE

kiwi-ltsp-setup -s creates /srv/kiwi-ltsp-nfs chroot image and a squashfs image of that chroot in /srv/kiwi-ltsp. The squashfs image is then served via NBD server and used by client as nbdroot.

If nfsroot is used /srv/kiwi-ltsp-nfs is exported read only which is mounted as / (nfs root) on client with all the rw required bits tmpfs bind mounted

Upon booting, the clients runs /etc/init.d/00-suse-bind-mounts and /etc/init.d/ltsp-client.init

suse-bind-mounts mounts all the parts that are required rw including some configuration files

ltsp-client.init is responsible for launching ldm (ltsp display manager) and fetching various variables from /etc/lts.conf , it also launches delayed_mounter script that mounts local devices into the user's session on the server.

ldm logs in user and starts Xsession over ssh.

ldm also creates a ssh socket /tmp/.ltspfs-socket which is used by delayed_mounter to mount disks into user's session.

devices are mounted by running ssh -S /tmp.ltspfs-socket server ltspfs clientip:/media /mountpoint, so ltspfs needs to be installed on the server and fuse module loaded (modprobe fuse)