Legato KConfig Options

Build-time configuration options.


Legato Configuration

VIRT_TARGET_ARCH: Hidden. Only set by other selections.
Type: string
Defaults: Depends on:
Set the name of the virtual target platform, if applicable. This value is determined by the target platform selection.
General Setup

EXPERIMENTAL: Prompt for experimental (alpha-quality) features
Type: bool
Default: "n"
Experimental features are usually new features that are being introduced for testing and feedback from a wider audience. They can be enabled to get a preview of new functionality. Be aware that experimental features are subject to change before being released as a regular feature. The use of experimental features in a production environment is strongly discouraged.
Target Hardware Platform
Default: TARGET_LOCALHOST
Choose one of:
TARGET_LOCALHOST: Localhost (localhost)
Type: bool
Run on local Linux host.
TARGET_VIRT_X86: Virtual x86 (virt-x86)
Type: bool
Run on virtual x86 platform.
TARGET_VIRT_ARM: Virtual ARM (virt-arm)
Type: bool
Run on virtual ARM platform.
TARGET_RASPI: Raspberry Pi (raspi)
Type: bool
Run on a Raspberry Pi.
TARGET_AR7: SWI AR755x (ar7)
Type: bool
Run on a Sierra Wireless AR755x.
TARGET_AR758X: SWI AR758x (ar758x)
Type: bool
Run on a Sierra Wireless AR758x.
TARGET_AR759X: SWI AR759x (ar759x)
Type: bool
Run on a Sierra Wireless AR759x.
TARGET_AR86: SWI AR86xx (ar86)
Type: bool
Run on a Sierra Wireless AR86xx.
TARGET_WP85: SWI WP85xx (wp85)
Type: bool
Run on a Sierra Wireless WP85xx.
TARGET_WP750X: SWI WP750x (wp750x)
Type: bool
Run on a Sierra Wireless WP750x.
TARGET_WP76XX: SWI WP76xx (wp76xx)
Type: bool
Run on a Sierra Wireless WP76xx.
TARGET_WP77XX: SWI WP77xx (wp77xx)
Type: bool
Run on a Sierra Wireless WP77xx.
TARGET_CUSTOM: Custom
Type: bool
Run on a custom hardware platform.
Target Operating System
Default: LINUX
Choose one of:
LINUX: Linux
Type: bool
Run on Linux.
CUSTOM_OS: Custom (EXPERIMENTAL)
Type: bool
Depends on:
Run on another operating system, such as a proprietary OS distribution. A custom framework adaptor is required in this case.
RTOS: RTOS
Type: bool
Default: "y" if CUSTOM_OS
Selected operating system is a real-time operating system (RTOS).
POSIX: POSIX compliant operating system
Type: bool
Defaults: Indicate Legato is running on a POSIX platform.
NETWORK: Network stack
Type: bool
Default: "y"
Target platform has a network stack available.
LWIP: Using lwIP network stack (EXPERIMENTAL)
Type: bool
Defaults: Depends on:
Target platform is using the Lightweight IP (lwIP) network stack.
FILESYSTEM: File system
Type: bool
Default: "y"
Target platform has support for a file system.
QMI: Platform uses QMI
Type: bool
Default: "n"
Target platform uses the Qualcomm Messaging Interface to communicate with the cellular modem.
QMI_NO_QMUX: No QMUX support is available in QMI
Type: bool
Default: "n" if QMI
Target platform uses QMI but does not support the (deprecated) QMUX API.
SDEF: Default system definition file
Type: string
Defaults: Default Legato system definition (.sdef) file to use. This system is built along with the framework. Users may also later create other systems later using their own .sdef files.
USE_CLANG: Use Clang for compilation
Type: bool
Default: "n"
Use Clang rather than GCC for compiling C and C++ sources.
USE_CCACHE: Use CCache
Type: bool
Defaults:
  • "n" if !"y"
  • !"y"
Use CCache to speed up compilation times.
CCACHE: CCache command
Type: string
Default: "ccache" if USE_CCACHE
CCache executable to use when compiling.
READ_ONLY: Read-only image
Type: bool
Defaults: Generate a read-only image for the target, in addition to the default read-write image.
STRIP_STAGING_TREE: Strip staging tree
Type: bool
Default: "y"
Strip files staged for the target image.
DEBUG: Debug build
Type: bool
Default: "n"
Build with debug compiler flags turned on, and debugging code features enabled.
TEST_COVERAGE: Code coverage build
Type: bool
Default: "n"
Build with code coverage compiler flags turned on.
TEST_COVERAGE_DIR: On-target code coverage directory
Type: string
Defaults: On-target directory to write runtime code coverage results to.
Framework

