KasperskyOS Community Edition 1.3
build_kos_qemu_image()
build_kos_qemu_image()
Команда объявлена в файле /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".
Идентификатор статьи: cmake_build_qemu, Последнее изменение: 27 янв. 2025 г.