Skip to content

Commit d81ca16

Browse files
committed
Clarify and cross link installation docs
1 parent 1c46c20 commit d81ca16

File tree

4 files changed

+124
-38
lines changed

4 files changed

+124
-38
lines changed

articles/iot-edge/how-to-install-iot-edge-linux-arm.md

Lines changed: 53 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
---
2-
title: How to install Azure IoT Edge on Linux | Microsoft Docs
3-
description: Azure IoT Edge installation instructions on Linux on ARM32
2+
title: Install Azure IoT Edge on Linux ARM32 | Microsoft Docs
3+
description: Azure IoT Edge installation instructions on Linux on ARM32 devices, like a Raspberry PI
44
author: kgremban
55
manager: timlt
66
# this is the PM responsible
77
ms.reviewer: veyalla
88
ms.service: iot-edge
99
services: iot-edge
1010
ms.topic: conceptual
11-
ms.date: 08/14/2018
11+
ms.date: 08/27/2018
1212
ms.author: kgremban
1313
---
1414
# Install Azure IoT Edge runtime on Linux (ARM32v7/armhf)
1515

16-
The Azure IoT Edge runtime is deployed on all IoT Edge devices. It has three components. The **IoT Edge security daemon** provides and maintains security standards on the Edge device. The daemon starts on every boot and bootstraps the device by starting the IoT Edge agent. The **IoT Edge agent** facilitates deployment and monitoring of modules on the Edge device, including the IoT Edge hub. The **IoT Edge hub** manages communications between modules on the IoT Edge device, and between the device and IoT Hub.
16+
The Azure IoT Edge runtime is what turns a device into an IoT Edge device. The runtime can be deployed on devices as small as Raspberry Pis or as large as industrial servers. Once a device is configured with the IoT Edge runtime, it can start receiving code deployments from the cloud.
1717