CUSTOM_FA: Use custom framework adaptor (EXPERIMENTAL)
Type: bool
Defaults: Customize the Legato framework adaptor for the target platform.
CUSTOM_FA_PATH: Path to custom OS adaptor sources directory
Type: string
Path of custom OS adaptor source directory relative to the legato/ root directory. This source directory should contain liblegato/ and include/ directories containing the source code needed to support the custom operating system.
BUILD_TARGET_TOOLS: Build on-target command-line tools
Type: bool
Defaults: Include Legato's command-line tools (inspect, config, sdir, etc.) for the target.
RTOS_TARGET_TOOL_RESET: Include the reset tool
Type: bool
Default: "n" if RTOS && BUILD_TARGET_TOOLS
Depends on:
Select this if you want to build and install the "reset" tool. This tools reboots the CPU.
RTOS_TARGET_TOOL_INSPECT: Include the inspect tool
Type: bool
Default: "y" if RTOS && BUILD_TARGET_TOOLS
Depends on:
Select this if you want to build and install the "inspect" tool. This tool provides details of the state and resource usage of many Legato objects.
RUNTIME_DIR: Runtime directory
Type: string
Default: "/tmp/legato" if POSIX
Directory to use for runtime state files, such as UNIX domain sockets.
SOTA: Enable software-over-the-air (SOTA) updates
Type: bool
Defaults: Enable support for SOTA updates. SOTA is not supported on non-POSIX systems.
PROBATION_PERIOD: Update probation period
Type: int
Range:
  • 10 - 4294967 if SOTA
Default: 1800 if SOTA
Default software update probationary period in seconds. After this period of time has elapsed with no failures, it is marked as good. This value can be overridden at runtime by the LE_PROBATION_MS environment variable.
PYTHON: Enable Python support (EXPERIMENTAL)
Type: bool
Default: "n" if POSIX && EXPERIMENTAL
Depends on:
Enable support for Python. Python is not supported on non-POSIX systems.
PYTHON_EXECUTABLE: Python executable
Type: string
Default: "python2.7" if PYTHON
Python executable to use for building Python support. This may be set to an absolute path.
JAVA: Enable Java support (EXPERIMENTAL)
Type: bool
Default: "n" if POSIX && EXPERIMENTAL
Depends on:
Enable support for Java. Java is not supported on non-POSIX systems.
JDK_INCLUDE_DIR: JDK include directory
Type: string
Default: "/usr/lib/jvm/java-8-openjdk-amd64/include" if JAVA
Java Development Kit include directory to use when building Java support.
EJDK_DIR: Embedded Java Developer Kit directory
Type: string
Default: "/usr/local/share/jvm_arm" if JAVA
Path to Oracle's Embedded Java Developer Kit, needed if that JVM is to be bundled with the system.
THREAD_REALTIME_ONLY: Use real-time priority for all threads
Type: bool
Default: "n"
Force Legato to use only real-time priorities for tasks.
Memory allocation failure behaviour
Default: MEM_ALLOC_FORCE
Choose one of:
MEM_ALLOC_FORCE: Force
Type: bool
Force allocation by expanding the pool onto the heap as necessary.
MEM_ALLOC_ASSERT: Assert
Type: bool
Abort the program with an error if the pool cannot satisfy the request.
MEM_HIBERNATION: Support memory compaction for hibernate to RAM
Type: bool
Default: "y" if RTOS
Some chips can conserve memory by powering off some memory banks during hibernation. This option enables compacting memory used by Legato to allow powering off more memory banks during hibernation.
Security Features

ENABLE_SMACK: Enable SMACK for access controls
Type: bool
Default: !"n" if LINUX && !TARGET_LOCALHOST && !TARGET_RASPI
Enable the Simplified Mandatory Access Control Kernel (SMACK) security module on Linux for access controls.
SMACK_ONLYCAP: Enable SMACK onlycap
Type: bool
Default: !"y" if ENABLE_SMACK
Require a specific SMACK label for CAP_MAC_ADMIN and CAP_MAC_OVERRIDE to be effective. The label is typically set in /smack/onlycap.
SMACK_ATTR_NAME: SMACK attribute name
Type: string
Default: "security.@ref SMACK64" if ENABLE_SMACK
Name of the Legato SMACK attribute.
SMACK_ATTR_VALUE: SMACK attribute value
Type: string
Default: "_" if ENABLE_SMACK
Value of the Legato SMACK attribute.
ENABLE_IMA: Enable IMA for file integrity checking
Type: bool
Default: "n" if LINUX && !TARGET_LOCALHOST
Depends on:
Enable the Integrity Measurement Architecture (IMA) on Linux to prevent accidental or malicious file system changes.
IMA_PRIVATE_KEY: IMA private key location
Type: string
Default: "" if ENABLE_IMA
File to load the IMA private key from.
IMA_PUBLIC_CERT: IMA public certificate location
Type: string
Default: "" if ENABLE_IMA
File to load the IMA public certificate from.
IMA_SMACK: SMACK label for IMA
Type: string
Default: "imaLegato" if ENABLE_SMACK && ENABLE_IMA
Depends on:
SMACK label to use for IMA purposes.
ENABLE_IOT_KEYSTORE_API: Enable IoT KeyStore library
Type: bool
Default: "n" if EXPERIMENTAL
Enable Legato API for the IoT KeyStore library.
Performance Tuning

