build_kos_qemu_image()
build_kos_qemu_image()
Команда объявлена в файле /opt/KasperskyOS-Community-Edition-<platform>-<version>/toolchain/share/cmake/Modules/platform/kos_image/image.cmake.
build_kos_qemu_image(NAME ...)
Команда создает CMake-цель сборки образа решения для QEMU.
Параметры:
NAME– имяCMake-цели для сборки образа решения. Обязательный параметр.GDBSTUB_KERNEL– использовать ядро с GDB-сервером.EINIT_ENTITY– имя исполняемого файла, из которого будет запускаться программаEinit.EXTRA_XDL_DIR– дополнительные директории для включения при сборке программыEinit.CONNECTIONS_CFG– путь до файлаinit.yamlили шаблона init.yaml.in.SECURITY_PSL– путь до файлаsecurity.pslили шаблона security.psl.in.KLOG_ENTITY– цель сборки системной программыKlog, отвечающей за аудит безопасности. Если цель не указана – аудит не выполняется.IMAGE_BINARY_DIR_BIN– директория для финального образа и других артефактов, по умолчанию совпадает сCMAKE_CURRENT_BINARY_DIR.NO_AUTO_BLOB_CONTAINER– не включать в образ решения программуBlobContainer, необходимую для работы с динамическими библиотеками в разделяемой памяти. Подробнее см. "Включение системной программы BlobContainer в решение на базе KasperskyOS".PACK_DEPS_COPY_ONLY,PACK_DEPS_LIBS_PATH,PACK_DEPS_COPY_TARGET– параметры, задающие способ добавления динамических библиотек в образ решения.PACK_DEPS_EXTRA_LIBRARIES– пути к файлам, которые необходимо скопировать в директорию/libпри сборке решения.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.EDL_TARGETS– именаCMake-целей, от которых зависит сборка модуля безопасности. Переданные в этом параметре цели будут собраны до начала сборки модуля безопасности.QEMU_DEPENDENCIES– именаCMake-целей, которые должны быть собраны до запуска образа решения в эмуляторе QEMU.QEMU_USER_NETWORK_FLAGS– флаги для установки сетевых параметров при запуске QEMU.QEMU_FLAGS– дополнительные флаги для запуска QEMU.BOOTARGS– параметры для передачи загрузчику при запуске образа решения в эмуляторе QEMU.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_PSL "src/security.psl.in"
IMAGE_FILES ${ENTITIES})
Пример использования команды см. в статье "Файлы CMakeLists.txt для сборки программы Einit".
Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!