mirror of
https://github.com/clearlinux/graphene.git
synced 2026-09-06 05:41:37 +00:00
136 lines
7.3 KiB
Plaintext
136 lines
7.3 KiB
Plaintext
# OpenVINO (object_detection_sample_ssd) manifest example
|
|
#
|
|
# This manifest was prepared and tested on Ubuntu 18.04.
|
|
|
|
libos.entrypoint = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/object_detection_sample_ssd"
|
|
|
|
# Path to the library OS
|
|
loader.preload = "file:$(GRAPHENE_DIR)/Runtime/libsysdb.so"
|
|
|
|
# Graphene log level
|
|
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"
|
|
|
|
# Read application arguments directly from the command line. Don't use this on production!
|
|
loader.insecure__use_cmdline_argv = 1
|
|
|
|
# Environment variables
|
|
loader.env.LD_LIBRARY_PATH = "/lib:$(OPENVINO_DIR)/inference-engine/temp/tbb/lib:$(ARCH_LIBDIR):/usr/$(ARCH_LIBDIR)"
|
|
|
|
# Mounted FSes. The following "chroot" FSes mount a part of the host FS into the
|
|
# guest. Other parts of the host FS will not be available in the guest.
|
|
|
|
# Default glibc files, mounted from the Runtime directory in GRAPHENE_DIR.
|
|
fs.mount.lib.type = "chroot"
|
|
fs.mount.lib.path = "/lib"
|
|
fs.mount.lib.uri = "file:$(GRAPHENE_DIR)/Runtime"
|
|
|
|
# Host-level libraries (e.g., /lib/x86_64-linux-gnu) required by OpenVINO.
|
|
fs.mount.lib2.type = "chroot"
|
|
fs.mount.lib2.path = "$(ARCH_LIBDIR)"
|
|
fs.mount.lib2.uri = "file:$(ARCH_LIBDIR)"
|
|
|
|
# More host-level libraries (e.g., /usr/lib/x86_64-linux-gnu) required by OpenVINO.
|
|
fs.mount.lib3.type = "chroot"
|
|
fs.mount.lib3.path = "/usr/$(ARCH_LIBDIR)"
|
|
fs.mount.lib3.uri = "file:/usr/$(ARCH_LIBDIR)"
|
|
|
|
# Host-level directory to NSS files required by Glibc + NSS libs.
|
|
fs.mount.etc.type = "chroot"
|
|
fs.mount.etc.path = "/etc"
|
|
fs.mount.etc.uri = "file:/etc"
|
|
|
|
# Mount the current working directory
|
|
fs.mount.cwd.type = "chroot"
|
|
fs.mount.cwd.path = "$(OPENVINO_DIR)"
|
|
fs.mount.cwd.uri = "file:$(OPENVINO_DIR)"
|
|
|
|
# SGX general options
|
|
|
|
# Set the virtual memory size of the SGX enclave. For SGX v1, the enclave
|
|
# size must be specified during signing. If OpenVINO needs more virtual memory
|
|
# than the enclave size, Graphene will not be able to allocate it.
|
|
sgx.enclave_size = "2G"
|
|
|
|
# Set the maximum number of enclave threads. For SGX v1, the number of enclave
|
|
# TCSes must be specified during signing, so the application cannot use more
|
|
# threads than the number of TCSes. Note that Graphene also creates an internal
|
|
# thread for handling inter-process communication (IPC), and potentially another
|
|
# thread for asynchronous events. Therefore, the actual number of threads that
|
|
# the application can create is (sgx.thread_num - 2).
|
|
#
|
|
# We (somewhat arbitrarily) specify 16 threads since OpenVINO is multithreaded.
|
|
sgx.thread_num = 16
|
|
|
|
# SGX trusted files
|
|
|
|
sgx.trusted_files.object_detection_sample_ssd = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/object_detection_sample_ssd"
|
|
|
|
# Glibc libraries
|
|
sgx.trusted_files.ld = "file:$(GRAPHENE_DIR)/Runtime/ld-linux-x86-64.so.2"
|
|
sgx.trusted_files.libc = "file:$(GRAPHENE_DIR)/Runtime/libc.so.6"
|
|
sgx.trusted_files.libm = "file:$(GRAPHENE_DIR)/Runtime/libm.so.6"
|
|
sgx.trusted_files.libdl = "file:$(GRAPHENE_DIR)/Runtime/libdl.so.2"
|
|
sgx.trusted_files.librt = "file:$(GRAPHENE_DIR)/Runtime/librt.so.1"
|
|
sgx.trusted_files.libutil = "file:$(GRAPHENE_DIR)/Runtime/libutil.so.1"
|
|
sgx.trusted_files.libpthread = "file:$(GRAPHENE_DIR)/Runtime/libpthread.so.0"
|
|
|
|
# Name Service Switch (NSS) libraries (Glibc dependencies)
|
|
sgx.trusted_files.libnsscompat = "file:$(ARCH_LIBDIR)/libnss_compat.so.2"
|
|
sgx.trusted_files.libnssfiles = "file:$(ARCH_LIBDIR)/libnss_files.so.2"
|
|
sgx.trusted_files.libnssnis = "file:$(ARCH_LIBDIR)/libnss_nis.so.2"
|
|
|
|
# libNSL is a dependency of libnss_compat above
|
|
sgx.trusted_files.libnsl = "file:$(ARCH_LIBDIR)/libnsl.so.1"
|
|
|
|
# OpenVINO C++ dependencies
|
|
sgx.trusted_files.libcpp = "file:/usr/$(ARCH_LIBDIR)/libstdc++.so.6"
|
|
sgx.trusted_files.libgcc = "file:$(ARCH_LIBDIR)/libgcc_s.so.1"
|
|
sgx.trusted_files.libnuma = "file:/usr/$(ARCH_LIBDIR)/libnuma.so.1"
|
|
sgx.trusted_files.libxml2 = "file:/usr/$(ARCH_LIBDIR)/libxml2.so.2"
|
|
sgx.trusted_files.libicuuc = "file:/usr/$(ARCH_LIBDIR)/libicuuc.so.60"
|
|
sgx.trusted_files.libz = "file:$(ARCH_LIBDIR)/libz.so.1"
|
|
sgx.trusted_files.liblzma = "file:$(ARCH_LIBDIR)/liblzma.so.5"
|
|
sgx.trusted_files.libicudata = "file:/usr/$(ARCH_LIBDIR)/libicudata.so.60"
|
|
|
|
# OpenVINO main libraries
|
|
sgx.trusted_files.libformatreader = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libformat_reader.so"
|
|
sgx.trusted_files.libinferencenegine = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libinference_engine.so"
|
|
sgx.trusted_files.libmkldnnplugin = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libMKLDNNPlugin.so"
|
|
sgx.trusted_files.libgnapplugin = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libGNAPlugin.so"
|
|
sgx.trusted_files.libcldnnpplugin = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libclDNNPlugin.so"
|
|
sgx.trusted_files.libmyriadplugin = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libmyriadPlugin.so"
|
|
sgx.trusted_files.libngraph = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libngraph.so"
|
|
sgx.trusted_files.libHeteroPlugin = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libHeteroPlugin.so"
|
|
sgx.trusted_files.libMultiDevicePlugin = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libMultiDevicePlugin.so"
|
|
sgx.trusted_files.libinferenceengine_onnx_reader = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libinference_engine_onnx_reader.so"
|
|
sgx.trusted_files.libinferenceengine_ir_reader = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libinference_engine_ir_reader.so"
|
|
sgx.trusted_files.libinferenceengine_legacy = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libinference_engine_legacy.so"
|
|
sgx.trusted_files.libinferenceengine_transformations = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libinference_engine_transformations.so"
|
|
sgx.trusted_files.libinferenceengine_lptransformations = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/libinference_engine_lp_transformations.so"
|
|
|
|
# OpenVINO OpenCV libraries
|
|
sgx.trusted_files.libimgcodecs = "file:$(OPENVINO_DIR)/inference-engine/temp/opencv_4.3.0_ubuntu18/opencv/lib/libopencv_imgcodecs.so.4.3"
|
|
sgx.trusted_files.libimgproc = "file:$(OPENVINO_DIR)/inference-engine/temp/opencv_4.3.0_ubuntu18/opencv/lib/libopencv_imgproc.so.4.3"
|
|
sgx.trusted_files.libopencvcore = "file:$(OPENVINO_DIR)/inference-engine/temp/opencv_4.3.0_ubuntu18/opencv/lib/libopencv_core.so.4.3"
|
|
|
|
# OpenVINO TBB dependencies
|
|
sgx.trusted_files.libtbbmalloc = "file:$(OPENVINO_DIR)/inference-engine/temp/tbb/lib/libtbbmalloc.so.2"
|
|
sgx.trusted_files.libtbb = "file:$(OPENVINO_DIR)/inference-engine/temp/tbb/lib/libtbb.so.2"
|
|
sgx.trusted_files.libtbbbind = "file:$(OPENVINO_DIR)/inference-engine/temp/tbb/lib/libtbbbind.so.2"
|
|
sgx.trusted_files.libhwloc = "file:$(OPENVINO_DIR)/inference-engine/temp/tbb/lib/libhwloc.so.5"
|
|
|
|
# OpenVINO SSD300 model
|
|
sgx.trusted_files.pluginsxml = "file:$(OPENVINO_DIR)/bin/intel64/$(OPENVINO_BUILD)/lib/plugins.xml"
|
|
sgx.trusted_files.modelxml = "file:$(MODEL_DIR)/VGG_VOC0712Plus_SSD_300x300_ft_iter_160000.xml"
|
|
sgx.trusted_files.modelbin = "file:$(MODEL_DIR)/VGG_VOC0712Plus_SSD_300x300_ft_iter_160000.bin"
|
|
|
|
# OpenVINO images (allowed instead of trusted for simplicity)
|
|
sgx.allowed_files.imagesdir = "file:images"
|
|
|
|
# Name Service Switch (NSS) files (Glibc reads these files)
|
|
sgx.allowed_files.nsswitch = "file:/etc/nsswitch.conf"
|
|
sgx.allowed_files.ethers = "file:/etc/ethers"
|
|
sgx.allowed_files.hosts = "file:/etc/hosts"
|
|
sgx.allowed_files.group = "file:/etc/group"
|
|
sgx.allowed_files.passwd = "file:/etc/passwd"
|