REDUCE_FOOTPRINT: Reduce memory and storage use where possible
Type: bool
Default: "n"
Try to reduce the memory and storage footprint of Legato. This may use alternate data structures which are optimized for size and reduce the scale of some tests. Selecting this option may result in lower performance and slower applications.
STATIC_THREAD_STACKS: Statically allocate thread stacks
Type: bool
Default: "n" if RTOS
Allocate stack space for Legato threads from static memory (bss) rather than from the heap.
MEM_POOLS: Use memory pools
Type: bool
Default: "y"
Use memory pools for dynamic memory allocation. Memory pools help prevent memory fragmentation, but require that the pools be sized appropriately for the application. Disabling this option will still allocate memory using the memory pool interface (le_mem), but switches the internal behaviour to use malloc and free on a per-block basis. This allows tools like Valgrind to accurately track the allocations and de-allocations at the cost of potential memory fragmentation.
ENABLE_LE_JSON_API: Include le_json APIs
Type: bool
Default: "y"
Include le_json APIs in liblegato. Disabling this config will make le_json APIs unavailable.
JSON_PARSER_BUFFER_SIZE: JSON parser buffer size
Type: int
Defaults: The maximum size of the Legato JSON parser buffer, used for storing string values, object member names, and other data types.
MAX_EVENT_POOL_SIZE: Maximum event pool size
Type: int
Range:
Default: 30 if MEM_POOLS
The maximum number of objects in the process-wide event pool, from which the event objects are allocated.
MAX_HANDLER_POOL_SIZE: Maximum event handler pool size
Type: int
Range:
Default: 15 if MEM_POOLS
The maximum number of objects in the process-wide handler pool, from which all handler objects are allocated.
MAX_QUEUED_FUNCTION_POOL_SIZE: Maximum queued event function pool size
Type: int
Range:
Default: 15 if MEM_POOLS
The maximum number of objects in the process-wide queued function report pool, from which Queued Function reports are allocated. Per event ID reports are also allocated from this pool.
DEFAULT_PUB_SUB_EVENT_REPORT_SIZE: Default size for publish-subscribe event reports
Type: int
Range:
Default: 512 if MEM_POOLS
This value is used as default size for publish subscribe event reports allocated out of the standard report pool. Event reports larger than this have a separate pool created for each report type.
MAX_FD_MONITOR_POOL_SIZE: Maximum file descriptor monitor pool size
Type: int
Range:
Default: 10 if MEM_POOLS
The maximum number of objects in the process-wide FD monitor pool, from which all FD monitor objects are allocated.
MAX_SUB_POOLS_POOL_SIZE: Maximum memory pool sub-pools
Type: int
Range:
Default: 8 if MEM_POOLS
The maximum number of sub-pool objects in the memory sub-pools pool. These are control structures used for managing the subdivision of memory pools.
MAX_MUTEX_POOL_SIZE: Maximum mutex pool size
Type: int
Range:
Default: 20 if MEM_POOLS
The maximum number of mutex objects in the process-wide mutex pool, from which all Legato mutexes are allocated.
MAX_SEM_POOL_SIZE: Maximum semaphore pool size
Type: int
Range:
Default: 64 if MEM_POOLS
The maximum number of semaphore objects in the process-wide semaphore pool, from which all Legato semaphores are allocated.
MAX_THREAD_POOL_SIZE: Maximum thread pool size
Type: int
Range:
Default: 20 if MEM_POOLS
The maximum number of thread objects in the process-wide thread pool, from which all Legato threads are allocated.
MAX_THREAD_DESTRUCTOR_POOL_SIZE: Maximum thread destructor pool size
Type: int
Range:
Defaults: The maximum number of thread destructors in the process-wide thread destructor pool, from which all thread destructor objects are allocated.
MAX_TIMER_POOL_SIZE: Maximum timer pool size
Type: int
Range:
Default: 40 if MEM_POOLS
The maximum number of timer objects in the process-wide timer pool, from which all Legato timers are allocated.
MAX_PATH_ITERATOR_POOL_SIZE: Maximum path iterator count
Type: int
Range:
Default: 10 if MEM_POOLS
The maximum number of path iterator in the process-wide iterator pools, from which all Legato path iterators are allocated.
MAX_MSG_LOCAL_CLIENT_SESSION_POOL_SIZE: Maximum local client messaging sessions
Type: int
Range:
Defaults: The maximum number of simultaneous messaging sessions supported with local clients.
MAX_ARG_OPTIONS: Maximum number of command line options
Type: int
Range:
Defaults: Total number of command line options that can be handled by an app. On RTOS, this pool is a shared resource for all apps.
MAX_ARG_POSITIONAL_CALLBACKS: Maximum number of positional argument callbacks
Type: int
Range:
Defaults: Total number of command line positional arguments that can be handled by an app. On RTOS, this pool is a shared resource for all apps.
CLI_STACK_SIZE: Size of CLI thread stack
Type: int
Range:
  • 0 - 4294967295 if RTOS
Default: 2048 if RTOS
All CLI commands are run by CLI thread. This value is a size (in bytes) of stack for the CLI thread.
Diagnostic Features

