Команда объявлена в файле /opt/KasperskyOS-Community-Edition-<version>/toolchain/share/cmake/Modules/platform/image.cmake.
build_kos_qemu_image(NAME ...)
Команда создает CMake-цель сборки образа решения для QEMU.
Параметры:
NAME – имя CMake-цели для сборки образа решения. Обязательный параметр.PERFCNT_KERNEL – использовать ядро со счетчиками производительности, если оно доступно в составе KasperskyOS Community Edition.EINIT_ENTITY – имя исполняемого файла, из которого будет запускаться программа Einit.EXTRA_XDL_DIR – дополнительные директории для включения при сборке программы Einit.CONNECTIONS_CFG – путь до файла init.yaml или шаблона init.yaml.in.SECURITY_PSL – путь до файла security.psl или шаблона security.psl.in.KLOG_ENTITY – цель сборки системной программы Klog, отвечающей за аудит безопасности. Если цель не указана – аудит не выполняется.QEMU_FLAGS – дополнительные флаги для запуска QEMU.IMAGE_BINARY_DIR_BIN – директория для финального образа и других артефактов, по умолчанию совпадает с CMAKE_CURRENT_BINARY_DIR.NO_AUTO_BLOB_CONTAINER – не включать в образ решения программу BlobContainer, необходимую для работы с динамическими библиотеками в разделяемой памяти. Подробнее см. "Включение системной программы BlobContainer в решение на базе KasperskyOS".PACK_DEPS, PACK_DEPS_COPY_ONLY, PACK_DEPS_LIBS_PATH, PACK_DEPS_COPY_TARGET – параметры, задающие способ добавления динамических библиотек в образ решения.GINGER_ENABLE – включить (GINGER_ENABLE TRUE) или выключить (GINGER_ENABLE FALSE) шаблонизатор Ginger.GINGER_DEFINITIONS – набор переменных, используемых при раскрытии PSL-шаблонов Ginger. Например, GINGER_DEFINITIONS "foo=bar baz=quux USE_DYNLD" задает переменную foo со значением bar, переменную baz со значением quux и переменную USE_DYNLD со значением TRUE. Переменная USE_DYNLD имеет значением TRUE, поскольку переменные, используемые при раскрытии PSL-шаблонов Ginger, по умолчанию имеют значение TRUE.GINGER_DUMP_DIR – путь к директории, где будут сохранены PSL-файлы, полученные из PSL-шаблонов Ginger. Эти PSL-файлы нужны только для того, чтобы проверить, что получилось в результате раскрытия PSL-шаблонов Ginger, и не используются для генерации исходного кода модуля безопасности Kaspersky Security Module. (При генерации исходного кода модуля безопасности PSL-шаблоны Ginger раскрываются в памяти независимо от того, используется параметр GINGER_DUMP_DIR или нет.) Имена PSL-файлов формируются на основе абсолютных путей к PSL-шаблонам Ginger. Например, PSL-файл foo!bar!baz.psl соответствует PSL-шаблону Ginger, расположенному по пути /foo/bar/baz.psl.IMAGE_FILES – исполняемые файлы прикладных и системных программ (кроме программы Einit) и любые другие файлы для добавления в образ ROMFS.Для добавления нескольких программ или файлов можно использовать несколько параметров IMAGE_FILES.
<пути до файлов> – свободные параметры, тоже что IMAGE_FILES.Пример вызова:
build_kos_qemu_image ( kos-qemu-image
EINIT_ENTITY EinitQemu
CONNECTIONS_CFG "src/init.yaml.in"
SECURITY_CFG "src/security.cfg.in"
IMAGE_FILES ${ENTITIES})
Пример использования команды см. в статье "Файлы CMakeLists.txt для сборки программы Einit".
В начало