18-
This article lists the steps to install the Azure IoT Edge runtime on a Linux ARM32v7/armhf Edge device (for example, Raspberry Pi).
18+
To learn more about how the IoT Edge runtime works and what components are included, see [Understand the Azure IoT Edge runtime and its architecture](iot-edge-runtime.md).
19+
20+
This article lists the steps to install the Azure IoT Edge runtime on a Linux ARM32v7/armhf Edge device. For example, these steps would work for Raspberry Pi devices. Refer to [Azure IoT Edge support](support.md#operating-systems) for a list of ARM32 operating systems that are currently supported.
1921

2022
>[!NOTE]
2123
>Packages in the Linux software repositories are subject to the license terms located in each package (/usr/share/doc/*package-name*). Read the license terms prior to using the package. Your installation and use of the package constitutes your acceptance of these terms. If you do not agree with the license terms, do not use the package.
@@ -26,7 +28,7 @@ Azure IoT Edge relies on an [OCI-compatible][lnk-oci] container runtime. For pro
2628

2729
Commands below install both the Moby-based engine and command-line interface (CLI). The CLI is useful for development but optional for production deployments.
2830

29-
```cmd/sh
31+
```bash
3032

3133
# You can copy the entire text from this code block and
3234
# paste in terminal. The comment lines will be ignored.
@@ -44,7 +46,10 @@ sudo apt-get install -f
4446

4547
## Install the IoT Edge Security Daemon
4648

47-
```cmd/sh
49+
The **IoT Edge security daemon** provides and maintains security standards on the Edge device. The daemon starts on every boot and bootstraps the device by starting the rest of the IoT Edge runtime.
50+
51+
52+
```bash
4853
# You can copy the entire text from this code block and
4954
# paste in terminal. The comment lines will be ignored.
5055

@@ -58,18 +63,26 @@ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -
5863
sudo apt-get install -f
5964
```
6065

61-
## Configure the Azure IoT Edge Security Daemon
66+
## Connect your device to an IoT hub
6267

68+
Configure the IoT Edge runtime to link your physical device with a device identity that exists in an Azure IoT hub.
6369

6470
The daemon can be configured using the configuration file at `/etc/iotedge/config.yaml`. The file is write-protected by default, you might need elevated permissions to edit it.
6571

72+
A single IoT Edge device can be provisioned manually using a device connections string provided by IoT Hub. Or, you can use the Device Provisioning Service to automatically provision devices, which is helpful when you have many devices to provision. Depending on your provisioning choice, choose the appropriate installation script.
73+
74+
### Option 1: Manual provisioning
75+
76+
To manually provision a device, you need to provide it with a [device connection string][lnk-dcs] that you can create by registering a new device in your IoT hub.
77+
78+
79+
Open the configuration file.
80+
6681
```bash
6782
sudo nano /etc/iotedge/config.yaml
6883
```
6984

70-
The edge device can be configured manually using a [device connection string][lnk-dcs] or [automatically via Device Provisioning Service][lnk-dps].
71-
72-
* For manual configuration, uncomment the **manual** provisioning mode. Update the value of **device_connection_string** with the connection string from your IoT Edge device.
85+
Find the provisioning section of the file and uncomment the **manual** provisioning mode. Update the value of **device_connection_string** with the connection string from your IoT Edge device.
7386

7487
```yaml
7588
provisioning:
@@ -83,7 +96,27 @@ The edge device can be configured manually using a [device connection string][ln
8396
# registration_id: "{registration_id}"
8497
```
8598

86-
* For automatic configuration, uncomment the **dps** provisioning mode. Update the values of **scope_id** and **registration_id** with the values from your IoT Hub DPS instance and your IoT Edge device with TPM.
99+
Save and close the file.
100+
101+
`CTRL + X`, `Y`, `Enter`
102+
103+
After entering the provisioning information in the configuration, restart the daemon:
104+
105+
```bash
106+
sudo systemctl restart iotedge
107+
```
108+
109+
### Option 2: Automatic provisioning
110+
111+
To automatically provision a device, [set up Device Provisioning Service and retrieve your device registration ID][lnk-dps] (DPS). Automatic provisioning only works with devices that have a Trusted Platform Module (TPM) chip. For example, Raspberry Pi devices do not come with TPM by default.
112+
113+
Open the configuration file.
114+
115+
```bash
116+
sudo nano /etc/iotedge/config.yaml
117+
```
118+
119+
Find the provisioning section of the file and uncomment the **dps** provisioning mode. Update the values of **scope_id** and **registration_id** with the values from your IoT Hub Device Provisioning Service and your IoT Edge device with TPM.
87120

88121
```yaml
89122
# provisioning:
@@ -103,12 +136,10 @@ Save and close the file.
103136

104137
After entering the provisioning information in the configuration, restart the daemon:
105138

106-
```cmd/sh
139+
```bash
107140
sudo systemctl restart iotedge
108141
```
109142

110-
>[!TIP]
111-
>You need elevated privileges to run `iotedge` commands. Once you sign out of your machine and sign back in the first time after installing the IoT Edge runtime, your permissions are automatically updated. Until then, use **sudo** in front of the commands.
112143

113144
## Verify successful installation
114145

@@ -131,13 +162,17 @@ And, list running modules with:
131162
```cmd/sh
132163
sudo iotedge list
133164
```
134-
>[!NOTE]
135-
>On resource constrained devices like RaspberryPi, it is highly recommended that *OptimizeForPerformance* environment variable is set to *false* as per instructions in the [troubleshooting guide.][lnk-trouble]
136165

137166

167+
## Tips and suggestions
168+
169+
You need elevated privileges to run `iotedge` commands. After installing the runtime, sign out of your machine and sign back in to update your permissions automatically. Until then, use **sudo** in front of any `iotedge` the commands.
170+
171+
On resource constrained devices, it is highly recommended that *OptimizeForPerformance* environment variable is set to *false* as per instructions in the [troubleshooting guide][lnk-trouble].
172+
138173
## Next steps
139174

140-
If you are having problems with the Edge runtime installing properly, checkout the [troubleshooting][lnk-trouble] page.
175+
If you are having problems with the Edge runtime installing properly, refer to the [troubleshooting][lnk-trouble] page.
141176

142177
<!-- Links -->
143178
[lnk-dcs]: how-to-register-device-portal.md

articles/iot-edge/how-to-install-iot-edge-linux.md

Lines changed: 55 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,24 @@ ms.reviewer: veyalla
88
ms.service: iot-edge
99
services: iot-edge
1010
ms.topic: conceptual
11-
ms.date: 08/14/2018
11+
ms.date: 08/27/2018
1212
ms.author: kgremban
1313
---
1414
# Install the Azure IoT Edge runtime on Linux (x64)
1515

16-
The Azure IoT Edge runtime is deployed on all IoT Edge devices. It has three components. The **IoT Edge security daemon** provides and maintains security standards on the Edge device. The daemon starts on every boot and bootstraps the device by starting the IoT Edge agent. The **IoT Edge agent** facilitates deployment and monitoring of modules on the Edge device, including the IoT Edge hub. The **IoT Edge hub** manages communications between modules on the IoT Edge device, and between the device and IoT Hub.
16+
The Azure IoT Edge runtime is what turns a device into an IoT Edge device. The runtime can be deployed on devices as small as Raspberry Pis or as large as industrial servers. Once a device is configured with the IoT Edge runtime, it can start receiving code deployments from the cloud.
1717

18-
This article lists the steps to install the Azure IoT Edge runtime on your Linux x64 (Intel/AMD) Edge device.
18+
To learn more about how the IoT Edge runtime works and what components are included, see [Understand the Azure IoT Edge runtime and its architecture](iot-edge-runtime.md).
19+
20+
This article lists the steps to install the Azure IoT Edge runtime on your Linux x64 (Intel/AMD) Edge device. Refer to [Azure IoT Edge support](support.md#operating-systems) for a list of AMD64 operating systems that are currently supported.
1921

2022
>[!NOTE]
2123
>Packages in the Linux software repositories are subject to the license terms located in each package (/usr/share/doc/*package-name*). Read the license terms prior to using the package. Your installation and use of the package constitutes your acceptance of these terms. If you do not agree with the license terms, do not use the package.
2224
2325
## Register Microsoft key and software repository feed
2426

27+
Depending on your operating system, choose the appropriate scripts to prepare your device for the IoT Edge runtime installation.
28+
2529
### Ubuntu 16.04
2630

2731
```cmd/sh
@@ -73,24 +77,42 @@ sudo apt-get install moby-cli
7377

7478
## Install the Azure IoT Edge Security Daemon
7579

76-
Commands below will also install the standard version of the **iothsmlib** if not already present.
80+
The **IoT Edge security daemon** provides and maintains security standards on the Edge device. The daemon starts on every boot and bootstraps the device by starting the rest of the IoT Edge runtime.
81+
82+
The installation command also installs the standard version of the **iothsmlib** if not already present.
83+
84+
Update apt-get.
7785

7886
```bash
7987
sudo apt-get update
88+
```
89+
90+
Install the security daemon. The package is installed at `/etc/iotedge/`.
91+
92+
```bash
8093
sudo apt-get install iotedge
8194
```
8295

8396
## Configure the Azure IoT Edge Security Daemon
8497

98+
Configure the IoT Edge runtime to link your physical device with a device identity that exists in an Azure IoT hub.
99+
85100
The daemon can be configured using the configuration file at `/etc/iotedge/config.yaml`. The file is write-protected by default, you might need elevated permissions to edit it.
86101

102+
A single IoT Edge device can be provisioned manually using a device connections string provided by IoT Hub. Or, you can use the Device Provisioning Service to automatically provision devices, which is helpful when you have many devices to provision. Depending on your provisioning choice, choose the appropriate installation script.
103+
104+
### Option 1: Manual provisioning
105+
106+
To manually provision a device, you need to provide it with a [device connection string][lnk-dcs] that you can create by registering a new device in your IoT hub.
107+
108+
109+
Open the configuration file.
110+
87111
```bash
88112
sudo nano /etc/iotedge/config.yaml
89113
```
90114

91-
The edge device can be configured manually using a [device connection string][lnk-dcs] or [automatically via Device Provisioning Service][lnk-dps].
92-
93-
* For manual configuration, uncomment the **manual** provisioning mode. Update the value of **device_connection_string** with the connection string from your IoT Edge device.
115+
Find the provisioning section of the file and uncomment the **manual** provisioning mode. Update the value of **device_connection_string** with the connection string from your IoT Edge device.
94116

95117
```yaml
96118
provisioning:
@@ -104,7 +126,27 @@ The edge device can be configured manually using a [device connection string][ln
104126
# registration_id: "{registration_id}"
105127
```
106128

107-
* For automatic configuration, uncomment the **dps** provisioning mode. Update the values of **scope_id** and **registration_id** with the values from your IoT Hub DPS instance and your IoT Edge device with TPM.
129+
Save and close the file.
130+
131+
`CTRL + X`, `Y`, `Enter`
132+
133+
After entering the provisioning information in the configuration, restart the daemon:
134+
135+
```bash
136+
sudo systemctl restart iotedge
137+
```
138+
139+
### Option 2: Automatic provisioning
140+
141+
To automatically provision a device, [set up Device Provisioning Service and retrieve your device registration ID][lnk-dps] (DPS). Automatic provisioning only works with devices that have a Trusted Platform Module (TPM) chip. For example, Raspberry Pi devices do not come with TPM by default.
142+
143+
Open the configuration file.
144+
145+
```bash
146+
sudo nano /etc/iotedge/config.yaml
147+
```
148+
149+
Find the provisioning section of the file and uncomment the **dps** provisioning mode. Update the values of **scope_id** and **registration_id** with the values from your IoT Hub Device Provisioning Service and your IoT Edge device with TPM.
108150

109151
```yaml
110152
# provisioning:
@@ -118,15 +160,16 @@ The edge device can be configured manually using a [device connection string][ln
118160
registration_id: "{registration_id}"
119161
```
120162
163+
Save and close the file.
164+
165+
`CTRL + X`, `Y`, `Enter`
166+
121167
After entering the provisioning information in the configuration, restart the daemon:
122168

123-
```cmd/sh
169+
```bash
124170
sudo systemctl restart iotedge
125171
```
126172

127-
>[!TIP]
128-
>You need elevated privileges to run `iotedge` commands. Once you sign out of your machine and sign back in the first time after installing the IoT Edge runtime, your permissions are automatically updated. Until then, use **sudo** in front of the commands.
129-
130173
## Verify successful installation
131174

132175
If you used the **manual configuration** steps in the previous section, the IoT Edge runtime should be successfully provisioned and running on your device. If you used the **automatic configuration** steps, then you need to complete some additional steps so that the runtime can register your device with your IoT hub on your behalf. For next steps, see [Create and provision a simulated TPM Edge device on a Linux virtual machine](how-to-auto-provision-simulated-device-linux.md#give-iot-edge-access-to-the-tpm).

articles/iot-edge/how-to-install-iot-edge-windows-with-linux.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,16 @@ ms.reviewer: veyalla
88
ms.service: iot-edge
99
services: iot-edge
1010
ms.topic: conceptual
11-
ms.date: 08/06/2018
11+
ms.date: 08/27/2018
1212
ms.author: kgremban
1313
---
1414
# Install Azure IoT Edge runtime on Windows to use with Linux containers
1515

16-
The Azure IoT Edge runtime is deployed on all IoT Edge devices. It has three components. The **IoT Edge security daemon** provides and maintains security standards on the Edge device. The daemon starts on every boot and bootstraps the device by starting the IoT Edge agent. The **IoT Edge agent** facilitates deployment and monitoring of modules on the Edge device, including the IoT Edge hub. The **IoT Edge hub** manages communications between modules on the IoT Edge device, and between the device and IoT Hub.
16+
The Azure IoT Edge runtime is what turns a device into an IoT Edge device. The runtime can be deployed on devices as small as Raspberry Pis or as large as industrial servers. Once a device is configured with the IoT Edge runtime, it can start receiving code deployments from the cloud.
1717

18-
This article lists the steps to install the Azure IoT Edge runtime on your Windows x64 (AMD/Intel) system. Windows support is currently in Preview.
18+
To learn more about how the IoT Edge runtime works and what components are included, see [Understand the Azure IoT Edge runtime and its architecture](iot-edge-runtime.md).
19+
20+
This article lists the steps to install the Azure IoT Edge runtime with Linux containers on your Windows x64 (AMD/Intel) system. Windows support is currently in Preview.
1921

2022
>[!NOTE]
2123
Using Linux containers on Windows sytems is not a recommended or supported production configuration for Azure IoT Edge. However, it can be used for development and testing purposes.
@@ -25,6 +27,8 @@ Azure IoT Edge can be used for development and testing on following versions of
2527
* Windows 10 or newer desktop operating systems.
2628
* Windows Server 2016 or new server operating systems.
2729

30+
For more information about which operating systems are currently supported, refer to [Azure IoT Edge support](support.md#operating-systems).
31+
2832
## Install the container runtime
2933

3034
Azure IoT Edge relies on a [OCI-compatible][lnk-oci] container runtime (for example, Docker).
@@ -38,7 +42,7 @@ You can use [Docker for Windows][lnk-docker-for-windows] for development and tes
3842
3943
A single IoT Edge device can be provisioned manually using a device connections string provided by IoT Hub. Or, you can use the Device Provisioning Service to automatically provision devices, which is helpful when you have many devices to provision. Depending on your provisioning choice, choose the appropriate installation script.
4044

41-
### Install and manually provision
45+
### Option 1: Install and manually provision
4246

4347
1. Follow the steps in [Register a new Azure IoT Edge device][lnk-dcs] to register your device and retrieve the device connection string.
4448

@@ -53,7 +57,7 @@ A single IoT Edge device can be provisioned manually using a device connections
5357

5458
4. When prompted for a **DeviceConnectionString**, provide the connection string that you retrieved from IoT Hub. Do not include quotes around the connection string.
5559

56-
### Install and automatically provision
60+
### Option 2: Install and automatically provision
5761

5862
1. Follow the steps in [Create and provision a simulated TPM Edge device on Windows][lnk-dps] to set up the Device Provisioning Service and retrieve its **Scope ID**, simulate a TPM device and retrieve its **Registration ID**, then create an individual enrollment. Once your device is registered in your IoT Hub, continue with the installation.
5963

articles/iot-edge/how-to-install-iot-edge-windows-with-windows.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,16 @@ ms.reviewer: veyalla
88
ms.service: iot-edge
99
services: iot-edge
1010
ms.topic: conceptual
11-
ms.date: 08/06/2018
11+
ms.date: 08/27/2018
1212
ms.author: kgremban
1313
---
1414
# Install Azure IoT Edge runtime on Windows to use with Windows containers
1515

16-
The Azure IoT Edge runtime is deployed on all IoT Edge devices. It has three components. The **IoT Edge security daemon** provides and maintains security standards on the Edge device. The daemon starts on every boot and bootstraps the device by starting the IoT Edge agent. The **IoT Edge agent** facilitates deployment and monitoring of modules on the Edge device, including the IoT Edge hub. The **IoT Edge hub** manages communications between modules on the IoT Edge device, and between the device and IoT Hub.
16+
The Azure IoT Edge runtime is what turns a device into an IoT Edge device. The runtime can be deployed on devices as small as Raspberry Pis or as large as industrial servers. Once a device is configured with the IoT Edge runtime, it can start receiving code deployments from the cloud.
1717

18-
This article lists the steps to install the Azure IoT Edge runtime on your Windows x64 (AMD/Intel) system.
18+
To learn more about how the IoT Edge runtime works and what components are included, see [Understand the Azure IoT Edge runtime and its architecture](iot-edge-runtime.md).
19+
20+
This article lists the steps to install the Azure IoT Edge runtime with Windows containers on your Windows x64 (AMD/Intel) system.
1921

2022
Windows support is currently in Preview.
2123

@@ -24,6 +26,8 @@ Azure IoT Edge with Windows containers can be used with:
2426
* Windows 10/IoT Enterprise/IoT Core with April 2018 update (Build 17134).
2527
* Windows Server 1803
2628

29+
For more information about which operating systems are currently supported, refer to [Azure IoT Edge support](support.md#operating-systems).
30+
2731
## Install the container runtime
2832

2933
>[!NOTE]

0 commit comments

Comments
 (0)