Static log level filter
Defaults: Choose one of:
LOG_STATIC_FILTER_DEBUG: Debug
Type: bool
Include all statements up to and including debug level.
LOG_STATIC_FILTER_INFO: Info
Type: bool
Include all statements up to and including info level.
LOG_STATIC_FILTER_WARN: Warning
Type: bool
Include all statements up to and including warning level.
LOG_STATIC_FILTER_ERR: Error
Type: bool
Include all statements up to and including error level.
LOG_STATIC_FILTER_CRIT: Critical
Type: bool
Include all statements up to and including critical level.
LOG_STATIC_FILTER_EMERG: Emergency
Type: bool
Include only emergency-level log statements.
LOG_STATIC_FILTER_NO_LOG: No logging
Type: bool
Disable all logging statements.
ENABLE_SEGV_HANDLER: Enable SIGSEGV handler
Type: bool
Default: "y" if LINUX
When a segmentation fault occurs, use signal derivation and sigsetjmp()/siglongjmp() to try and survive the invalid memory access long enough to generate a backtrace. This handler relies on undefined behaviour of sigsetjmp() and is therefore not guaranteed to work.
ENABLE_BACKTRACE: Enable Legato assertion backtraces
Type: bool
Default: "y"
Print backtraces when a Legato assertion is triggered. This can be helpful in debugging errors.
USE_GUARD_BAND: Enable memory guard bands
Type: bool
Default: "y"
Insert chunks of memory into each allocated memory block before and after the user data portion. These "guard bands" are filled with a special pattern that is unlikely to occur in normal data. Whenever a block is allocated or released, the guard bands are checked for corruption and any corruption is reported.
NUM_GUARD_BAND_WORDS: Number of guard band words
Type: int
Range:
Defaults: The number of words in each guard band. This number of words will be inserted before and after every memory allocation, increasing the allocation size in words by NUM_GUARD_BAND_WORDS * 2.
MEM_POOL_STATS: Track memory pool statistics
Type: bool
Defaults: Track memory pool statistics which are not needed during runtime. These are: - Number of overflows - Number of allocations - Maximum blocks used
LOG_FUNCTION_NAMES: Log function names
Type: bool
Defaults: Include the function name where a log message originated in the message preamble.
THREAD_SETNAME: Set names of threads created from Legato
Type: bool
Default: "y"
Use Legato thread names as the names for underlying OS threads as well. This has no effect if the OS does not allow setting thread names. If Legato thread names are disabled, this will just set the name to "<legato>."
NAMES_ENABLED: Enable names in Legato objects
Type: bool
Default: "y"
Add name fields to Legato objects (mutexes, threads, memory pools, etc) for logging, debugging, and tracing purposes. Turning this off will reduce RAM usage at the expense of traceability.
FD_MONITOR_NAMES_ENABLED: Enable names in file descriptor monitors
Type: bool
Defaults: Add a name field to Legato file descriptor monitors.
SEM_NAMES_ENABLED: Enable names in semaphores
Type: bool
Defaults: Add a name field to Legato semaphores.
MUTEX_NAMES_ENABLED: Enable names in mutexes
Type: bool
Defaults: Add a name field to Legato mutexes.
THREAD_NAMES_ENABLED: Enable names in threads
Type: bool
Default: "y" if NAMES_ENABLED
Add a name field to Legato threads.
MEM_POOL_NAMES_ENABLED: Enable names in memory pools
Type: bool
Default: "y" if NAMES_ENABLED
Add a name field to Legato memory pools.
MEM_TRACE: Enable memory pool tracing
Type: bool
Default: "n" if MEM_POOL_NAMES_ENABLED
If enabled, the memory subsystem will create a trace point for every memory pool created. The name of the tracepoint will be the same of the pool, and is of the form "component.poolName".
TIMER_NAMES_ENABLED: Enable names in timers
Type: bool
Defaults: Add a name field to Legato timers.
EVENT_NAMES_ENABLED: Enable names in events
Type: bool
Defaults: Add a name field to Legato event IDs.
HASHMAP_NAMES_ENABLED: Enable names in hashmaps
Type: bool
Defaults: Add a name field to Legato hashmaps. Disabling this also disables hashmap tracing.
SAFE_REF_NAMES_ENABLED: Enable names in safe references
Type: bool
Defaults: Add a name field to Legato safe references.
Daemon Setup

WDOG_FRAMEWORK: Enable Legato watchdog on framework services
Type: bool
Default: "y"
The watchdog observes the Legato framework daemons and, if one deadlocks, restarts the system.
WDOG_HASHTABLE_SIZE: Watchdog hashtable size
Type: int
Range:
  • 1 - 65535
Default: 31
The maximum number of watchdogs to be monitored
Framework Daemon Log Level Settings

