You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
207 lines
5.6 KiB
207 lines
5.6 KiB
# Copyright (c) 2020 Linumiz |
|
# SPDX-License-Identifier: Apache-2.0 |
|
|
|
menuconfig HAWKBIT |
|
bool "Eclipse hawkBit Firmware Over-the-Air support" |
|
depends on SETTINGS |
|
depends on FLASH |
|
depends on REBOOT |
|
depends on NET_TCP |
|
depends on NET_SOCKETS |
|
depends on IMG_MANAGER |
|
depends on NETWORKING |
|
depends on HTTP_CLIENT |
|
depends on DNS_RESOLVER |
|
depends on JSON_LIBRARY |
|
depends on BOOTLOADER_MCUBOOT |
|
depends on SMF |
|
depends on SMF_ANCESTOR_SUPPORT |
|
select MPU_ALLOW_FLASH_WRITE |
|
select IMG_ENABLE_IMAGE_CHECK |
|
select IMG_ERASE_PROGRESSIVELY |
|
imply HWINFO if !HAWKBIT_CUSTOM_DEVICE_ID |
|
help |
|
hawkBit is a domain independent back-end framework for polling out |
|
software updates to constrained edge devices as well as more powerful |
|
controllers and gateways connected to IP based networking infrastructure. |
|
|
|
if HAWKBIT |
|
config HAWKBIT_POLL_INTERVAL |
|
int "Time to poll interval (in minutes)" |
|
default 5 |
|
range 1 43200 |
|
help |
|
Set the interval that the hawkbit update server will be polled. |
|
This time interval is zero and 43200 minutes(30 days). This will be overridden |
|
by the value configured in the settings of the hawkBit server. |
|
|
|
config HAWKBIT_AUTOHANDLER |
|
bool "hawkBit autohandler" |
|
select EVENTS |
|
default y |
|
help |
|
Activate autohandler to handle the update process automatically. |
|
|
|
config HAWKBIT_SHELL |
|
bool "hawkBit shell utilities" |
|
depends on SHELL |
|
depends on HAWKBIT_AUTOHANDLER |
|
help |
|
Activate shell module that provides hawkBit commands. |
|
|
|
config HAWKBIT_TENANT |
|
string "Tenant name for the hawkbit server" |
|
default "default" |
|
help |
|
Configure the tenant name for the hawkbit server. |
|
|
|
config HAWKBIT_SERVER |
|
string "User address for the hawkbit server" |
|
help |
|
Configure the hawkbit server address. |
|
|
|
config HAWKBIT_PORT |
|
int "Port number for the hawkbit server" |
|
default 8080 |
|
help |
|
Configure the hawkbit port number. |
|
|
|
config HAWKBIT_SET_SETTINGS_RUNTIME |
|
bool "Set hawkbit settings at runtime" |
|
help |
|
Enable to set hawkbit settings at runtime. |
|
|
|
choice HAWKBIT_DDI_SECURITY |
|
prompt "hawkBit DDI API authentication modes" |
|
default HAWKBIT_DDI_NO_SECURITY |
|
|
|
config HAWKBIT_DDI_NO_SECURITY |
|
bool "No authentication security" |
|
help |
|
No authentication security for the hawkBit DDI API. |
|
|
|
config HAWKBIT_DDI_TARGET_SECURITY |
|
bool "Use target security token authentication" |
|
help |
|
Use target security token authentication for the hawkBit DDI API. |
|
|
|
config HAWKBIT_DDI_GATEWAY_SECURITY |
|
bool "Use gateway security token authentication" |
|
help |
|
Use gateway security token authentication for the hawkBit DDI API. |
|
|
|
endchoice |
|
|
|
config HAWKBIT_DDI_SECURITY_TOKEN |
|
string "Authentication security token" |
|
depends on HAWKBIT_DDI_TARGET_SECURITY || HAWKBIT_DDI_GATEWAY_SECURITY |
|
default "" |
|
help |
|
Authentication security token for the configured hawkBit DDI |
|
authentication mode. |
|
|
|
config HAWKBIT_CUSTOM_ATTRIBUTES |
|
bool "Custom device attributes" |
|
help |
|
Use custom definition of device attributes. |
|
|
|
config HAWKBIT_STATUS_BUFFER_SIZE |
|
int "hawkBit status buffer size" |
|
default 200 |
|
help |
|
Set the size of the buffer, which is used to store the |
|
json strings, that are sent to the hawkBit server. It might |
|
be increased if the custom attributes are used extensively. |
|
|
|
config HAWKBIT_CUSTOM_DEVICE_ID |
|
bool "Custom device id through callback function" |
|
help |
|
Be able to customize the device id during runtime to a custom value, |
|
by configuring the callback function. See `hawkbit_set_device_identity_cb` |
|
|
|
config HAWKBIT_DEVICE_ID_MAX_LENGTH |
|
int "Maximum length of the device id" |
|
depends on HAWKBIT_CUSTOM_DEVICE_ID |
|
range 1 128 |
|
default 32 |
|
help |
|
Maximum length of the device id. |
|
|
|
config HAWKBIT_USE_TLS |
|
bool "Use TLS for hawkBit server connection" |
|
depends on NET_SOCKETS_SOCKOPT_TLS |
|
help |
|
Use TLS for hawkBit connection. |
|
|
|
if HAWKBIT_USE_TLS |
|
|
|
choice HAWKBIT_CERT_TAG |
|
prompt "hawkBit certificate tag" |
|
default HAWKBIT_USE_STATIC_CERT_TAG |
|
|
|
config HAWKBIT_USE_STATIC_CERT_TAG |
|
bool "Use static certificate tag" |
|
help |
|
Use static certificate tag for TLS connection to the hawkBit server. |
|
|
|
config HAWKBIT_USE_DYNAMIC_CERT_TAG |
|
bool "Use dynamic certificate tag" |
|
depends on HAWKBIT_SET_SETTINGS_RUNTIME |
|
help |
|
Use dynamic certificate tag for TLS connection to the hawkBit server. |
|
|
|
endchoice |
|
|
|
config HAWKBIT_STATIC_CERT_TAG |
|
int "Static certificate tag" |
|
depends on HAWKBIT_USE_STATIC_CERT_TAG |
|
default 1 |
|
help |
|
Static certificate tag for TLS connection to the hawkBit server. |
|
|
|
endif |
|
|
|
choice HAWKBIT_REBOOT_MODE |
|
prompt "Reboot mode after update" |
|
default HAWKBIT_REBOOT_WARM |
|
|
|
config HAWKBIT_REBOOT_WARM |
|
bool "Warm reboot after update" |
|
help |
|
Do a warm reboot after the update. |
|
|
|
config HAWKBIT_REBOOT_COLD |
|
bool "Cold reboot after update" |
|
help |
|
Do a cold reboot after the update. |
|
|
|
endchoice |
|
|
|
config HEAP_MEM_POOL_ADD_SIZE_HAWKBIT |
|
int "Heap memory pool size for hawkBit" |
|
default 4096 |
|
help |
|
Set the size of the heap memory pool for hawkBit. |
|
|
|
config HAWKBIT_EVENT_CALLBACKS |
|
bool "Set hawkBit event callbacks" |
|
help |
|
Be able to set event callbacks for hawkBit. |
|
|
|
config HAWKBIT_SAVE_PROGRESS |
|
bool "Save the hawkBit update download progress" |
|
depends on STREAM_FLASH_PROGRESS |
|
help |
|
Regularly save progress of hawkBit update download operation. |
|
When enabled, the download progress is periodically saved to |
|
non-volatile storage. If a download is interrupted, it can be resumed from |
|
the last saved point rather than starting over, saving bandwidth and time. |
|
This is especially useful for large updates over unreliable networks or in |
|
resource-constrained environments. |
|
|
|
module = HAWKBIT |
|
module-str = Log Level for hawkbit |
|
module-help = Enables logging for hawkBit code. |
|
source "subsys/logging/Kconfig.template.log_config" |
|
|
|
endif
|
|
|