При запуске программ VfsRamFs и VfsSdCardFs по умолчанию монтируется только файловая система 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")
...
В начало