Supervisor Log Level
Choose one of:
SUPERVISOR_LOG_LEVEL_DEBUG: Debug
Type: bool
Include all statements up to and including debug level.
SUPERVISOR_LOG_LEVEL_INFO: Info
Type: bool
Include all statements up to and including info level.
SUPERVISOR_LOG_LEVEL_WARN: Warning
Type: bool
Include all statements up to and including warning level.
SUPERVISOR_LOG_LEVEL_ERR: Error
Type: bool
Include all statements up to and including error level.
SUPERVISOR_LOG_LEVEL_CRIT: Critical
Type: bool
Include all statements up to and including critical level.
SUPERVISOR_LOG_LEVEL_EMERG: Emergency
Type: bool
Include only emergency-level log statements.
ServiceDirectory Log Level
Choose one of:
SERVICEDIRECTORY_LOG_LEVEL_DEBUG: Debug
Type: bool
Include all statements up to and including debug level.
SERVICEDIRECTORY_LOG_LEVEL_INFO: Info
Type: bool
Include all statements up to and including info level.
SERVICEDIRECTORY_LOG_LEVEL_WARN: Warning
Type: bool
Include all statements up to and including warning level.
SERVICEDIRECTORY_LOG_LEVEL_ERR: Error
Type: bool
Include all statements up to and including error level.
SERVICEDIRECTORY_LOG_LEVEL_CRIT: Critical
Type: bool
Include all statements up to and including critical level.
SERVICEDIRECTORY_LOG_LEVEL_EMERG: Emergency
Type: bool
Include only emergency-level log statements.
LogCtrlDaemon Log Level
Choose one of:
LOGCTRLDAEMON_LOG_LEVEL_DEBUG: Debug
Type: bool
Include all statements up to and including debug level.
LOGCTRLDAEMON_LOG_LEVEL_INFO: Info
Type: bool
Include all statements up to and including info level.
LOGCTRLDAEMON_LOG_LEVEL_WARN: Warning
Type: bool
Include all statements up to and including warning level.
LOGCTRLDAEMON_LOG_LEVEL_ERR: Error
Type: bool
Include all statements up to and including error level.
LOGCTRLDAEMON_LOG_LEVEL_CRIT: Critical
Type: bool
Include all statements up to and including critical level.
LOGCTRLDAEMON_LOG_LEVEL_EMERG: Emergency
Type: bool
Include only emergency-level log statements.
ConfigTree Log Level
Choose one of:
CONFIGTREE_LOG_LEVEL_DEBUG: Debug
Type: bool
Include all statements up to and including debug level.
CONFIGTREE_LOG_LEVEL_INFO: Info
Type: bool
Include all statements up to and including info level.
CONFIGTREE_LOG_LEVEL_WARN: Warning
Type: bool
Include all statements up to and including warning level.
CONFIGTREE_LOG_LEVEL_ERR: Error
Type: bool
Include all statements up to and including error level.
CONFIGTREE_LOG_LEVEL_CRIT: Critical
Type: bool
Include all statements up to and including critical level.
CONFIGTREE_LOG_LEVEL_EMERG: Emergency
Type: bool
Include only emergency-level log statements.
UpdateDaemon Log Level
Choose one of:
UPDATEDAEMON_LOG_LEVEL_DEBUG: Debug
Type: bool
Include all statements up to and including debug level.
UPDATEDAEMON_LOG_LEVEL_INFO: Info
Type: bool
Include all statements up to and including info level.
UPDATEDAEMON_LOG_LEVEL_WARN: Warning
Type: bool
Include all statements up to and including warning level.
UPDATEDAEMON_LOG_LEVEL_ERR: Error
Type: bool
Include all statements up to and including error level.
UPDATEDAEMON_LOG_LEVEL_CRIT: Critical
Type: bool
Include all statements up to and including critical level.
UPDATEDAEMON_LOG_LEVEL_EMERG: Emergency
Type: bool
Include only emergency-level log statements.
Watchdog Log Level
Choose one of:
WATCHDOG_LOG_LEVEL_DEBUG: Debug
Type: bool
Include all statements up to and including debug level.
WATCHDOG_LOG_LEVEL_INFO: Info
Type: bool
Include all statements up to and including info level.
WATCHDOG_LOG_LEVEL_WARN: Warning
Type: bool
Include all statements up to and including warning level.
WATCHDOG_LOG_LEVEL_ERR: Error
Type: bool
Include all statements up to and including error level.
WATCHDOG_LOG_LEVEL_CRIT: Critical
Type: bool
Include all statements up to and including critical level.
WATCHDOG_LOG_LEVEL_EMERG: Emergency
Type: bool
Include only emergency-level log statements.
Supervisor

SUPERV_NICE_LEVEL: Nice level
Type: int
Range:
Default: -19 if POSIX
The nice level of the Legato Supervisor, which forks other Legato processes.
SUPERV_APP_TMPFS_SIZE: App tmpfs size
Type: int
Default: 90112 if LINUX
The size in bytes of the tmpfs partition created for each sandboxed App.
Service Directory

SVCDIR_SERVER_SOCKET_NAME: Service directory server socket name
Type: string
Default: "serviceDirectoryServer"
Name of the Service Directory's server UNIX domain socket. The full path will be this name appended to the runtime directory path.
SVCDIR_CLIENT_SOCKET_NAME: Service directory client socket name
Type: string
Default: "serviceDirectoryClient"
Name of the Service Directory's client UNIX domain socket. The full path will be this name appended to the runtime directory path.
Config Tree

