---
name: "lockfs_mount_helper"
section: "8"
platform: "linux"
package: "bilibop-lockfs"
version: "0.5.6"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/lockfs_mount_helper"
---

# lockfs\_mount\_helper(8)

helper script for the mount command

## NAME

mount.lockfs - helper script for the mount command

## SYNOPSIS

**mount.lockfs** *FILESYSTEM* *MOUNTPOINT* \[**MOUNTFLAGS**\] **-o** *MOUNTOPTIONS*

## DESCRIPTION

**/sbin/mount.lockfs** is a symlink to */lib/bilibop/lockfs\_mount\_helper*. It is used as an helper program by the [**mount**(8)](/mount/8.md) 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)](/bilibop.conf/5.md) 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)](/fstab/5.md) 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)](/fstab/5.md) is parsed by '**mount** **-a**', and then [**mount**(8)](/mount/8.md) 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)](/bilibop.conf/5.md), 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.

## OPTIONS

**lockfs\_mount\_helper** uses options and arguments as they are given by [**mount**(8)](/mount/8.md) after it has parsed the corresponding [**fstab**(5)](/fstab/5.md) entry. So, options and arguments are mandatory, mount flags are optional, and all come in the following order:

- *FILESYSTEM*

  Corresponding to the first field in fstab. This must be a block device, or a symlink to a block device. If this field is given with one of the **UUID=\*** or **LABEL=\*** formats, then the mount command translates it to the corresponding device name before to call the helper program.

- *MOUNTPOINT*

  Corresponding to the second field in fstab.

- \[*MOUNTFLAGS*\]

  Generic flags passed to the mount commandline (the most usual being **-v** and **-n**).

- *-o MOUNTOPTIONS*

  Corresponding to the fourth field in fstab. The mount options are parsed by the helper script: if **fstype=\*** is encountered, it is removed from the options and used to mount the readonly branch with this filesystem type. If **ro**, **noexec**, **nosuid** or **nodev** options are encountered, they are added to the list of mount options of the writable branch.

## FILES

/etc/fstab\
 /lib/bilibop/lockfs\_mount\_helper\
 /usr/share/doc/bilibop-lockfs/README.Debian

## SEE ALSO

[**aufs**(5)](/aufs/5.md), [**bilibop**(7)](/bilibop/7.md), [**bilibop.conf**(5)](/bilibop.conf/5.md), [**fstab**(5)](/fstab/5.md), [**mount**(8)](/mount/8.md)

## AUTHOR

This manual page has been written by Bilibop Project \<quidame@poivron.org\>.
