Монтирование файловых систем при запуске VFS

21 мая 2024

ID mount_on_start

При запуске программы 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 следующие параметры запуска и переменные окружения:

  1. ROOTFS. Эта переменная окружения позволяет монтировать в корневую директорию файловую систему, содержащую файл fstab.
  2. UNMAP_ROMFS. Если эта переменная окружения определена, то поиск файла fstab будет выполнен в файловой системе, заданной через переменную окружения ROOTFS.
  3. -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")

...

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