Legato KConfig Options
Build-time configuration options.
- Legato Configuration
VIRT_TARGET_ARCH:
Hidden. Only set by other selections.- Type:
string
Defaults:-
"arm" if TARGET_VIRT_ARM && (TARGET_VIRT_ARM || TARGET_VIRT_X86)
-
"x86" if TARGET_VIRT_X86 && (TARGET_VIRT_ARM || TARGET_VIRT_X86)
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:
POSIX:
POSIX compliant operating system- Type:
bool
Defaults:-
"y" if LINUX
-
"n"
-
SDEF:
Default system definition file- Type:
string
Defaults:-
"modules/WiFi/wifi.sdef" if ENABLE_WIFI
-
"modules/Dualsys/ar758x.sdef" if TARGET_AR758X
-
"modules/Dualsys/ar759x.sdef" if TARGET_AR759X
-
"modules/Raspi/raspi.sdef" if TARGET_RASPI
-
"localhost.sdef" if TARGET_LOCALHOST
-
"default_readonly.sdef" if READ_ONLY
-
"default.sdef"
-
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
Default:"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:-
"y" if TARGET_AR758X || TARGET_AR759X
-
"n"
-
STRIP_STAGING_TREE:
Strip staging tree- Type:
bool
Defaults:-
"y" if TARGET_AR758X || TARGET_AR759X
-
"n"
-
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:-
"" if TARGET_LOCALHOST && TEST_COVERAGE
-
"/mnt/flash/coverage" if TEST_COVERAGE
-
- Framework
CUSTOM_FA:
Use custom framework adaptor- Type:
bool
Defaults:-
"y" if CUSTOM_OS
-
"n"
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 daemons/ directories containing the source code needed to support the custom operating system.
-
BUILD_TARGET_TOOLS:
Build on-target command-line tools- Type:
bool
Defaults:-
"n" if CUSTOM_OS
-
"y"
-
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
Default:"y" if POSIX
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
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:"y" 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:"y" if POSIX && EXPERIMENTAL
Depends on:
Enable support for Java. Java is not supported on non-POSIX systems.
THREAD_REALTIME_ONLY:
Use real-time priority for all threads- Type:
bool
Default:"n"
Force Legato to use only real-time priorities for tasks. - Security Features
ENABLE_SMACK:
Enable SMACK for access controls- Type:
bool
Default:"y" if LINUX && !TARGET_LOCALHOST
Depends on:
Enable the Simplified Mandatory Access Control Kernel (SMACK) security module on Linux for access controls.
SMACK_ONLYCAP:
Enable SMACK onlycap- Type:
bool
Default:"n" 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
File to load the IMA private key from. IMA_PUBLIC_CERT:
IMA public certificate location- Type:
string
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.
- Diagnostic Features
Static log level filter
- Default:
STATIC_LOG_FILTER_INFO
Choose one of:
STATIC_LOG_FILTER_DEBUG:
Debug- Type:
bool
Include all statements up to and including debug level. STATIC_LOG_FILTER_INFO:
Info- Type:
bool
Include all statements up to and including info level. STATIC_LOG_FILTER_WARN:
Warning- Type:
bool
Include all statements up to and including warning level. STATIC_LOG_FILTER_ERR:
Error- Type:
bool
Include all statements up to and including error level. STATIC_LOG_FILTER_CRIT:
Critical- Type:
bool
Include all statements up to and including critical level. STATIC_LOG_FILTER_EMERG:
Emergency- Type:
bool
Include only emergency-level log 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:
-
1 - 8 if USE_GUARD_BAND
-
1 if REDUCE_FOOTPRINT && USE_GUARD_BAND
-
8 if USE_GUARD_BAND
-
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:-
"n" if REDUCE_FOOTPRINT && NAMES_ENABLED
-
"y" if NAMES_ENABLED
-
SEM_NAMES_ENABLED:
Enable names in semaphores- Type:
bool
Defaults:-
"n" if REDUCE_FOOTPRINT && NAMES_ENABLED
-
"y" if NAMES_ENABLED
-
MUTEX_NAMES_ENABLED:
Enable names in mutexes- Type:
bool
Defaults:-
"n" if REDUCE_FOOTPRINT && NAMES_ENABLED
-
"y" if NAMES_ENABLED
-
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:-
"n" if REDUCE_FOOTPRINT && NAMES_ENABLED
-
"y" if NAMES_ENABLED
-
EVENT_NAMES_ENABLED:
Enable names in events- Type:
bool
Defaults:-
"n" if REDUCE_FOOTPRINT && NAMES_ENABLED
-
"y" if NAMES_ENABLED
-
HASHMAP_NAMES_ENABLED:
Enable names in hashmaps- Type:
bool
Defaults:-
"n" if REDUCE_FOOTPRINT && NAMES_ENABLED
-
"y" if NAMES_ENABLED
-
SAFE_REF_NAMES_ENABLED:
Enable names in safe references- Type:
bool
Defaults:-
"n" if REDUCE_FOOTPRINT && NAMES_ENABLED
-
"y" if NAMES_ENABLED
-
- 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. 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 switches to use malloc/free per-block. This allows tools like Valgrind to accurately track the allocations and de-allocations at the cost of potential memory fragmentation.
MAX_EVENT_POOL_SIZE:
Maximum event pool size- Type:
int
Range:
-
1 - 65535 if MEM_POOLS
5 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:
-
1 - 65535 if MEM_POOLS
10 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:
-
1 - 65535 if MEM_POOLS
10 if MEM_POOLS
The maximum number of objects in the process-wide queued function report pool, from which Queued Function reports are allocated. -
MAX_REPORT_POOL_SIZE:
Maximum event report pool size- Type:
int
Range:
-
1 - 65535 if MEM_POOLS
1 if MEM_POOLS
The maximum number of objects in a per event ID report pool. -
MAX_FD_MONITOR_POOL_SIZE:
Maximum file descriptor monitor pool size- Type:
int
Range:
-
1 - 65535 if MEM_POOLS
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:
-
1 - 65535 if MEM_POOLS
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:
-
1 - 65535 if MEM_POOLS
4 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:
-
1 - 65535 if MEM_POOLS
4 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:
-
1 - 65535 if MEM_POOLS
4 if MEM_POOLS
The maximum number of thread objects in the process-wide thread pool, from which all Legato threads are allocated. -
- Daemon Setup
SUPERV_NICE_LEVEL:
Nice level- Type:
int
Range:
-
-20 - 19 if POSIX
-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. 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. 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_ENABLE_EXTERNAL:
Enable external watchdog- Type:
bool
Defaults:-
"y" if (TARGET_WP750X || TARGET_WP85) && LINUX
-
"n" if LINUX
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.
-
- 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:
AVC_FEATURE_OBSERVE:
Enable LWM2M observe- Type:
bool
Defaults:-
"y" if TARGET_WP85
-
"y" if TARGET_WP750X
-
"y" if TARGET_WP76XX
-
"y" if TARGET_WP77XX
-
"n"
-
AVC_FEATURE_AVMS_CONFIG:
Enable AVMS configuration- Type:
bool
Defaults:-
"y" if TARGET_WP85
-
"y" if TARGET_WP750X
-
"y" if TARGET_WP76XX
-
"y" if TARGET_WP77XX
-
"n"
-
- AT Service
ATSERVER_USER_ERRORS:
Enable user-defined errors in AT Server- Type:
bool
Defaults:-
"y" if LINUX
-
"n"
-
- 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:-
"y" if TARGET_WP76XX && QMI
-
"n" if QMI
-
- Secure Storage
FEATURE_SPISVC:
Enable SPI service- Type:
bool
Defaults:-
"y" if TARGET_WP85
-
"y" if TARGET_WP750X
-
"y" if TARGET_WP76XX
-
"y" if TARGET_WP77XX
-
"n"
-
- Modules
ENABLE_WIFI:
Enable WiFi- Type:
bool
Defaults:-
"y" if TARGET_WP750X
-
"y" if TARGET_WP85
-
"y" if TARGET_WP76XX
-
"y" if TARGET_WP77XX
-
"n"
Wifi Platform Adaptor
- Default:
WIFI_PA_TI if ENABLE_WIFI
Choose one of:
-
- Documentation
EXTERNAL_DOCS:
Include external documentation- Type:
bool
Defaults:-
"y" if ENABLE_WIFI
-
"n"
EXTERNAL_DOCS_ROOT:
External documentation root- Type:
string
Defaults:-
"modules/WiFi" if ENABLE_WIFI && EXTERNAL_DOCS
-
"" if EXTERNAL_DOCS
-
-
Copyright (C) Sierra Wireless Inc.