ENABLE_CONFIG_TREE: Enable Config Tree
Type: bool
Default: "y"
Enable the Config Tree for storing settings. The Config Tree is always enabled on Linux.
CFGTREE_MAX_USER_POOL_SIZE: Maximum user pool size
Type: int
Range:
Default: 31 if LINUX && LINUX
Depends on:
The maximum number of user objects in the configTree user pool.
CFGTREE_MAX_DSTRING_POOL_SIZE: Maximum dynamic string pool size
Type: int
Range:
Defaults: The maximum number of dynamic string objects in the configTree string pool.
CFGTREE_MAX_ITERATOR_POOL_SIZE: Maximum config iterator pool size
Type: int
Range:
Default: 20 if LINUX
The maximum number of iterator objects in the configTree iterator pool.
CFGTREE_MAX_UPDATE_POOL_SIZE: Maximum update pool size
Type: int
Range:
Default: 3 if LINUX
The maximum number of iterator objects in the configTree iterator pool. This determines the maximum number of concurrent configTree updates.
CFGTREE_MAX_NODE_POOL_SIZE: Maximum config node pool size
Type: int
Range:
Default: 100 if LINUX
The maximum number of node objects in the configTree node pool.
CFGTREE_MAX_TREE_POOL_SIZE: Maximum config tree pool size
Type: int
Range:
Default: 31 if LINUX
The maximum number of tree objects in the configTree tree pool.
CFGTREE_MAX_HANDLER_POOL_SIZE: Maximum node event handler pool size
Type: int
Range:
Default: 31 if LINUX
The maximum number of node event handler objects in the configTree handler pool.
CFGTREE_MAX_BINARY_DATA_POOL_SIZE: Maximum binary data buffer pool size
Type: int
Range:
Default: 31 if LINUX
The maximum number of binary data buffers in the configTree binary data buffer pool.
CFGTREE_MAX_ENCODED_STRING_POOL_SIZE: Maximum encoded string buffer pool size
Type: int
Range:
Default: 31 if LINUX
The maximum number of encoded string buffers in the configTree encoded string buffer pool.
CFGTREE_MAX_TREE_ITERATOR_POOL_SIZE: Maximum tree iterator pool size
Type: int
Range:
Default: 11 if LINUX
The maximum number of tree iterators in the configTree tree iterator pool.
Watchdog Daemon

WDOG_ENABLE_EXTERNAL: Enable external watchdog
Type: bool
Defaults: Kick an external hardware or software watchdog from the Legato watchdog daemon.
WDOG_PA_MODULE: Kernel module for external watchdog
Type: string
Default: "softdog" if LINUX && WDOG_ENABLE_EXTERNAL
Depends on:
Name of the kernel module to load in order to enable the external watchdog.
WDOG_PA_DEVICE: External watchdog device
Type: string
Default: "/dev/watchdog" if LINUX && WDOG_ENABLE_EXTERNAL
Depends on:
Name of the device to use to kick the external watchdog.
RPC

RPC: Enable RPC Proxy infrastructure (EXPERIMENTAL)
Type: bool
Default: "n" if EXPERIMENTAL
Select this to enable the RPC Proxy infrastructure (EXPERIMENTAL). WARNING: Enabling this feature will break backwards compatibility with existing IPC bindings and applications.
RPC_PROXY_LIBRARY: Enable RPC Proxy as a library component
Type: bool
Default: "n" if RPC && POSIX && EXPERIMENTAL
Depends on:
Select this to build the RPC Proxy as a library component that can be linked into an application or executable file.
RPC_RUNTIME_CONFIG_TREE: Use ConfigTree to store RPC Run-time configuration
Type: bool
Defaults: Depends on:
Select this to enable the RPC Proxy to store dynamic run-time configuration in the Configuration Tree.
RPC_PROXY_SERVICE_BINDINGS_MAX_NUM: Maximum number of RPC service bindings
Type: int
Range:
Default: 4 if RPC && EXPERIMENTAL
Depends on:
The maximum number of simultaneous RPC service bindings.
RPC_PROXY_FILE_STREAM_MAX_NUM: Maximum number of simultaneous file streams
Type: int
Range:
Default: 5 if RPC && EXPERIMENTAL
Depends on:
The maximum number of simultaneous RPC file streams.
RPC_PROXY_MSG_LARGE_OUT_PARAMETER_MAX_NUM: Maximum number of large string/array parameters to be buffered simultaneously
Type: int
Range:
Default: 5 if RPC && EXPERIMENTAL
Depends on:
The maximum number of large string/array parameters to be buffered simultaneously
RPC_PROXY_MSG_SMALL_OUT_PARAMETER_MAX_NUM: Maximum number of small string/array parameters to be buffered simultaneously
Type: int
Range:
Default: 10 if RPC && EXPERIMENTAL
Depends on:
The maximum number of small string/array parameters to be buffered simultaneously
RPC_PROXY_MAX_LARGE_OUT_PARAMETER_SIZE: Maximum size of a large string/array parameter
Type: int
Range:
Default: 1024 if RPC && (RTOS || RPC_PROXY_LIBRARY) && EXPERIMENTAL
Depends on:
The maximum size of a large string/array parameter
RPC_PROXY_MAX_SMALL_OUT_PARAMETER_SIZE: Maximum size of a small string/array parameter
Type: int
Range:
Default: 128 if RPC && (RTOS || RPC_PROXY_LIBRARY) && EXPERIMENTAL
Depends on:
The maximum size of a small string/array parameter
RPC_PROXY_MAX_FILE_STREAM_PAYLOAD: Maximum payload size for file stream messages
Type: int
Range:
Default: 512 if RPC && EXPERIMENTAL
Depends on:
The maximum size of a RPC message that can be sent and received between RPC-enabled systems.
RPC_PROXY_ASYNC_EVENT_HANDLER_MAX_NUM: Maximum number of async event handlers
Type: int
Range:
Default: 5 if RPC && EXPERIMENTAL
Depends on:
The maximum number of async event handlers client can register with server.
RPC_PROXY_ASYNC_EVENTS_MAX_NUM: Maximum number of simultaneous async events
Type: int
Range:
Default: 3 if RPC && EXPERIMENTAL
Depends on:
The maximum number of async events that can be buffered before they are sent out to wire or consumend by client.
RPC_PROXY_NETWORK_KEEPALIVE_SERVICE_INTERVAL: Frequency of RPC Keep-Alive network service (in seconds)
Type: int
Range:
Default: 120 if RPC && EXPERIMENTAL
Depends on:
The Frequency of Keep-Alice service, used to monitor the health of a remote RPC- enabled system.
RPC_PROXY_NETWORK_KEEPALIVE_TIMEOUT_TIMER_INTERVAL: RPC Keep-Alive time-out period (in seconds)
Type: int
Range:
Default: 30 if RPC && EXPERIMENTAL
Depends on:
The length of time the RPC Proxy will wait before declaring a remote RPC-enabled system as unreachable (DOWN).
RPC_PROXY_NETWORK_CONNECTION_RETRY_TIMER_INTERVAL: Network connection retry timer (in seconds)
Type: int
Range:
Default: 15 if RPC && EXPERIMENTAL
Depends on:
The length of time the RPC Proxy will wait before attempting to re-connect to a remote RPC-enabled system.
RPC_PROXY_CONNECT_SERVICE_REQUEST_TIMER_INTERVAL: RPC Connect-Service time-out period (in seconds)
Type: int
Range:
Default: 15 if RPC && EXPERIMENTAL
Depends on:
The length of time the RPC Proxy will wait before abandoning a pending connect- service request.
Services

