/usr/sbin/mount.lockfs is a symlink to /usr/libexec/bilibop/lockfs_mount_helper. It is used as an helper
program by the mount(8) command for the 'lockfs' filesystem type entries in /etc/fstab. This script
cannot be run manually, and fails if the root filesystem is not already managed by bilibop-lockfs. The
expected way to run it and how it does its job are the followings:
1. Enable bilibop-lockfs: set the BILIBOP_LOCKFS variable to true in bilibop.conf(5) and reboot the
computer; or reboot the computer and append the 'lockfs' kernel parameter to the boot commandline.
2. One time the future '/' is set as an union filesystem mountpoint from into the initramfs environment,
the temporary and writable fstab(5) on it is modified to replace filesystem types of some entries by
'lockfs'. Options are also modified to remember the original fstype.
3. One time the union mount is the new root filesystem, initscripts are executed: fstab(5) is parsed by
'mount-a', and then mount(8) calls mount.lockfs with the proper arguments when a 'lockfs' fstype is
encountered.
4. mount.lockfs parses arguments and checks if the filesystem has been whitelisted in bilibop.conf(5), or
not. If it is the case, the filesystem is mounted normally and the fstab entry is modified to reflect
the actual mount call. If neither the filesystem nor the mountpoint have been whitelisted, then the
filesystem is mounted elsewhere and readonly, a temporary filesystem is mounted with proper options,
size, permissions and ownership, and an aufs or overlay filesystem (depending on the version of your
kernel) is mounted on the MOUNTPOINT given as argument with the lower/readonly and upper/writable
branches previously set. The fstab entry is replaced by three lines reflecting the actual mount calls.
If something fails, mount.lockfs acts as if the filesystem was whitelisted. See
/usr/share/doc/bilibop-lockfs/README.Debian for details.