This command is declared in the file /opt/KasperskyOS-Community-Edition-<version>/toolchain/share/cmake/Modules/platform/image.cmake
.
build_kos_hw_image(NAME ...)
The command creates a CMake
target for building a solution image for the hardware platform.
Parameters:
NAME
– name of the CMake
target for building a solution image. Required parameter.PERFCNT_KERNEL
– use the kernel with performance counters if it is available in KasperskyOS Community Edition.EINIT_ENTITY
– name of the executable file that will be used to start the Einit
program.EXTRA_XDL_DIR
– additional directories to include when building the Einit
program.CONNECTIONS_CFG
– path to the init.yaml file or init.yaml.in template.SECURITY_PSL
– path to the security.psl file or security.psl.in template.KLOG_ENTITY
– target for building the Klog
system program, which is responsible for the security audit. If the target is not specified, the audit is not performed.IMAGE_BINARY_DIR_BIN
– directory for the final image and other artifacts. The default directory is CMAKE_CURRENT_BINARY_DIR
.NO_AUTO_BLOB_CONTAINER
– solution image will not include the BlobContainer
program that is required for working with dynamic libraries in shared memory. For more details, refer to Including the BlobContainer system program in a KasperskyOS-based solution.PACK_DEPS
, PACK_DEPS_COPY_ONLY
, PACK_DEPS_LIBS_PATH
, and PACK_DEPS_COPY_TARGET
– parameters that define the method used to add dynamic libraries to the solution image.GINGER_ENABLE
– enable (GINGER_ENABLE TRUE
) or disable (GINGER_ENABLE FALSE
) the Ginger template engine.GINGER_DEFINITIONS
– set of variables used when expanding Ginger PSL templates. For example, GINGER_DEFINITIONS "foo=bar baz=quux USE_DYNLD"
sets the foo
variable to bar
, sets the baz
variable to quux
, and sets the USE_DYNLD
variable to TRUE
. The USE_DYNLD
variable is set to TRUE
because variables used when expanding Ginger PSL templates are set to TRUE
by default.GINGER_DUMP_DIR
– path to the directory where PSL files received from Ginger PSL templates will be stored. These PSL files are needed only to verify what was obtained as a result of expanding Ginger PSL templates, and are not used to generate source code of the Kaspersky Security Module. (When source code of the security module is generated, Ginger PSL templates are expanded in memory irrespective of whether or not the GINGER_DUMP_DIR
parameter is being used.) The names of PSL files are generated based on the absolute paths to Ginger PSL templates. For example, the PSL file named foo!bar!baz.psl
corresponds to the Ginger PSL template located at the path /foo/bar/baz.psl
.IMAGE_FILES
– executable files of applications and system programs (except the Einit
program) and any other files to be added to the ROMFS image.To add multiple applications or files, you can use multiple IMAGE_FILES
parameters.
<path to files>
– free parameters like IMAGE_FILES
.Example call:
build_kos_hw_image ( kos-image
EINIT_ENTITY EinitHw
CONNECTIONS_CFG "src/init.yaml.in"
SECURITY_CFG "src/security.cfg.in"
IMAGE_FILES ${ENTITIES})
For an example of using this command, see the article titled CMakeLists.txt files for building the Einit program.
Page top