SERVICES_WATCHDOG: Enable watchdog for Legato services
Type: bool
Default: "y"
The services watchdog ensures that Legato processes are restarted if they deadlock.
AirVantage Connector

AirVantage Connector application
Defaults: Choose one of:
APP_AVC_LEGACY: legacy
Type: bool
Legacy AVC implementation. Not for new devices.
APP_AVC_LWM2MCORE: lwm2mcore
Type: bool
AVC implementation based on LWM2MCore.
AVC_FEATURE_OBSERVE: Enable LWM2M observe
Type: bool
Defaults: Enable LWM2M observe.
AVC_FEATURE_AVMS_CONFIG: Enable AVMS configuration
Type: bool
Defaults: Enable AVMS configuration.
ENABLE_AV_DATA: Enable AV Data
Type: bool
Defaults: Select this to enable support for AV Data features.
SOTA: Enable software-over-the-air (SOTA) updates
Type: bool
Defaults: Depends on:
Select this to enable support for SOTA updates. SOTA is not supported on non- POSIX systems.
ENABLE_AV_SMS_COUNT: Enable AV SMS counting support for LWM2M resources lwm2m.7.0.x
Type: bool
Defaults: When checked, SMS monitoring/counting is enabled and LWM2M resources lwm2m.7.0.x return valid statistic values related to SMS counting.
AVC_HTTP_TIMEOUT_MS: AVC HTTP connection timeout (msec)
Type: int
Default: 30000
The timeout (msec) of the HTTP connection used to download the package.
AVC_FEATURE_EDM: Enable Extended Device Management (EDM)
Type: bool
Defaults: Enable SIM Reachability / Extended Device Management (EDM)
AT Service

ATSERVER_DEVICE_POOL_SIZE: Define the maximal number of AT server devices
Type: int
Default: 2
ATSERVER_USER_ERRORS: Enable user-defined AT errors
Type: bool
Defaults: Allow setting user-defined error strings in AT server. Enabling this increases the memory consumption of the AT server.
ATSERVER_TEXT_API: Enable text API
Type: bool
Defaults: Allow use of text API.
Port Service

PORT_CONFIG_IS_STATIC: The ports configuration is static
Type: bool
Defaults: Allow to choose if the ports configuration is statically defined.
PORT_JSON_CONFIG_FILE: Path to json file for Port configuration
Type: string
Default: "/legato/systems/current/apps/portService/read- only/usr/local/share/PortConfigurationFile.json" if LINUX
Do not modify the default value.
Modem Service

ENABLE_ECALL: Enable eCall support
Type: bool
Default: "y"
Enable PAN European eCall or Russian ERA GLONASS emergency calling support.
MDM_HAS_SMSC_INFORMATION: Has SMSC information
Type: bool
Default: "y"
Support SMSC (Short Message Service Centre) information in modem services. Some terminals do not include the SMSC information in the PDU format string and in those cases, this value must be deselected.
SIM_ENABLE_AUTOSWITCH: Enable SIM auto switch support
Type: bool
Defaults: Enable SIM auto switch support.
MODEM_DAEMON_PREFERRED_NETWORK: Enable preferred network management API
Type: bool
Default: "y" if POSIX
Allow managing preferred networks via Legato API.
ENABLE_PCI_SCAN: Enable use of PCI scan related APIs
Type: bool
Defaults: Allow managing PCI scan information via Legato API.
ENABLE_TIME_TO_OS: Enable provide time and date to OS
Type: bool
Defaults: Allow the modem service to provide time information to the OS.
ENABLE_SIM_WAKEUP_FALLBACK: Enable SIM fallback options
Type: bool
Default: "n"
Allow the setting of SIM fallback options for device wakeup/ initialization.
ENABLE_DEFAULT_APN_SWITCHING: Enable default apn switching
Type: bool
Default: "y"
In the event that sim is roaming, the module will automatically switch to the default APN of the sim.
Secure Storage

