From bf8d87f2a0a48df577999362c29becc74ce97c5a Mon Sep 17 00:00:00 2001 From: edgex-jenkins Date: Wed, 10 Aug 2022 21:51:39 +0000 Subject: [PATCH] ci: Merge pull request #786 from jpwhitemn/native-arm32 Signed-off-by: edgex-jenkins --- 2.3/404.html | 14 + 2.3/V2TopLevelMigration/index.html | 14 + 2.3/api/Ch-APIIntroduction/index.html | 14 + .../Ch-APIAppFunctionsSDK/index.html | 14 + .../applications/Ch-APIRulesEngine/index.html | 14 + 2.3/api/core/Ch-APICoreCommand/index.html | 14 + .../index.html | 14 + 2.3/api/core/Ch-APICoreData/index.html | 14 + 2.3/api/core/Ch-APICoreMetadata/index.html | 14 + 2.3/api/devices/Ch-APIDeviceSDK/index.html | 14 + .../Ch-APISystemManagement/index.html | 14 + .../Ch-APISupportNotifications/index.html | 14 + .../support/Ch-APISupportScheduler/index.html | 14 + 2.3/design/Process/index.html | 14 + 2.3/design/TOC/index.html | 14 + .../adr/0001-Registy-Refactor/index.html | 14 + 2.3/design/adr/0004-Feature-Flags/index.html | 14 + .../adr/0005-Service-Self-Config/index.html | 14 + .../adr/0006-Metrics-Collection/index.html | 14 + .../adr/0018-Service-Registry/index.html | 14 + .../adr/0023-North-South-Messaging/index.html | 14 + 2.3/design/adr/0024-system-events/index.html | 14 + .../index.html | 14 + .../014-Secret-Provider-For-All/index.html | 14 + .../core/0003-V2-API-Principles/index.html | 14 + .../adr/core/0019-EdgeX-CLI-V2/index.html | 14 + .../0021-Device-Profile-Changes/index.html | 14 + 2.3/design/adr/core/0022-UoM/index.html | 14 + .../0002-Array-Datatypes/index.html | 14 + .../0011-DeviceService-Rest-API/index.html | 14 + .../0012-DeviceService-Filters/index.html | 14 + .../devops/0007-Release-Automation/index.html | 14 + .../devops/0010-Release-Artifacts/index.html | 14 + 2.3/design/adr/index.html | 14 + .../index.html | 14 + .../0009-Secure-Bootstrapping/index.html | 14 + .../security/0015-in-cluster-tls/index.html | 14 + .../0016-docker-image-guidelines/index.html | 14 + .../security/0017-consul-security/index.html | 14 + .../adr/security/0020-spiffe/index.html | 14 + 2.3/design/adr/template/index.html | 14 + .../device-service/discovery/index.html | 14 + 2.3/design/legacy-design/index.html | 14 + .../device-service/index.html | 14 + 2.3/design/legacy-requirements/index.html | 14 + .../0001-System-Events-for-Devices/index.html | 14 + 2.3/design/ucr/index.html | 14 + 2.3/design/ucr/template/index.html | 14 + 2.3/examples/AppServiceExamples/index.html | 14 + .../index.html | 14 + .../Ch-ExamplesAddingMQTTDevice/index.html | 14 + .../Ch-ExamplesAddingModbusDevice/index.html | 14 + .../Ch-ExamplesAddingSNMPDevice/index.html | 14 + .../index.html | 14 + .../index.html | 14 + .../index.html | 14 + 2.3/examples/index.html | 14 + 2.3/general/ContainerNames/index.html | 14 + 2.3/general/Definitions/index.html | 14 + 2.3/general/PlatformRequirements/index.html | 14 + 2.3/general/ServiceConfiguration/index.html | 14 + 2.3/general/ServicePorts/index.html | 14 + .../ApplicationFunctionsSDK/index.html | 14 + .../Ch-GettingStartedCDevelopers/index.html | 14 + .../Ch-GettingStartedDevelopers/index.html | 14 + .../Ch-GettingStartedDockerUsers/index.html | 14 + .../Ch-GettingStartedGoDevelopers/index.html | 14 + .../Ch-GettingStartedHybrid/index.html | 14 + .../Ch-GettingStartedSDK-C/index.html | 14 + .../Ch-GettingStartedSDK-Go/index.html | 14 + .../Ch-GettingStartedSDK/index.html | 14 + .../Ch-GettingStartedSnapUsers/index.html | 14 + .../Ch-GettingStartedUsers/index.html | 14 + .../Ch-GettingStartedUsersNexus/index.html | 14 + 2.3/getting-started/index.html | 14 + .../native/Ch-BuildRunNative/index.html | 17 +- .../native/Ch-BuildRunOnArm32/index.html | 3824 +++++++++++++++++ .../Ch-BuildRunOnLinuxDistro/index.html | 18 +- .../native/Ch-BuildRunOnWindows/index.html | 18 +- .../native/LocationeKuiper-arm.png | Bin 0 -> 18694 bytes .../native/LocationeKuiperStreamLog-arm.png | Bin 0 -> 20668 bytes .../native/TaileKuiperLog-arm.png | Bin 0 -> 57142 bytes .../native/ZeroMQCheck-arm.png | Bin 0 -> 14368 bytes 2.3/getting-started/quick-start/index.html | 14 + .../tools/Ch-CommandLineInterface/index.html | 14 + 2.3/getting-started/tools/Ch-GUI/index.html | 14 + 2.3/index.html | 14 + .../application/AdvancedTopics/index.html | 14 + .../AppFunctionContextAPI/index.html | 14 + .../AppServiceConfigurable/index.html | 14 + .../ApplicationFunctionsSDK/index.html | 14 + .../ApplicationServiceAPI/index.html | 14 + .../ApplicationServices/index.html | 14 + .../application/BuiltIn/index.html | 14 + .../application/ErrorHandling/index.html | 14 + .../GeneralAppServiceConfig/index.html | 14 + .../application/GettingStarted/index.html | 14 + .../application/Triggers/index.html | 14 + .../application/V2Migration/index.html | 14 + .../CommonCommandLineOptions/index.html | 14 + .../CommonConfiguration/index.html | 14 + .../CommonEnvironmentVariables/index.html | 14 + .../ConfigurationAndRegistry/index.html | 14 + .../V2MigrationCommonConfig/index.html | 14 + .../core/Ch-CoreServices/index.html | 14 + .../core/command/Ch-Command/index.html | 14 + .../core/data/Ch-CoreData/index.html | 14 + .../core/database/Ch-Redis/index.html | 14 + .../core/metadata/Ch-Metadata/index.html | 14 + .../device/Ch-DeviceServiceList/index.html | 14 + .../device/Ch-DeviceServices/index.html | 14 + .../device/V2Migration/index.html | 14 + .../profile/Ch-DeviceProfile/index.html | 14 + .../profile/Ch-DeviceProfileRef/index.html | 14 + .../device/sdk/Ch-DeviceSDK/index.html | 14 + .../device/sdk/Ch-Ref-SDK-C/index.html | 14 + .../device/sdk/Ch-Using-iot-data-t/index.html | 14 + .../device/sdk/SDK-Go-API/index.html | 14 + .../virtual/Ch-VirtualDevice/index.html | 14 + 2.3/microservices/general/index.html | 14 + .../support/Ch-SupportingServices/index.html | 14 + .../support/eKuiper/Ch-eKuiper/index.html | 14 + .../Ch-AlertsNotifications/index.html | 14 + .../support/scheduler/Ch-Scheduler/index.html | 14 + .../Ch_SystemManagement/index.html | 14 + .../agent/Ch_SysMgmtAgent/index.html | 14 + .../executor/Ch_SysMgmtExecutor/index.html | 14 + 2.3/search/search_index.json | 2 +- 2.3/security/Ch-APIGateway/index.html | 14 + .../Ch-AddGatewayUserRemotely/index.html | 14 + 2.3/security/Ch-CORS-Settings/index.html | 14 + .../Ch-Configuring-Add-On-Services/index.html | 14 + .../Ch-RemoteDeviceServices/index.html | 14 + 2.3/security/Ch-SecretStore/index.html | 14 + 2.3/security/Ch-Secure-Consul/index.html | 14 + 2.3/security/Ch-Secure-MessageBus/index.html | 14 + 2.3/security/Ch-Security/index.html | 14 + 2.3/security/Ch-SecurityIssues/index.html | 14 + 2.3/security/SeedingServiceSecrets/index.html | 14 + 2.3/security/secrets-config-proxy/index.html | 14 + 2.3/security/secrets-config/index.html | 14 + .../security-file-token-provider.1/index.html | 14 + 2.3/sitemap.xml | 303 +- 2.3/sitemap.xml.gz | Bin 1829 -> 1836 bytes .../secret-store/background/index.html | 14 + .../secret-store/high_level_design/index.html | 14 + 2.3/threat-models/secret-store/index.html | 14 + .../secret-store/threat_model/index.html | 14 + .../vault_master_key_encryption/index.html | 14 + 2.3/walk-through/Ch-Walkthrough/index.html | 14 + .../Ch-WalkthroughCommands/index.html | 14 + .../Ch-WalkthroughDeviceProfile/index.html | 14 + .../Ch-WalkthroughDeviceService/index.html | 14 + .../Ch-WalkthroughExporting/index.html | 14 + .../Ch-WalkthroughProvision/index.html | 14 + .../Ch-WalkthroughReading/index.html | 14 + .../Ch-WalkthroughSetup/index.html | 14 + .../Ch-WalkthroughUseCase/index.html | 14 + index.html | 8 +- versions.json | 2 +- 160 files changed, 6090 insertions(+), 160 deletions(-) create mode 100644 2.3/getting-started/native/Ch-BuildRunOnArm32/index.html create mode 100644 2.3/getting-started/native/LocationeKuiper-arm.png create mode 100644 2.3/getting-started/native/LocationeKuiperStreamLog-arm.png create mode 100644 2.3/getting-started/native/TaileKuiperLog-arm.png create mode 100644 2.3/getting-started/native/ZeroMQCheck-arm.png diff --git a/2.3/404.html b/2.3/404.html index 942966af30..92d200b4f3 100644 --- a/2.3/404.html +++ b/2.3/404.html @@ -683,6 +683,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/V2TopLevelMigration/index.html b/2.3/V2TopLevelMigration/index.html index 6a03514df7..efb3b31e22 100644 --- a/2.3/V2TopLevelMigration/index.html +++ b/2.3/V2TopLevelMigration/index.html @@ -940,6 +940,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/Ch-APIIntroduction/index.html b/2.3/api/Ch-APIIntroduction/index.html index 7aa85bce61..91a948399d 100644 --- a/2.3/api/Ch-APIIntroduction/index.html +++ b/2.3/api/Ch-APIIntroduction/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/applications/Ch-APIAppFunctionsSDK/index.html b/2.3/api/applications/Ch-APIAppFunctionsSDK/index.html index e76ee24e83..6c4b36e1d3 100644 --- a/2.3/api/applications/Ch-APIAppFunctionsSDK/index.html +++ b/2.3/api/applications/Ch-APIAppFunctionsSDK/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/applications/Ch-APIRulesEngine/index.html b/2.3/api/applications/Ch-APIRulesEngine/index.html index 32338d23ab..813bdd2f32 100644 --- a/2.3/api/applications/Ch-APIRulesEngine/index.html +++ b/2.3/api/applications/Ch-APIRulesEngine/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/core/Ch-APICoreCommand/index.html b/2.3/api/core/Ch-APICoreCommand/index.html index 46399b19e0..f4a7e9bb3b 100644 --- a/2.3/api/core/Ch-APICoreCommand/index.html +++ b/2.3/api/core/Ch-APICoreCommand/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/core/Ch-APICoreConfigurationAndRegistry/index.html b/2.3/api/core/Ch-APICoreConfigurationAndRegistry/index.html index 9db62a8ac4..cefaae2e18 100644 --- a/2.3/api/core/Ch-APICoreConfigurationAndRegistry/index.html +++ b/2.3/api/core/Ch-APICoreConfigurationAndRegistry/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/core/Ch-APICoreData/index.html b/2.3/api/core/Ch-APICoreData/index.html index c8e14ea8f5..446a6d7ab6 100644 --- a/2.3/api/core/Ch-APICoreData/index.html +++ b/2.3/api/core/Ch-APICoreData/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/core/Ch-APICoreMetadata/index.html b/2.3/api/core/Ch-APICoreMetadata/index.html index 9ec1d359e6..3db5dcf283 100644 --- a/2.3/api/core/Ch-APICoreMetadata/index.html +++ b/2.3/api/core/Ch-APICoreMetadata/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/devices/Ch-APIDeviceSDK/index.html b/2.3/api/devices/Ch-APIDeviceSDK/index.html index f6293c836e..dc8c3fc574 100644 --- a/2.3/api/devices/Ch-APIDeviceSDK/index.html +++ b/2.3/api/devices/Ch-APIDeviceSDK/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/management/Ch-APISystemManagement/index.html b/2.3/api/management/Ch-APISystemManagement/index.html index 7d624ed605..11427cdc87 100644 --- a/2.3/api/management/Ch-APISystemManagement/index.html +++ b/2.3/api/management/Ch-APISystemManagement/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/support/Ch-APISupportNotifications/index.html b/2.3/api/support/Ch-APISupportNotifications/index.html index 88afba6f91..5466ca9ee1 100644 --- a/2.3/api/support/Ch-APISupportNotifications/index.html +++ b/2.3/api/support/Ch-APISupportNotifications/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/api/support/Ch-APISupportScheduler/index.html b/2.3/api/support/Ch-APISupportScheduler/index.html index 3ebc8b89c1..0f7b4afb14 100644 --- a/2.3/api/support/Ch-APISupportScheduler/index.html +++ b/2.3/api/support/Ch-APISupportScheduler/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/Process/index.html b/2.3/design/Process/index.html index 64f07b55d0..358022f302 100644 --- a/2.3/design/Process/index.html +++ b/2.3/design/Process/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/TOC/index.html b/2.3/design/TOC/index.html index b04566e973..4d182c0d44 100644 --- a/2.3/design/TOC/index.html +++ b/2.3/design/TOC/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/0001-Registy-Refactor/index.html b/2.3/design/adr/0001-Registy-Refactor/index.html index 5c033ef278..05605d02c4 100644 --- a/2.3/design/adr/0001-Registy-Refactor/index.html +++ b/2.3/design/adr/0001-Registy-Refactor/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/0004-Feature-Flags/index.html b/2.3/design/adr/0004-Feature-Flags/index.html index 16d8302dd8..080833f506 100644 --- a/2.3/design/adr/0004-Feature-Flags/index.html +++ b/2.3/design/adr/0004-Feature-Flags/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/0005-Service-Self-Config/index.html b/2.3/design/adr/0005-Service-Self-Config/index.html index d99bdb6c6a..74d5f21385 100644 --- a/2.3/design/adr/0005-Service-Self-Config/index.html +++ b/2.3/design/adr/0005-Service-Self-Config/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/0006-Metrics-Collection/index.html b/2.3/design/adr/0006-Metrics-Collection/index.html index 0e8c425aa0..97638434f0 100644 --- a/2.3/design/adr/0006-Metrics-Collection/index.html +++ b/2.3/design/adr/0006-Metrics-Collection/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/0018-Service-Registry/index.html b/2.3/design/adr/0018-Service-Registry/index.html index 67bc4b1a10..a99c8ac800 100644 --- a/2.3/design/adr/0018-Service-Registry/index.html +++ b/2.3/design/adr/0018-Service-Registry/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/0023-North-South-Messaging/index.html b/2.3/design/adr/0023-North-South-Messaging/index.html index 8cbfa1942f..3fe97bcded 100644 --- a/2.3/design/adr/0023-North-South-Messaging/index.html +++ b/2.3/design/adr/0023-North-South-Messaging/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/0024-system-events/index.html b/2.3/design/adr/0024-system-events/index.html index 8e318567d2..10aa2906fe 100644 --- a/2.3/design/adr/0024-system-events/index.html +++ b/2.3/design/adr/0024-system-events/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/013-Device-Service-Events-Message-Bus/index.html b/2.3/design/adr/013-Device-Service-Events-Message-Bus/index.html index d8e7d2f102..ab45c73617 100644 --- a/2.3/design/adr/013-Device-Service-Events-Message-Bus/index.html +++ b/2.3/design/adr/013-Device-Service-Events-Message-Bus/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/014-Secret-Provider-For-All/index.html b/2.3/design/adr/014-Secret-Provider-For-All/index.html index e7126d25e9..5e841027d5 100644 --- a/2.3/design/adr/014-Secret-Provider-For-All/index.html +++ b/2.3/design/adr/014-Secret-Provider-For-All/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/core/0003-V2-API-Principles/index.html b/2.3/design/adr/core/0003-V2-API-Principles/index.html index 31f4e62ebb..3a60bd1863 100644 --- a/2.3/design/adr/core/0003-V2-API-Principles/index.html +++ b/2.3/design/adr/core/0003-V2-API-Principles/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/core/0019-EdgeX-CLI-V2/index.html b/2.3/design/adr/core/0019-EdgeX-CLI-V2/index.html index 6b59c5f8e8..db3e6fb0d5 100644 --- a/2.3/design/adr/core/0019-EdgeX-CLI-V2/index.html +++ b/2.3/design/adr/core/0019-EdgeX-CLI-V2/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/core/0021-Device-Profile-Changes/index.html b/2.3/design/adr/core/0021-Device-Profile-Changes/index.html index c8c9dfe130..df5234e0ba 100644 --- a/2.3/design/adr/core/0021-Device-Profile-Changes/index.html +++ b/2.3/design/adr/core/0021-Device-Profile-Changes/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/core/0022-UoM/index.html b/2.3/design/adr/core/0022-UoM/index.html index 6f989b4b3f..87862de1cd 100644 --- a/2.3/design/adr/core/0022-UoM/index.html +++ b/2.3/design/adr/core/0022-UoM/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/device-service/0002-Array-Datatypes/index.html b/2.3/design/adr/device-service/0002-Array-Datatypes/index.html index 14fb828c0c..0b4718f856 100644 --- a/2.3/design/adr/device-service/0002-Array-Datatypes/index.html +++ b/2.3/design/adr/device-service/0002-Array-Datatypes/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/device-service/0011-DeviceService-Rest-API/index.html b/2.3/design/adr/device-service/0011-DeviceService-Rest-API/index.html index 86b22e53e6..0a6f531192 100644 --- a/2.3/design/adr/device-service/0011-DeviceService-Rest-API/index.html +++ b/2.3/design/adr/device-service/0011-DeviceService-Rest-API/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/device-service/0012-DeviceService-Filters/index.html b/2.3/design/adr/device-service/0012-DeviceService-Filters/index.html index cd2a163a67..4d73cdcae4 100644 --- a/2.3/design/adr/device-service/0012-DeviceService-Filters/index.html +++ b/2.3/design/adr/device-service/0012-DeviceService-Filters/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/devops/0007-Release-Automation/index.html b/2.3/design/adr/devops/0007-Release-Automation/index.html index da041e5430..5d285450f7 100644 --- a/2.3/design/adr/devops/0007-Release-Automation/index.html +++ b/2.3/design/adr/devops/0007-Release-Automation/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/devops/0010-Release-Artifacts/index.html b/2.3/design/adr/devops/0010-Release-Artifacts/index.html index 0cd566e5e8..b6a0957ee1 100644 --- a/2.3/design/adr/devops/0010-Release-Artifacts/index.html +++ b/2.3/design/adr/devops/0010-Release-Artifacts/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/index.html b/2.3/design/adr/index.html index 09d0f8f8fe..dbf7293daf 100644 --- a/2.3/design/adr/index.html +++ b/2.3/design/adr/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/security/0008-Secret-Creation-and-Distribution/index.html b/2.3/design/adr/security/0008-Secret-Creation-and-Distribution/index.html index 994e73fbfe..6d88e98c49 100644 --- a/2.3/design/adr/security/0008-Secret-Creation-and-Distribution/index.html +++ b/2.3/design/adr/security/0008-Secret-Creation-and-Distribution/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/security/0009-Secure-Bootstrapping/index.html b/2.3/design/adr/security/0009-Secure-Bootstrapping/index.html index e7c00eaacb..fad42fb220 100644 --- a/2.3/design/adr/security/0009-Secure-Bootstrapping/index.html +++ b/2.3/design/adr/security/0009-Secure-Bootstrapping/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/security/0015-in-cluster-tls/index.html b/2.3/design/adr/security/0015-in-cluster-tls/index.html index edd907f191..32a5810f80 100644 --- a/2.3/design/adr/security/0015-in-cluster-tls/index.html +++ b/2.3/design/adr/security/0015-in-cluster-tls/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/security/0016-docker-image-guidelines/index.html b/2.3/design/adr/security/0016-docker-image-guidelines/index.html index b271216af5..04cfd5c69a 100644 --- a/2.3/design/adr/security/0016-docker-image-guidelines/index.html +++ b/2.3/design/adr/security/0016-docker-image-guidelines/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/security/0017-consul-security/index.html b/2.3/design/adr/security/0017-consul-security/index.html index 6f78434274..e53e4a1f3d 100644 --- a/2.3/design/adr/security/0017-consul-security/index.html +++ b/2.3/design/adr/security/0017-consul-security/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/security/0020-spiffe/index.html b/2.3/design/adr/security/0020-spiffe/index.html index 9b0a178567..a7a6d7ecaa 100644 --- a/2.3/design/adr/security/0020-spiffe/index.html +++ b/2.3/design/adr/security/0020-spiffe/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/adr/template/index.html b/2.3/design/adr/template/index.html index 276d4e0ff4..22d0cf7766 100644 --- a/2.3/design/adr/template/index.html +++ b/2.3/design/adr/template/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/legacy-design/device-service/discovery/index.html b/2.3/design/legacy-design/device-service/discovery/index.html index 9bb820e81a..090c70678e 100644 --- a/2.3/design/legacy-design/device-service/discovery/index.html +++ b/2.3/design/legacy-design/device-service/discovery/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/legacy-design/index.html b/2.3/design/legacy-design/index.html index 30e49ec783..11392c8b7f 100644 --- a/2.3/design/legacy-design/index.html +++ b/2.3/design/legacy-design/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/legacy-requirements/device-service/index.html b/2.3/design/legacy-requirements/device-service/index.html index 468a5b6ff7..dd0b5a59e8 100644 --- a/2.3/design/legacy-requirements/device-service/index.html +++ b/2.3/design/legacy-requirements/device-service/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/legacy-requirements/index.html b/2.3/design/legacy-requirements/index.html index 145c8907f7..372af4d1b4 100644 --- a/2.3/design/legacy-requirements/index.html +++ b/2.3/design/legacy-requirements/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/ucr/0001-System-Events-for-Devices/index.html b/2.3/design/ucr/0001-System-Events-for-Devices/index.html index 9f568d8df6..a6b893c61a 100644 --- a/2.3/design/ucr/0001-System-Events-for-Devices/index.html +++ b/2.3/design/ucr/0001-System-Events-for-Devices/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/ucr/index.html b/2.3/design/ucr/index.html index a114faab31..87efd1b328 100644 --- a/2.3/design/ucr/index.html +++ b/2.3/design/ucr/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/design/ucr/template/index.html b/2.3/design/ucr/template/index.html index b541de8504..024c3bc4f1 100644 --- a/2.3/design/ucr/template/index.html +++ b/2.3/design/ucr/template/index.html @@ -690,6 +690,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/examples/AppServiceExamples/index.html b/2.3/examples/AppServiceExamples/index.html index f0a97e3695..d48782acf1 100644 --- a/2.3/examples/AppServiceExamples/index.html +++ b/2.3/examples/AppServiceExamples/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/examples/Ch-CommandingDeviceThroughRulesEngine/index.html b/2.3/examples/Ch-CommandingDeviceThroughRulesEngine/index.html index 500925bc31..d5aa1dcb78 100644 --- a/2.3/examples/Ch-CommandingDeviceThroughRulesEngine/index.html +++ b/2.3/examples/Ch-CommandingDeviceThroughRulesEngine/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/examples/Ch-ExamplesAddingMQTTDevice/index.html b/2.3/examples/Ch-ExamplesAddingMQTTDevice/index.html index f0533d890a..078b258880 100644 --- a/2.3/examples/Ch-ExamplesAddingMQTTDevice/index.html +++ b/2.3/examples/Ch-ExamplesAddingMQTTDevice/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/examples/Ch-ExamplesAddingModbusDevice/index.html b/2.3/examples/Ch-ExamplesAddingModbusDevice/index.html index 5f6521950c..8af8107943 100644 --- a/2.3/examples/Ch-ExamplesAddingModbusDevice/index.html +++ b/2.3/examples/Ch-ExamplesAddingModbusDevice/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/examples/Ch-ExamplesAddingSNMPDevice/index.html b/2.3/examples/Ch-ExamplesAddingSNMPDevice/index.html index 4e0a32d8b5..95b2645ca8 100644 --- a/2.3/examples/Ch-ExamplesAddingSNMPDevice/index.html +++ b/2.3/examples/Ch-ExamplesAddingSNMPDevice/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/examples/Ch-ExamplesModbusdatatypeconversion/index.html b/2.3/examples/Ch-ExamplesModbusdatatypeconversion/index.html index eae0d82725..5171b2bdbb 100644 --- a/2.3/examples/Ch-ExamplesModbusdatatypeconversion/index.html +++ b/2.3/examples/Ch-ExamplesModbusdatatypeconversion/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/examples/Ch-ExamplesSendingAndConsumingBinary/index.html b/2.3/examples/Ch-ExamplesSendingAndConsumingBinary/index.html index b0a9cbc64b..6693d07240 100644 --- a/2.3/examples/Ch-ExamplesSendingAndConsumingBinary/index.html +++ b/2.3/examples/Ch-ExamplesSendingAndConsumingBinary/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/examples/Ch-ExamplesVirtualDeviceService/index.html b/2.3/examples/Ch-ExamplesVirtualDeviceService/index.html index 1f2b0b97be..43e3b8fede 100644 --- a/2.3/examples/Ch-ExamplesVirtualDeviceService/index.html +++ b/2.3/examples/Ch-ExamplesVirtualDeviceService/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/examples/index.html b/2.3/examples/index.html index e786c0c181..b9c84c6f3a 100644 --- a/2.3/examples/index.html +++ b/2.3/examples/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/general/ContainerNames/index.html b/2.3/general/ContainerNames/index.html index ee5aded43b..e66baf1e2b 100644 --- a/2.3/general/ContainerNames/index.html +++ b/2.3/general/ContainerNames/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/general/Definitions/index.html b/2.3/general/Definitions/index.html index 68dc4a4edb..f2334426ae 100644 --- a/2.3/general/Definitions/index.html +++ b/2.3/general/Definitions/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/general/PlatformRequirements/index.html b/2.3/general/PlatformRequirements/index.html index 87f4b5ed6e..5c874fd9c8 100644 --- a/2.3/general/PlatformRequirements/index.html +++ b/2.3/general/PlatformRequirements/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/general/ServiceConfiguration/index.html b/2.3/general/ServiceConfiguration/index.html index 2b3cf81c53..c8c6af8bd4 100644 --- a/2.3/general/ServiceConfiguration/index.html +++ b/2.3/general/ServiceConfiguration/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/general/ServicePorts/index.html b/2.3/general/ServicePorts/index.html index 2db44f5158..5375449a4f 100644 --- a/2.3/general/ServicePorts/index.html +++ b/2.3/general/ServicePorts/index.html @@ -692,6 +692,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/ApplicationFunctionsSDK/index.html b/2.3/getting-started/ApplicationFunctionsSDK/index.html index 6772a871ac..d77464efc6 100644 --- a/2.3/getting-started/ApplicationFunctionsSDK/index.html +++ b/2.3/getting-started/ApplicationFunctionsSDK/index.html @@ -696,6 +696,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedCDevelopers/index.html b/2.3/getting-started/Ch-GettingStartedCDevelopers/index.html index e4688ba6d6..03c665d7e0 100644 --- a/2.3/getting-started/Ch-GettingStartedCDevelopers/index.html +++ b/2.3/getting-started/Ch-GettingStartedCDevelopers/index.html @@ -751,6 +751,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedDevelopers/index.html b/2.3/getting-started/Ch-GettingStartedDevelopers/index.html index 0c03100ea4..1492f8456a 100644 --- a/2.3/getting-started/Ch-GettingStartedDevelopers/index.html +++ b/2.3/getting-started/Ch-GettingStartedDevelopers/index.html @@ -826,6 +826,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedDockerUsers/index.html b/2.3/getting-started/Ch-GettingStartedDockerUsers/index.html index 30c22ff7cb..e6d90ab5a9 100644 --- a/2.3/getting-started/Ch-GettingStartedDockerUsers/index.html +++ b/2.3/getting-started/Ch-GettingStartedDockerUsers/index.html @@ -826,6 +826,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedGoDevelopers/index.html b/2.3/getting-started/Ch-GettingStartedGoDevelopers/index.html index 51f89070a8..61246ed998 100644 --- a/2.3/getting-started/Ch-GettingStartedGoDevelopers/index.html +++ b/2.3/getting-started/Ch-GettingStartedGoDevelopers/index.html @@ -894,6 +894,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedHybrid/index.html b/2.3/getting-started/Ch-GettingStartedHybrid/index.html index 7d1c642ce9..ac7ae8df0d 100644 --- a/2.3/getting-started/Ch-GettingStartedHybrid/index.html +++ b/2.3/getting-started/Ch-GettingStartedHybrid/index.html @@ -785,6 +785,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedSDK-C/index.html b/2.3/getting-started/Ch-GettingStartedSDK-C/index.html index 4a2cb61146..b33e11d500 100644 --- a/2.3/getting-started/Ch-GettingStartedSDK-C/index.html +++ b/2.3/getting-started/Ch-GettingStartedSDK-C/index.html @@ -696,6 +696,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedSDK-Go/index.html b/2.3/getting-started/Ch-GettingStartedSDK-Go/index.html index 223fd3e92c..d2d125b608 100644 --- a/2.3/getting-started/Ch-GettingStartedSDK-Go/index.html +++ b/2.3/getting-started/Ch-GettingStartedSDK-Go/index.html @@ -696,6 +696,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedSDK/index.html b/2.3/getting-started/Ch-GettingStartedSDK/index.html index a9919c2d49..1450fda916 100644 --- a/2.3/getting-started/Ch-GettingStartedSDK/index.html +++ b/2.3/getting-started/Ch-GettingStartedSDK/index.html @@ -696,6 +696,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedSnapUsers/index.html b/2.3/getting-started/Ch-GettingStartedSnapUsers/index.html index cf550f1c0c..434e955dcc 100644 --- a/2.3/getting-started/Ch-GettingStartedSnapUsers/index.html +++ b/2.3/getting-started/Ch-GettingStartedSnapUsers/index.html @@ -978,6 +978,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedUsers/index.html b/2.3/getting-started/Ch-GettingStartedUsers/index.html index a70238027c..5049256274 100644 --- a/2.3/getting-started/Ch-GettingStartedUsers/index.html +++ b/2.3/getting-started/Ch-GettingStartedUsers/index.html @@ -706,6 +706,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/Ch-GettingStartedUsersNexus/index.html b/2.3/getting-started/Ch-GettingStartedUsersNexus/index.html index af57ae12a9..534e2b1560 100644 --- a/2.3/getting-started/Ch-GettingStartedUsersNexus/index.html +++ b/2.3/getting-started/Ch-GettingStartedUsersNexus/index.html @@ -696,6 +696,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/index.html b/2.3/getting-started/index.html index a08fe81b2c..1f6a25a39e 100644 --- a/2.3/getting-started/index.html +++ b/2.3/getting-started/index.html @@ -777,6 +777,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 diff --git a/2.3/getting-started/native/Ch-BuildRunNative/index.html b/2.3/getting-started/native/Ch-BuildRunNative/index.html index a76c2c9cc8..5dc1146508 100644 --- a/2.3/getting-started/native/Ch-BuildRunNative/index.html +++ b/2.3/getting-started/native/Ch-BuildRunNative/index.html @@ -739,6 +739,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 @@ -2967,8 +2981,7 @@

    Native Build and Run

    Guides

    diff --git a/2.3/getting-started/native/Ch-BuildRunOnArm32/index.html b/2.3/getting-started/native/Ch-BuildRunOnArm32/index.html new file mode 100644 index 0000000000..114a04a466 --- /dev/null +++ b/2.3/getting-started/native/Ch-BuildRunOnArm32/index.html @@ -0,0 +1,3824 @@ + + + + + + + + + + + + + + + + + + + + + + Build and Run on Linux on ARM 32 - EdgeX Foundry Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + +
    + + +
    + +
    + + + + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    +
    + + + + + + + + +

    Build and Run on Linux on ARM 32

    +

    Specifically - build and run EdgeX natively on a Raspberry Pi

    +
    +

    Warning

    +

    This build and run guide offers some assistance to seasoned developers or administrators to help build and run EdgeX on Linux OS with ARM 32 hardware natively (not using Docker and not running with snaps). Running on ARM 32 is not supported by the project. EdgeX was built to be platform independent. As such, we believe most of EdgeX can run on almost any environment (on any hardware architecture and almost any operating system).

    +

    Existence of this guide does not imply current or future support. Use of this guide should be used with care and with an understanding that it is the community's best effort to provide advanced developers with the means to begin their own custom EdgeX development and execution on Linux distributions running on ARM 32 hardware.

    +
    +

    This build and run guide shows you how to get, compile/build, execute and test EdgeX (including the core and supporting services, the configurable application service, eKuiper rules engine and a virtual device service) in Linux on ARM 32 hardware. Specifically, this guide was done using a Raspberry Pi 3 running Raspberry Pi OS - version 5.15. For the most part, the guide should assist in building and running EdgeX in almost any Linux distribution on almost any ARM 32 hardware, but some instructions will vary based on the nuances of the underlying distribution.

    +

    Environment

    +

    Building and running EdgeX on Linux natively will require you have:

    +
      +
    • A relatively modern Linux OS (this guide was written using Raspberry Pi OS version 5.15)
    • +
    • sudo or root access
    • +
    • Access from the host machine to the Internet in order to get tools and source code (e.g., to clone code from GitHub)
    • +
    • ARM 32 hardware platform - such as that found on the Raspberry Pi platform
    • +
    • Sufficient memory to build and run EdgeX micro services (EdgeX suggests 1GB minimum.)
        +
      • 1GB is sufficient memory to run all the required software as well as build/run EdgeX services listed below
      • +
      +
    • +
    • Sufficient disk space to pull the required tools, libraries, code, etc. to build and run EdgeX (EdgeX suggests 10GB minimum )
        +
      • 10GB is inclusive of space needed to download and setup all the required software/tools as well as EdgeX
      • +
      +
    • +
    +

    Required Software

    +

    The following software is assumed to already be installed and available on the host platform. Follow the referenced guides if you need to install or setup this software. Please note, the commands to check for the required software documented below are correct, but the actual results of the check may vary per OS distribution and version.

    + +

    Prepare your environment

    +

    In this guide, you will be building and running EdgeX in "non-secure" mode. That is, you will be building and running the EdgeX platform without the security services and security configuration. An environmental variable, EDGEX_SECURITY_SECRET_STORE, is set to indicate whether the EdgeX services are expected to initialize and use the secure secret store. By default, this variable is set to true. Prior to building and running EdgeX, set this environment variable to false.

    +
    export EDGEX_SECURITY_SECRET_STORE=false 
    +
    +

    This can be done in the terminal from which you build and run EdgeX or you can set it in your user's profile to make an environment persist across terminal sessions. See How to Set Environment Variables in Linux for assistance.

    +

    Download EdgeX Source

    +

    In order to build and run EdgeX micro services, you will first need to get the source code for the platform. Using git, clone the EdgeX repositories with the following commands:

    +
    +

    Tip

    +

    You may wish to create a new folder and then issue these git commands from that folder so that all EdgeX code is neatly stored in a single folder.

    +
    +
    git clone https://github.com/edgexfoundry/edgex-go.git
    +git clone https://github.com/edgexfoundry/device-virtual-go.git
    +git clone https://github.com/edgexfoundry/app-service-configurable.git
    +git clone https://github.com/lf-edge/ekuiper.git
    +git clone https://github.com/edgexfoundry/edgex-ui-go.git
    +
    +

    Note that a new folder, named for the repository, gets created containing source code with each of the git clones above.

    +
    +

    Warning

    +

    These git clone operations pull from the main branch of the EdgeX repositories. This is the current working branch in EdgeX development. See the git clone documentation for how to clone a specific named release branch or version tag.

    +
    +

    Build EdgeX Services

    +

    With the source code, you can now build the EdgeX services, GUI, as well as eKuiper rules engine.

    +

    Build Core and Supporting Services

    +

    Most of the services are in the edgex-go folder. This folder contains the code for the core and supporting services. A single command in this repository will build several of the services.

    +

    Enter the edgex-go folder and issue the make build command as shown below.

    +

    image

    +
    +

    Warning

    +

    Depending on the amount of memory your system has, building the services in edgex-go can take several minutes (in the case of a Raspberry Pi 3, build time for edgex-go services can take as much as 30-45 minutes and a device service is taking about 10-15 minutes to build).

    +
    +
    +

    Note

    +

    Building the services in edgex-go folder will actually build some of the services (such as the security services) not used in this guide, but issuing a single command is the easiest way to build the services needed without having to build services one by one.

    +
    +

    Build the Virtual Device Service

    +

    The virtual device service simulates devices/sensors sending data to EdgeX as if it was a "thing". This guide uses the virtual device service to exemplify how other devices services can be built and run.

    +

    Enter the device-virtual-go folder and issue the make build command as shown below.

    +

    image

    +

    Build the Configurable Application Service

    +

    The configurable application service helps prepare device/sensor data for enterprise or cloud systems. It also prepares data for use by the rules engine - eKuiper

    +

    Enter the app-service-configurable folder and issue the make build command as shown below.

    +

    image

    +

    Build eKuiper

    +

    Sister Linux Foundation, LF Edge project eKuiper is the reference implementation rules engine for EdgeX.

    +

    Enter the ekuiper folder and issue the make build_with_edgex command as shown below.

    +

    image

    +
    +

    Note

    +

    eKuiper does also provide binaries which can be downloaded and used without the need for builds.

    +
    +

    Build the GUI

    +

    EdgeX provides a graphical user interface for exploring a single instance of the EdgeX platform. The GUI makes it easier to work with EdgeX and see sample data coming from sensors. It provides a means to check that EdgeX is working correctly, monitor EdgeX and even make some configuration changes.

    +

    Enter the edgex-ui-go folder and issue the make build command as shown below.

    +

    image

    +

    Run EdgeX

    +

    Provided everything built correctly and without issue, you can now start your EdgeX services one at a time. First make sure Redis Server is running. If Redis is not running, start it before the other services. If it is running, you can start each of the EdgeX services in order as listed below.

    +

    Start Consul

    +

    Start Consul Agent with the following command.

    +
    nohup consul agent -ui -bootstrap -server -client 0.0.0.0 -data-dir=tmp/consul &
    +
    +

    The nohup is used to execute the command and ignore all SIGHUP (hangup) signals. The & says to execute the process in the background. Both nohup and & will be used to run each of the services so that the same terminal can be used and the output will be directed to local nohup.out log files.

    +

    If Consul is running correctly, you should be able to reach the Consul UI through a browser at http://(host address):8500

    +

    image

    +

    Start Core Metadata

    +

    Each of core and supporting EdgeX services are located in edgex-go/cmd under a subfolder by the service name. In the first case, core-metadate is located in edgex-go/cmd/core-metadata. Change directories to the core-metadata service subfolder and then run the executable found in the subfolder with -cp and -registry command line options as shown below.

    +
    cd edgex-go/cmd/core-metadata/
    +nohup ./core-metadata -cp=consul.http://localhost:8500 -registry &
    +
    +

    The -cp=consul.http://localhost:8500 command line parameter tells core-metadata to use Consul and where to find Consul running. The -registry command line parameter tells core-metadata to use (and register with) the registry service. Both of these command line parameters will be use when launching all EdgeX services.

    +

    Start the other Core and Supporting Services

    +

    In a similar fashion, enter each of the other core and supporting service folders in edgex-go/cmd and launch the services.

    +
    cd ../core-data
    +nohup ./core-data -cp=consul.http://localhost:8500 -registry &
    +cd ../core-command
    +nohup ./core-command -cp=consul.http://localhost:8500 -registry &
    +cd ../support-notifications/
    +nohup ./support-notifications -cp=consul.http://localhost:8500 -registry &
    +cd ../support-scheduler/
    +nohup ./support-scheduler -cp=consul.http://localhost:8500 -registry &
    +
    +
    +

    Tip

    +

    If you still have the Consul UI up, you should see each of the EdgeX core and supporting services listed in Consul's Services page with green check marks next to them suggesting they are running.

    +

    image

    +
    +

    Start Configurable Application Service

    +

    The configurable application service is located in the root of app-service-configurable folder.

    +

    image

    +

    The configurable application service is started in a similar way as the other EdgeX services. The configurable application service is going to be used to route data to the rules engine. Therefore, an additional command line parameter (p) is added to its launch command to tell the app service to use the rules engine configuration and profile.

    +
    nohup ./app-service-configurable -cp=consul.http://localhost:8500 -registry -p=rules-engine &
    +
    +

    Start the Virtual Device Service

    +

    The virtual device service is also started in similar way as the other EdgeX services. The virtual device service manufactures data as if it was to come from a sensor and sends that data into the rest of EdgeX. By default, the virtual device service will generate random numbers (integers, unsigned integers, floats), booleans and even binary data as simulated sensor data. The virtual device service is located in the device-virtual-go/cmd folder.

    +

    image

    +

    Change directories to the virtual device service's cmd folder and then launch the service with the command shown below.

    +
    nohup ./device-virtual -cp=consul.http://localhost:8500 -registry &
    +
    +

    Start the GUI

    +

    The EdgeX graphical user interface (GUI) provides an easy to use visual tool to monitor data passing through EdgeX services. It also provides some capability to change an EdgeX instance's configuration or metadata. The EdgeX GUI is located in the edgex-ui-go/cmd/edgex-ui-server folder.

    +

    image

    +

    Change directories to the GUI's cmd/edgex-ui-server folder and then launch the GUI with the command shown below.

    +
    nohup ./edgex-ui-server &
    +
    +

    If the GUI is running correctly, you should be able to reach the GUI through a browser at http://(host address):4000. It may take a few seconds for the GUI to initialize once you hit the URL.

    +

    image

    +
    +

    Note

    +

    Some elements of the GUI will not work as you do not have all available EdgeX services running. Notably, the System Management service and its executor are not running so the System view of the GUI will display an error. By default, the System Management service and its executor operate by checking on the other services memory, CPU, etc. via Docker Stats. In this case, since you are not running Docker containers, the System Management service would not function.

    +
    +

    Start eKuiper

    +

    eKuiper is the reference implementation rules engine that is typically run with EdgeX by default. It is a lightweight, easy to use rules engine. Rules can be established using SQL. It is a sister project under the LF Edge umbrella project.

    +

    eKuiper's executable (called kuiperd) is located in the ekuiper/_build/kuiper-*version*-linux-arm/bin folder. Note that the location is in a _build folder subfolder created when you built eKuiper. The subfolder is named for the eKuiper version, OS, architecture.

    +

    image

    +

    Change directories to the ekuiper/_build/kuiper-*version*-linux-arm/bin folder.

    +

    Set eKuiper Environment Variables

    +

    As a 3rd party component, eKuiper can be setup to work with many streams of data from various systems or engines. It must be provided knowledge about where it is receiving data and how to handle/treat the incoming data. Therefore, before launching eKuiper, execute the following export of environmental variables in order to tell eKuiper where to receive data coming from the EdgeX configurable application service (via the EdgeX message bus).

    +
    export CONNECTION__EDGEX__REDISMSGBUS__PORT=6379
    +export CONNECTION__EDGEX__REDISMSGBUS__PROTOCOL=redis
    +export CONNECTION__EDGEX__REDISMSGBUS__SERVER=localhost
    +export CONNECTION__EDGEX__REDISMSGBUS__TYPE=redis
    +export EDGEX__DEFAULT__PORT=6379
    +export EDGEX__DEFAULT__PROTOCOL=redis
    +export EDGEX__DEFAULT__SERVER=localhost
    +export EDGEX__DEFAULT__TOPIC=rules-events
    +export EDGEX__DEFAULT__TYPE=redis
    +export KUIPER__BASIC__CONSOLELOG="true"
    +export KUIPER__BASIC__RESTPORT=59720
    +
    +

    Setting these environment variables must be done in the same terminal from which you plan to execute the eKuiper server.

    +

    Run eKuiper

    +

    From the ekuiper/_build/kuiper-*version*-linux-arm folder, and with the environmental variables set, launch eKuiper's server with the command shown below.

    +
    nohup ./bin/kuiperd &
    +
    +
    +

    Warning

    +

    There is both a kuiper and a kuiperd executable in the bin folder. Make sure you are running kuiperd.

    +
    +

    If eKuiper is running correctly, the RuleEngine tab in the EdgeX GUI should offer the ability to define eKuiper Streams and Rules as shown below.

    +

    image

    +

    If eKuiper is not running correctly or if the environmental variables where incorrectly set, then you will see an error screen like that shown below.

    +

    image

    +

    Test and Explore EdgeX

    +

    With EdgeX up and running (inclusive of Consul, Redis, and eKuiper), you can try these quick tests to see that EdgeX is running correctly.

    +

    See sensor data flowing through EdgeX

    +

    You have already been using Consul and the EdgeX GUI to check on some items of EdgeX in this tutorial. You can use the EdgeX GUI to further check that sensor data is flowing through the system.

    +

    In a browser, go to http://(host address):4000. Remember, it may take a few seconds for the GUI to initialize once you hit the URL. Once the GUI displays, find and click on the DataCenter link on the left hand navigation bar (highlighted below).

    +

    image

    +

    The DataCenter display allows you to see the EdgeX event/readings as they are persisted by the core data service to Redis. Simply press the >Start button to see the "stream" of simulated sensor data that was generated by the virtual device service and sent to EdgeX. The simulated data may take a second or two to start to display in the EventDataStream area of the GUI.

    +

    image

    +

    Press the Pause button to stop this display of data. Notice that you can see the EdgeX Events (and associated Readings) or just the Readings with the two tabs on this DataCenter display.

    +

    Check EdgeX service API

    +

    Each EdgeX micro service has a REST API associated with it. You can use curl or a browser to test that the service is up using its ping API. Below are curl commands to "ping" both core data and core metadata.

    +
      curl http://localhost:59880/api/v2/ping
    +  curl http://localhost:59881/api/v2/ping
    +
    +

    Each service should respond with JSON data to indicate it is able to respond to requests. Below is an example response from the core metadata "Ping" request.

    +
    {"apiVersion":"v2","timestamp":"Thu May 12 23:25:04 UTC 2022","serviceName":"core-metadata"}
    +
    +

    See the service port reference page for a list of service ports to check the ping API of other services.

    +

    As an added test, use curl to get the count of the number of events persisted by core data with the command below (you can also use a browser with the URL to get the same).

    +
    curl http://localhost:59880/api/v2/event/count
    +
    +

    The response will indicate a "count" of events stored (in this case 6270).

    +
    {"apiVersion":"v2","statusCode":200,"Count":6270}
    +
    +
    +

    Info

    +

    The full set of APIs for each service can be found in SwaggerHub. You can use the documentation to test other APIs as well.

    +
    +

    Set up an eKuiper Stream and Rule

    +

    While eKuiper is running, it is currently sitting idle since it has no rules on which to watch for data and execute commands. Set up a simple eKuiper rule to log any sensor data it sees. Use the GUI tool to establish the eKuiper stream and rule. Learn about Streams and Rules in the eKuiper documentation.

    +

    Establish the Stream

    +

    In the GUI, click on the Rules Engine link in the navigation bar on the left. Then, click on the Add button on the Stream tab. Allow the default EdgeX stream be created by hitting the Submit button.

    +

    image

    +

    Establish the Rule

    +

    Next, click on the Rules tab on the Rules Engine page. Then click on the Add button on the Rules tab in order to create a new eKuiper rule. In the form that appears, enter any name for the rule (TestRule is used below) in the Name field. Enter SELECT * FROM EdgeXStream in the RuleSQL field and add a log action - all as shown below in the form. Hit the Submit button when you have your rule established.

    +

    image

    +

    Check the Rule Engine is firing

    +

    With the stream and rule defined, you have asked eKuiper to fire a log entry each time it sees a new EdgeX event/reading come through it. In the future, you could have eKuiper look for particular events/readings (e.g., thermostat readings above a specified temperature) produced by a particular sensor in order to issue commands to some device. But for now, you can check the eKuiper log to see that the rule engine is working and publishing a message to the log with each event/reading.

    +

    In the ekuiper/_build/kuiper-*version*-linux-arm/log folder, you will find a stream.log file.

    +

    image

    +

    If you use Linux tail, you can see that the eKuiper rules engine is firing a log entry for each virtual device service record that flows through EdgeX. Issue the following command to see the log entries occur in real time:

    +
      tail -f stream.log
    +
    +

    image

    +
    +

    Info

    +
    +

    Seeing the eKuiper rules engine fire a log entry into a file for each EdgeX event/reading that comes through, has allowed you to confirm and see the entire EdgeX system is working properly.

    +
      +
    • It started with the virtual device service creating an EdgeX event/reading to simulate a real sensor reading that was sent via message bus to both the core data and the configurable application services.
        +
      • The GUI allowed you to see the EdgeX event/readings that were stored in the database by the core data service.
      • +
      +
    • +
    • The application service had to pick up the EdgeX event/reading off the message bus and send it to the eKuiper rules engine.
    • +
    • The rules engine then picked up the EdgeX event/reading and fire an entry into the log.
    • +
    +

    Debugging and Troubleshooting

    +

    With the nohup command on each service, the log file contents are redirected to a file (nohup.out) in the directory where you started each service. if you find that a service does not appear to be running or if it is running but not working correctly, check the nohup.out file for any errors or issues. In the example below, the core data's nohup.out log file is explored.

    +

    image

    + + +
    + +
    +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/2.3/getting-started/native/Ch-BuildRunOnLinuxDistro/index.html b/2.3/getting-started/native/Ch-BuildRunOnLinuxDistro/index.html index 2c40ed0ce6..8a8a27ff8d 100644 --- a/2.3/getting-started/native/Ch-BuildRunOnLinuxDistro/index.html +++ b/2.3/getting-started/native/Ch-BuildRunOnLinuxDistro/index.html @@ -958,6 +958,20 @@ +
  • + + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + +
  • Build and Run on Windows on x86/x64 @@ -3707,13 +3721,13 @@

    Debugging and Troubleshooting

    -
  • + Build and Run on Linux on ARM 32 + +
  • + + + + + + + + @@ -3551,7 +3565,7 @@

    Debugging and Troubleshooting