159 lines
4.4 KiB
Plaintext
159 lines
4.4 KiB
Plaintext
# Copyright (c) 2018-2023 O.S.Systems
|
|
# SPDX -License-Identifier: Apache-2.0
|
|
|
|
menuconfig UPDATEHUB
|
|
bool"UpdateHub Firmware Over-the-Air support"
|
|
depends on FLASH
|
|
depends on REBOOT
|
|
depends on IMG_MANAGER
|
|
depends on BOOTLOADER_MCUBOOT
|
|
depends on NETWORKING
|
|
depends on NET_UDP
|
|
depends on NET_SOCKETS
|
|
depends on COAP
|
|
depends on DNS_RESOLVER
|
|
depends on JSON_LIBRARY
|
|
depends on HWINFO
|
|
select REQUIRES_FULL_LIBC
|
|
select IMG_ENABLE_IMAGE_CHECK
|
|
select MPU_ALLOW_FLASH_WRITE
|
|
help
|
|
UpdateHub is an enterprise-grade solution which makes simple to
|
|
remotely update all your embedded devices in the field. It
|
|
handles all aspects related to sending Firmware Over-the-Air
|
|
(FOTA) updates with maximum security and efficiency, while you
|
|
focus in adding value to your product.
|
|
|
|
if UPDATEHUB
|
|
config UPDATEHUB_POLL_INTERVAL
|
|
int "Time to poll interval (in minutes)"
|
|
default 1440
|
|
range 0 43200
|
|
help
|
|
Set the interval that the UpdateHub update server will be polled.
|
|
This time interval is zero and 43200 minutes(30 days).
|
|
|
|
config UPDATEHUB_PRODUCT_UID
|
|
string "Product Unique Identifier (UID)"
|
|
help
|
|
The product unique identifier is used when communicating
|
|
with the UpdateHub server.
|
|
|
|
config UPDATEHUB_SUPPORTED_HARDWARE_MAX
|
|
int "Max number of supported hardware"
|
|
default 1
|
|
range 1 100
|
|
help
|
|
Configure the max number of supported hardware
|
|
by the same image.
|
|
|
|
config UPDATEHUB_CE
|
|
bool "Use UpdateHub Community Edition Sever"
|
|
help
|
|
Allow the use of UpdateHub Community
|
|
Server (updatehub-ce) as alternative to the
|
|
updatehub.io enterprise server.
|
|
|
|
config UPDATEHUB_SERVER
|
|
string "User address for the updatehub-ce-server"
|
|
depends on UPDATEHUB_CE
|
|
help
|
|
This configuration is default, if need to use
|
|
other address, must be set on the UpdateHub shell
|
|
|
|
config UPDATEHUB_SHELL
|
|
bool "UpdateHub shell utilities"
|
|
depends on SHELL
|
|
select KERNEL_SHELL
|
|
help
|
|
Activate shell module that provides UpdateHub commands like
|
|
|
|
config UPDATEHUB_DTLS
|
|
bool"Activate communication CoAPS/DTLS"
|
|
select MBEDTLS
|
|
select MBEDTLS_ENABLE_HEAP
|
|
select NET_SOCKETS_SOCKOPT_TLS
|
|
select NET_SOCKETS_ENABLE_DTLS
|
|
help
|
|
Enables DTLS communication between the UpdateHub
|
|
client and the server
|
|
|
|
config UPDATEHUB_COAP_CONN_TIMEOUT
|
|
int "CoAP connection timeout in seconds"
|
|
default 10
|
|
range 1 360
|
|
help
|
|
Set the CoAP connection timeout value.
|
|
|
|
config UPDATEHUB_COAP_MAX_RETRY
|
|
int "Maximum retries attempts to download a packet"
|
|
default 10
|
|
range 3 10
|
|
help
|
|
Set the maximum number of retries attempts to download a packet
|
|
before abort a current update.
|
|
|
|
config UPDATEHUB_COAP_BLOCK_SIZE_EXP
|
|
int "Max CoAP block size defined as 2^(4 + EXP)"
|
|
default 6
|
|
range 0 6
|
|
help
|
|
Configure the max size of a data payload were value:
|
|
0 - COAP_BLOCK_16
|
|
1 - COAP_BLOCK_32
|
|
2 - COAP_BLOCK_64
|
|
3 - COAP_BLOCK_128
|
|
4 - COAP_BLOCK_256
|
|
5 - COAP_BLOCK_512
|
|
6 - COAP_BLOCK_1024
|
|
|
|
This value is mapped directly to enum coap_block_size.
|
|
|
|
choice
|
|
prompt "Firmware verification"
|
|
default UPDATEHUB_DOWNLOAD_STORAGE_SHA256_VERIFICATION
|
|
|
|
config UPDATEHUB_DOWNLOAD_SHA256_VERIFICATION
|
|
bool "SHA-256 on download"
|
|
help
|
|
Enables SHA-256 verification of data stream while downloading.
|
|
Notice that it does not check whether the image written to a
|
|
storage is still valid, it only confirms that what has been
|
|
downloaded matches the server side SHA.
|
|
|
|
To check if the data written to permanent storage matches the SHA
|
|
simultaneously, enable "Both download and flash verifications"
|
|
option.
|
|
|
|
config UPDATEHUB_STORAGE_SHA256_VERIFICATION
|
|
bool "SHA-256 from flash"
|
|
help
|
|
Enables SHA-256 verification of stored data stream. When this
|
|
option is enabled, the data stream will be read back from the
|
|
storage and verified with SHA to make sure that it has been
|
|
correctly written.
|
|
|
|
To check if the download data stream matches the SHA simultaneously,
|
|
enable "Both download and flash verifications" option.
|
|
|
|
config UPDATEHUB_DOWNLOAD_STORAGE_SHA256_VERIFICATION
|
|
bool "SHA-256 from both download and flash"
|
|
help
|
|
Enables SHA-256 verification on both data stream while downloading
|
|
and stored data stream on flash.
|
|
|
|
It is advised to leave this option enabled.
|
|
|
|
endchoice
|
|
|
|
choice FLASH_AREA_CHECK_INTEGRITY_BACKEND
|
|
default FLASH_AREA_CHECK_INTEGRITY_MBEDTLS
|
|
endchoice
|
|
|
|
module = UPDATEHUB
|
|
module-str = Log level for UpdateHub
|
|
module-help = Enables logging for UpdateHub code.
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif
|