При запуске программы VFS по умолчанию монтируется только файловая система RAMFS в корневую директорию. Если требуется монтировать другие файловые системы, это можно сделать не только с помощью вызова функции mount()
, но и установив параметры запуска и переменные окружения программы VFS.
Файловые системы ROMFS
и squashfs
предназначены только для чтения, поэтому для монтирования этих файловых систем нужно указать параметр ro
.
Использование параметра запуска -l
Одним из способов монтировать файловую систему является установка для программы VFS параметра запуска -l <запись в формате fstab>
.
В этих примерах при запуске программы VFS будут монтированы файловые системы devfs и ROMFS:
init.yaml.(in)
...
- name: VfsFirst
args:
- -l
- devfs /dev devfs 0
- -l
- romfs /etc romfs ro
...
CMakeLists.txt
...
set_target_properties (${vfs_ENTITY} PROPERTIES
EXTRA_ARGS
" - -l
- devfs /dev devfs 0
- -l
- romfs /etc romfs ro")
...
Использование файла fstab из ROMFS-образа
При сборке решения можно добавить файл fstab
в ROMFS-образ. Этот файл можно использовать для монтирования файловых систем, установив для программы VFS параметр запуска -f <путь к файлу fstab>
.
В этих примерах при запуске программы VFS будут монтированы файловые системы, заданные через файл fstab
, который был добавлен при сборке решения в ROMFS-образ:
init.yaml.(in)
...
- name: VfsSecond
args:
- -f
- fstab
...
CMakeLists.txt
...
set_target_properties (${vfs_ENTITY} PROPERTIES
EXTRA_ARGS
" - -f
- fstab")
...
Использование "внешнего" файла fstab
Если файл fstab
находится не в ROMFS-образе, а в другой файловой системе, то для использования этого файла необходимо установить для программы VFS следующие параметры запуска и переменные окружения:
ROOTFS
. Эта переменная окружения позволяет монтировать в корневую директорию файловую систему, содержащую файл fstab
.UNMAP_ROMFS
. Если эта переменная окружения определена, то поиск файла fstab
будет выполнен в файловой системе, заданной через переменную окружения ROOTFS
.-f
. Этот параметр запуска используется, чтобы монтировать файловые системы, указанные в файле fstab
.В этих примерах при запуске программы VFS в корневую директорию будет монтирована файловая система ext2, в которой должен находиться файл fstab
по пути /etc/fstab
:
init.yaml.(in)
...
- name: VfsThird
args:
- -f
- /etc/fstab
env:
ROOTFS: ramdisk0,0 / ext2 0
UNMAP_ROMFS: 1
...
CMakeLists.txt
...
set_target_properties (${vfs_ENTITY} PROPERTIES
EXTRA_ARGS
" - -f
- /etc/fstab"
EXTRA_ENV
" ROOTFS: ramdisk0,0 / ext2 0
UNMAP_ROMFS: 1")
...
В начало