ENABLE_SECSTORE_ADMIN: Enable secure storage administration API
Type: bool
Default: "n"
Allow administrative control of the Legato secure storage system. This permits reading, writing, and deleting secure storage files and should be used with caution.
SECSTORE_IKS_BACKEND: Use IoT Keystore as SecStore encryption engine
Type: bool
Default: "n" if EXPERIMENTAL
Use IoT Keystore as SecStore back-end to encrypt/decrypt the user data.
Positioning Service

POSITIONING_ACTIVATION_MAX: Define the maximum number of concurrent positioning activation requests
Type: int
Default: 13
ENABLE_GNSS_ACQUISITION_RATE_SETTING: Allow GNSS acquisition rate to be set via Legato API
Type: bool
Default: "y"
Data Connection Service

ENABLE_ETHERNET: Enable DCS to manage Ethernet
Type: bool
Defaults: Enable Legato Ethernet support.
FEATURE_SPISVC: Enable SPI service
Type: bool
Defaults: Enable the SPI service to allow devices to use SPI-attached peripherals.
SMS_SERVICE_ENABLED: Enable SMS Service
Type: bool
Default: "y" if POSIX
Enable SMS Service, which is not supported on RTOS systems.
MQTT Service

MQTT_CLIENT_BUFFER_SIZE_MAX_NUM: Maximum size of buffers used for MQTT Client read and write operations
Type: int
Range:
  • 0 - 4096
Default: 512
The maximum size of MQTT Client read and write buffers.
MQTT_CLIENT_SESSION_MAX_NUM: Maximum number of MQTT Client sessions
Type: int
Range:
  • 0 - 4096
Default: 5
The maximum number of MQTT Client sessions.
Components

FTP Client

SWIFTP: Using SIERRA FTP feature
Type: bool
Default: "n"
this will enable Sierra FTP feature based on le_socketlib.
FTPCLIENT_SESSION_MAX: Maximum number simultaneous FTP client sessions
Type: int
Range:
Default: 2 if LWIP || SWIFTP
Depends on:
Maximum number of simultaneous FTP client sessions permitted. This value is used for sizing memory pools.
FTPCLIENT_EVENT_MAX: Size of FTP client asynchronous event queue
Type: int
Range:
Default: 8 if LWIP
Maximum number of FTP client events that can be queued at once.
FTPCLIENT_BUFFER_SIZE: Size of FTP client data buffers
Type: int
Range:
Default: 256 if LWIP
Size in bytes of the data buffers used to queue up chunks of data for sending or receiving.
FTPCLIENT_SERVER_NAME_MAX: Maximum size of server name
Type: int
Range:
Default: 64 if LWIP || SWIFTP
Depends on:
Maximum size of FTP server name. This size includes the terminating NUL character.
FTPCLIENT_USER_NAME_MAX: Maximum size of user name
Type: int
Range:
Default: 32 if LWIP || SWIFTP
Depends on:
Maximum size of FTP user name. This size includes the terminating NUL character.
FTPCLIENT_PASSWORD_MAX: Maximum size of user name
Type: int
Range:
Default: 32 if LWIP || SWIFTP
Depends on:
Maximum size of FTP password. This size includes the terminating NUL character.
Socket Library

SOCKET_LIB_SESSION_MAX: Maximum number of simultaneous sockets
Type: int
Range:
  • 1 - 1024
Defaults: Maximum number of simultaneous sockets. This value is used for sizing memory pools.
SSL Encryption Library
Defaults: Choose one of:
SOCKET_LIB_NO_SSL: None
Type: bool
Do not use an SSL encryption library
SOCKET_LIB_USE_OPENSSL: OpenSSL
Type: bool
Use OpenSSL for SSL encryption in socket library.
SOCKET_LIB_USE_MBEDTLS: mbedTLS
Type: bool
Depends on:
Use mbedTLS for SSL encryption in socket library.
Modules

ENABLE_WIFI: Enable WiFi
Type: bool
Defaults: Enable Legato WiFi support.
Wifi Platform Adaptor
Default: WIFI_PA_TI if ENABLE_WIFI
Choose one of:
WIFI_PA_TI: TI
Type: bool
Platform adaptor for TI wireless module, such as that on the mangOH WiFi IoT card.
WIFI_PA_TI_USE_LEGATO: TI WiFi Drivers
Type: bool
Default: "n" if WIFI_PA_TI && <choice>
Depends on:
Embed TI Wilink device drivers in Legato.
WIFI_PA_TI_SIMU: TI simulator
Type: bool
Platform adaptor running a simulated TI Access Point.
Documentation

EXTERNAL_DOCS: Include external documentation
Type: bool
Defaults: Include external Doxygen documentation in the Legato documentation build.
EXTERNAL_DOCS_ROOT: External documentation root
Type: string
Defaults: Root directory to search for external documentation.
Framework Adaptor