Пример embedded_vfs
Пример показывает, как встроить виртуальную файловую систему (далее VFS), поставляемую в составе KasperskyOS Community Edition, в разрабатываемую программу.
В этом примере программа Client
полностью инкапсулирует реализацию VFS из KasperskyOS Community Edition. Это позволяет избавиться от использования IPC для всех стандартных функций ввода-вывода (stdio.h
, socket.h
и так далее), например, для отладки или повышения производительности.
Программа Client
тестирует следующие операции:
- создание директории;
- создание и удаление файла;
- чтение из файла и запись в файл.
Поставляемые ресурсы
В пример входит образ жесткого диска с файловой системой FAT32 – hdd.img
.
Этот пример не содержит реализации драйверов блочных устройств, с которыми работает Client
. Эти драйверы (программы ATA
и SDCard
) поставляются в составе KasperskyOS Community Edition и добавляются в файле сборки ./CMakeLists.txt
.
Файлы примера
Код примера и скрипты для сборки находятся по следующему пути:
/opt/KasperskyOS-Community-Edition-<version>/examples/embedded_vfs
Сборка и запуск примера
Чтобы запустить пример на QEMU, перейдите в директорию с примером, соберите пример и выполните следующие команды:
$ cd build/einit
# Перед выполнением следующей команды убедитесь, что путь к
# директории с исполняемым файлом qemu-system-aarch64 сохранен в
# переменной окружения PATH. В случае отсутствия
# добавьте его в переменную PATH.
$ qemu-system-aarch64 -m 2048 -machine vexpress-a15 -nographic -monitor none -sd hdd.img -kernel kos-qemu-image
Также см. "Сборка и запуск примеров".