Параметры запуска и переменные окружения VFS

30 сентября 2026

ID vfs_args_and_envs_overview

Параметры запуска программы VFS

  • -l <запись в формате fstab>

    Параметр запуска -l монтирует заданную файловую систему.

  • -f <путь к файлу fstab>

    Параметр -f монтирует файловые системы, указанные в файле fstab. Если переменная окружения UNMAP_ROMFS не определена, то поиск файла fstab будет выполнен в ROMFS-образе. Если переменная окружения UNMAP_ROMFS определена, то поиск файла fstab будет выполнен в файловой системе, заданной через переменную окружения ROOTFS.

Примеры использования параметров запуска программы VFS

Переменные окружения программы VFS

  • UNMAP_ROMFS

    Если переменная окружения UNMAP_ROMFS определена, то ROMFS-образ будет удален из памяти. Это позволяет сэкономить память, а также при использовании параметра запуска -f дает возможность выполнить поиск файла fstab не в ROMFS-образе, а в файловой системе, заданной через переменную окружения ROOTFS.

    Пример использования переменной окружения UNMAP_ROMFS

  • ROOTFS = <запись в формате fstab>

    Переменная окружения ROOTFS позволяет монтировать заданную файловую систему в корневую директорию. При использовании параметра запуска -f комбинация переменных окружения ROOTFS и UNMAP_ROMFS дает возможность выполнить поиск файла fstab не в ROMFS-образе, а в файловой системе, заданной через переменную окружения ROOTFS.

    Пример использования переменной окружения ROOTFS

  • VFS_SERVER_MAX_THREADS_PER_CLIENT

    Переменная VFS_SERVER_MAX_THREADS_PER_CLIENT определяет число потоков процесса VFS, выделяемых на один IPC-канал.

  • VFS_NETWORK_BACKEND=<имя VFS-бэкенда>:<имя IPC-канала до процесса VFS>

    Переменная окружения VFS_NETWORK_BACKEND задает VFS-бэкенд для работы с сетевым стеком. При этом:

    • Можно указать имя стандартного VFS-бэкенда: client (для программы, исполняющейся в контексте клиентского процесса), server (для программы VFS, исполняющейся в контексте серверного процесса), local, relay (при использовании механизма VFS relay), а также имя пользовательского VFS-бэкенда.
    • Может быть указано более одного IPC-канала через запятую.
    • Если используется VFS-бэкенд local, то имя IPC-канала не указывается (VFS_NETWORK_BACKEND=local:).
    • При использовании динамических IPC-каналов вместо имени IPC-канала до процесса VFS необходимо указать имя процесса VFS, например: VFS_NETWORK_BACKEND: client:kl.VfsNet.
    • При использовании стандартного бэкенда client можно указывать различные значения переменных VFS_NETWORK_BACKEND и VFS_FILESYSTEM_BACKEND. Однако при использовании стандартных бэкендов server, relay или local необходимо либо указывать значение только одной из этих переменных, либо указывать одинаковые значения обеих переменных.
    • Если значение переменной VFS_NETWORK_BACKEND не указано, но при этом указано значение переменной VFS_FILESYSTEM_BACKEND, то использование сетевых операций будет приводить к завершению работы программы VFS.
  • VFS_FILESYSTEM_BACKEND=<имя VFS-бэкенда>:<имя IPC-канала до процесса VFS>

    Переменная окружения VFS_FILESYSTEM_BACKEND задает VFS-бэкенд для работы с файловыми системами. При этом:

    • Можно указать имя стандартного VFS-бэкенда: client (для программы, исполняющейся в контексте клиентского процесса), server (для программы VFS, исполняющейся в контексте серверного процесса), local, relay (при использовании механизма VFS relay), а также имя пользовательского VFS-бэкенда.
    • Может быть указано более одного IPC-канала через запятую.
    • Если используется VFS-бэкенд local, то имя IPC-канала не указывается (VFS_NETWORK_BACKEND=local:).
    • При использовании динамических IPC-каналов вместо имени IPC-канала до процесса VFS необходимо указать имя процесса VFS, например: VFS_FILESYSTEM_BACKEND: client:kl.VfsFs.
    • При использовании стандартного бэкенда client можно указывать различные значения переменных VFS_NETWORK_BACKEND и VFS_FILESYSTEM_BACKEND. Однако при использовании стандартных бэкендов server, relay или local необходимо либо указывать значение только одной из этих переменных, либо указывать одинаковые значения обеих переменных.
    • Если значение переменной VFS_FILESYSTEM_BACKEND не указано, но при этом указано значение переменной VFS_NETWORK_BACKEND, то использование файловых операций будет приводить к завершению работы программы VFS.
  • VFS_GENERAL_PIPE_BUFFER_SIZE=<количество байт>

    Переменная окружения VFS_GENERAL_PIPE_BUFFER_SIZE задаёт максимальный размер буфера (в байтах), который может быть использован неименованным каналом (pipe) для хранения передаваемых данных. Этот размер может быть впоследствии изменен с помощью макроса F_SETPIPE_SZ функции fcntl(). Минимальное значение переменной окружения равно одной странице памяти (PAGE_SIZE), максимальное значение: 1048576 байт, значение по умолчанию: 65536 байт.

  • RUMP_NETEN_NAME_POLICY=<список политик именования сетевых интерфейсов>

    Переменная окружения RUMP_NETEN_NAME_POLICY определяет список политик именования сетевых интерфейсов для VFS. Политики указываются через запятую в порядке применения (например, RUMP_NETEN_NAME_POLICY="path,alias,default"). Возможные названия политик и их описания представлены в таблице ниже. Если первая указанная политика неприменима для текущего устройства (см. колонку "Применимость политики" в таблице ниже), используется вторая, и так далее. Самой последней (или если никакие политики не указаны) применяется политика default.

    Политики именования сетевых интерфейсов

    Префиксы, определяющие типы интерфейсов: en для Ethernet-интерфейсов, wl для Wi-Fi-интерфейсов, wwan для модемных интерфейсов.

    Хеш-коды вычисляются с помощью алгоритма MurmurHash2.

Значения по умолчанию для параметров запуска и переменных окружения VFS

Для исполняемого файла VfsRamFs:

ROOTFS = ramdisk0,0 / ext4 0

VFS_FILESYSTEM_BACKEND = server:kl.VfsRamFs

Для исполняемого файла VfsSdCardFs:

ROOTFS = mmc0,0 / fat32 0

VFS_FILESYSTEM_BACKEND = server:kl.VfsSdCardFs

-l nodev /tmp ramfs 0

-l nodev /var ramfs 0

Для исполняемого файла VfsNet:

VFS_NETWORK_BACKEND = server:kl.VfsNet

VFS_FILESYSTEM_BACKEND = server:kl.VfsNet

-l devfs /dev devfs 0

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!