Skip to content

Commit 445056e

Browse files
authored
Merge pull request #312434 from sethmanheim/iotfrsh2-27
IoT Edge freshness pass
2 parents 7eb169c + 31ae887 commit 445056e

11 files changed

Lines changed: 236 additions & 238 deletions

articles/iot-edge/how-to-provision-single-device-linux-on-windows-symmetric.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.author: sethm
66
ms.service: azure-iot-edge
77
services: iot-edge
88
ms.topic: how-to
9-
ms.date: 05/16/2025
9+
ms.date: 03/02/2026
1010
ms.custom:
1111
- linux-related-content
1212
- sfi-ropc-nochange
@@ -24,7 +24,7 @@ The steps in this article walk through a process called manual provisioning, whe
2424

2525
* **Symmetric keys**: When you create a new device identity in IoT Hub, the service creates two keys. You place one of the keys on the device, and it presents the key to IoT Hub when authenticating.
2626

27-
This authentication method is faster to get started, but not as secure.
27+
This authentication method is faster to get started, but isn't as secure.
2828

2929
* **X.509 self-signed**: You create two X.509 identity certificates and place them on the device. When you create a new device identity in IoT Hub, you provide thumbprints from both certificates. When the device authenticates to IoT Hub, it presents one certificate and IoT Hub verifies that the certificate matches its thumbprint.
3030

@@ -33,15 +33,15 @@ The steps in this article walk through a process called manual provisioning, whe
3333
This article covers using symmetric keys as your authentication method. If you want to use X.509 certificates, see [Create and provision an IoT Edge for Linux on Windows device using X.509 certificates](how-to-provision-single-device-linux-on-windows-x509.md).
3434

3535
> [!NOTE]
36-
> If you have many devices to set up and don't want to manually provision each one, use one of the following articles to learn how IoT Edge works with the IoT Hub device provisioning service:
36+
> If you need to set up many devices and don't want to manually provision each one, use one of the following articles to learn how IoT Edge works with the IoT Hub device provisioning service:
3737
>
3838
> * [Create and provision IoT Edge for Linux on Windows devices at scale using X.509 certificates](how-to-provision-devices-at-scale-linux-on-windows-x509.md)
3939
> * [Create and provision an IoT Edge for Linux on Windows device at scale by using a TPM](how-to-provision-devices-at-scale-linux-on-windows-tpm.md)
4040
> * [Create and provision IoT Edge for Linux on Windows devices at scale using symmetric keys](how-to-provision-devices-at-scale-linux-on-windows-symmetric.md)
4141
4242
## Prerequisites
4343

44-
This article covers registering your IoT Edge device and installing IoT Edge for Linux on Windows. These tasks have different prerequisites and utilities used to accomplish them. Make sure you have all the prerequisites covered before proceeding.
44+
This article covers registering your IoT Edge device and installing IoT Edge for Linux on Windows. These tasks have different prerequisites and use different utilities. Make sure you meet all the prerequisites before proceeding.
4545

4646
<!-- Device registration prerequisites H3 and content -->
4747
[!INCLUDE [iot-edge-prerequisites-register-device.md](includes/iot-edge-prerequisites-register-device.md)]
@@ -57,9 +57,9 @@ This article covers registering your IoT Edge device and installing IoT Edge for
5757

5858
## Provision the device with its cloud identity
5959

60-
You're ready to set up your device with its cloud identity and authentication information.
60+
Set up your device with its cloud identity and authentication information.
6161

62-
To provision your device using symmetric keys, you need your device's **connection string**.
62+
To provision your device using symmetric keys, you need your device *connection string*.
6363

6464
Run the following command in an elevated PowerShell session on your target device. Replace the placeholder text with your own values.
6565

@@ -71,18 +71,18 @@ For more information about the `Provision-EflowVM` command, see [PowerShell func
7171

7272
## Verify successful configuration
7373

74-
Verify that IoT Edge for Linux on Windows was successfully installed and configured on your IoT Edge device.
74+
Verify that IoT Edge for Linux on Windows is successfully installed and configured on your IoT Edge device.
7575

76-
1. Sign in to your IoT Edge for Linux on Windows virtual machine using the following command in your PowerShell session:
76+
1. Sign in to your IoT Edge for Linux on Windows virtual machine by using the following command in your PowerShell session:
7777

7878
```powershell
7979
Connect-EflowVm
8080
```
8181

82-
>[!NOTE]
83-
>The only account allowed to SSH to the virtual machine is the user that created it.
82+
> [!NOTE]
83+
> The only account allowed to SSH to the virtual machine is the user that created it.
8484
85-
1. Once you're logged in, you can check the list of running IoT Edge modules using the following Linux command:
85+
1. After you sign in, check the list of running IoT Edge modules by using the following Linux command:
8686

8787
```bash
8888
sudo iotedge list
@@ -96,23 +96,23 @@ Verify that IoT Edge for Linux on Windows was successfully installed and configu
9696
sudo iotedge system logs
9797
```
9898

99-
2. Use the `check` tool to verify configuration and connection status of the device.
99+
1. Use the `check` tool to verify configuration and connection status of the device.
100100

101101
```bash
102102
sudo iotedge check
103103
```
104104

105-
>[!NOTE]
106-
>On a newly provisioned device, you might see an error related to IoT Edge Hub:
105+
> [!NOTE]
106+
> On a newly provisioned device, you might see an error related to IoT Edge Hub:
107107
>
108-
>**× production readiness: Edge Hub's storage directory is persisted on the host filesystem - Error**
108+
> **× production readiness: Edge Hub's storage directory is persisted on the host filesystem - Error**
109109
>
110-
>**Could not check current state of edgeHub container**
110+
> **Could not check current state of edgeHub container**
111111
>
112-
>This error is expected on a newly provisioned device because the IoT Edge Hub module isn't running. To resolve the error, in IoT Hub, set the modules for the device and create a deployment. Creating a deployment for the device starts the modules on the device including the IoT Edge Hub module.
112+
> This error is expected on a newly provisioned device because the IoT Edge Hub module isn't running. To resolve the error, in IoT Hub, set the modules for the device and create a deployment. Creating a deployment for the device starts the modules on the device including the IoT Edge Hub module.
113113

114114

115-
When you create a new IoT Edge device, it displays the status code `417 -- The device's deployment configuration is not set` in the Azure portal. This status is normal, and means that the device is ready to receive a module deployment.
115+
When you create a new IoT Edge device, it displays the status code **417 -- The device's deployment configuration is not set** in the Azure portal. This status is normal, and means that the device is ready to receive a module deployment.
116116
117117
<!-- Uninstall IoT Edge for Linux on Windows H2 and content -->
118118
[!INCLUDE [uninstall-iot-edge-linux-on-windows.md](includes/iot-edge-uninstall-linux-on-windows.md)]

articles/iot-edge/how-to-retrieve-iot-edge-logs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ In the Azure portal, invoke the method with the method name `UploadModuleLogs` a
274274

275275
## Upload support bundle diagnostics
276276

277-
Use the **UploadSupportBundle** direct method to bundle and upload a zip file of IoT Edge module logs to an available Azure Blob Storage container. This direct method runs the [`iotedge support-bundle`](./troubleshoot.md#gather-debug-information-with-support-bundle-command) command on your IoT Edge device to obtain the logs.
277+
Use the **UploadSupportBundle** direct method to bundle and upload a zip file of IoT Edge module logs to an available Azure Blob Storage container. This direct method runs the [`iotedge support-bundle`](./troubleshoot.md#gather-debug-information-by-using-the-support-bundle-command) command on your IoT Edge device to obtain the logs.
278278

279279
> [!NOTE]
280280
> To upload logs from a device behind a gateway device, make sure the [API proxy and blob storage modules](how-to-configure-api-proxy-module.md) are set up on the top layer device. These modules route logs from your lower layer device through your gateway device to your storage in the cloud.

articles/iot-edge/includes/iot-edge-clean-up-cloud-resources.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ author: sethmanheim
66
ms.author: sethm
77
ms.service: azure-iot-edge
88
ms.topic: include
9-
ms.date: 11/07/2025
9+
ms.date: 02/27/2026
1010
ms.custom: include file
1111
---
1212

1313

1414
### Delete Azure resources
1515

16-
Deleting Azure resources and resource groups is irreversible. Make sure that you don't accidentally delete the wrong resource group or resources. If you created the IoT Hub inside an existing resource group that has resources that you want to keep, delete only the IoT Hub resource itself, not the resource group.
16+
You can't undo deleting Azure resources and resource groups. Make sure that you don't accidentally delete the wrong resource group or resources. If you created the IoT Hub inside an existing resource group that has resources you want to keep, delete only the IoT Hub resource itself, not the resource group.
1717

1818
To delete the resources:
1919

2020
1. Sign in to the [Azure portal](https://portal.azure.com), and then select **Resource groups**.
2121
1. Select the name of the resource group that contains your IoT Edge test resources.
22-
1. Review the list of resources that your resource group contains. If you want to delete all of them, you can select **Delete resource group**. If you want to delete only some of them, you can select each resource to delete them individually.
22+
1. Review the list of resources that your resource group contains. If you want to delete all of them, you can select **Delete resource group**. If you want to delete only some of them, select each resource to delete them individually.

articles/iot-edge/includes/iot-edge-install-linux-on-windows.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 01/16/2025
3+
ms.date: 03/02/2026
44
author: sethmanheim
55
ms.author: sethm
66
ms.service: azure-iot-edge
@@ -46,7 +46,7 @@ Deploy Azure IoT Edge for Linux on Windows on your target device.
4646
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
4747
```
4848

49-
1. Set the execution policy on the target device to `AllSigned` if it is not already. See the PowerShell prerequisites for commands to check the current execution policy and set the execution policy to `AllSigned`.
49+
1. Set the execution policy on the target device to `AllSigned` if it isn't already. See the PowerShell prerequisites for commands to check the current execution policy and set the execution policy to `AllSigned`.
5050

5151
1. Create the IoT Edge for Linux on Windows deployment. The deployment creates your Linux virtual machine and installs the IoT Edge runtime for you.
5252

@@ -55,9 +55,9 @@ Deploy Azure IoT Edge for Linux on Windows on your target device.
5555
```
5656

5757
>[!TIP]
58-
>By default, the `Deploy-Eflow` command creates your Linux virtual machine with 1 GB of RAM, 1 vCPU core, and 16 GB of disk space. However, the resources your VM needs are highly dependent on the workloads you deploy. If your VM does not have sufficient memory to support your workloads, it will fail to start.
58+
>By default, the `Deploy-Eflow` command creates your Linux virtual machine with 1 GB of RAM, 1 vCPU core, and 16 GB of disk space. However, the resources your VM needs are highly dependent on the workloads you deploy. If your VM doesn't have sufficient memory to support your workloads, it fails to start.
5959
>
60-
>You can customize the virtual machine's available resources using the `Deploy-Eflow` command's optional parameters. This is required to deploy EFLOW on a device with the minimum hardware requirements.
60+
>You can customize the virtual machine's available resources by using the `Deploy-Eflow` command's optional parameters. This customization is required to deploy EFLOW on a device with the minimum hardware requirements.
6161
>
6262
>For example, the following command creates a virtual machine with 1 vCPU core, 1 GB of RAM (represented in MB), and 2 GB of disk space:
6363
>
@@ -68,21 +68,21 @@ Deploy Azure IoT Edge for Linux on Windows on your target device.
6868
>For information about all the optional parameters available, see [PowerShell functions for IoT Edge for Linux on Windows](/azure/iot-edge/reference-iot-edge-for-linux-on-windows-functions#deploy-eflow).
6969
7070
>[!WARNING]
71-
>By default, the EFLOW Linux virtual machine has no DNS configuration. Deployments using DHCP will try to obtain the DNS configuration propagated by the DHCP server. Please check your DNS configuration to ensure internet connectivity. For more information, see [AzEFLOW-DNS](https://aka.ms/AzEFLOW-DNS).
71+
>By default, the EFLOW Linux virtual machine has no DNS configuration. Deployments using DHCP try to obtain the DNS configuration propagated by the DHCP server. Check your DNS configuration to ensure internet connectivity. For more information, see [AzEFLOW-DNS](https://aka.ms/AzEFLOW-DNS).
7272
7373
You can assign a GPU to your deployment to enable GPU-accelerated Linux modules. To gain access to these features, you need to install the prerequisites detailed in [GPU acceleration for Azure IoT Edge for Linux on Windows](/azure/iot-edge/gpu-acceleration).
7474
7575
To use a GPU passthrough, add the **gpuName**, **gpuPassthroughType**, and **gpuCount** parameters to your `Deploy-Eflow` command. For information about all the optional parameters available, see [PowerShell functions for IoT Edge for Linux on Windows](/azure/iot-edge/reference-iot-edge-for-linux-on-windows-functions#deploy-eflow).
7676
7777
>[!WARNING]
78-
>Enabling hardware device passthrough may increase security risks. Microsoft recommends a device mitigation driver from your GPU's vendor, when applicable. For more information, see [Deploy graphics devices using discrete device assignment](/windows-server/virtualization/hyper-v/deploy/deploying-graphics-devices-using-dda).
78+
>Enabling hardware device passthrough might increase security risks. Microsoft recommends a device mitigation driver from your GPU's vendor, when applicable. For more information, see [Deploy graphics devices using discrete device assignment](/windows-server/virtualization/hyper-v/deploy/deploying-graphics-devices-using-dda).
7979
80-
1. Enter 'Y' to accept the license terms.
80+
1. Enter **Y** to accept the license terms.
8181
82-
1. Enter 'O' or 'R' to toggle **Optional diagnostic data** on or off, depending on your preference.
82+
1. Enter **O** or **R** to toggle **Optional diagnostic data** on or off, depending on your preference.
8383
8484
1. Once the deployment is complete, the PowerShell window reports **Deployment successful**.
8585
86-
![A successful deployment will say 'Deployment successful' at the end of the messages, PNG.](media/iot-edge-install-linux-on-windows/successful-powershell-deployment.png)
86+
![Screenshot showing "Deployment successful" at the end of the messages.](media/iot-edge-install-linux-on-windows/successful-powershell-deployment.png)
8787
88-
After a successful deployment, you are ready to provision your device.
88+
After a successful deployment, you're ready to provision your device.
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 05/15/2025
3+
ms.date: 03/02/2026
44
author: sethmanheim
55
ms.author: sethm
66
ms.service: azure-iot-edge
@@ -12,45 +12,45 @@ services: iot-edge
1212

1313
A Windows device with the following minimum requirements:
1414

15-
* System Requirements
15+
* System requirements
1616
* Windows 10<sup>1</sup>/11 (Pro, Enterprise, IoT Enterprise)
1717
* Windows Server 2019<sup>1</sup>/2022
18-
<sub><sup>1</sup> Windows 10 and Windows Server 2019 minimum build 17763 with all current cumulative updates installed.</sub>
18+
<sub><sup>1</sup> Windows 10 and Windows Server 2019, minimum build 17763, with all current cumulative updates installed.</sub>
1919

2020
* Hardware requirements
21-
* Minimum Free Memory: 1 GB
22-
* Minimum Free Disk Space: 10 GB
21+
* Minimum free memory: 1 GB
22+
* Minimum free disk space: 10 GB
2323

2424
* Virtualization support
2525
* On Windows 10, enable Hyper-V. For more information, see [Install Hyper-V](/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v).
2626
* On Windows Server, install the Hyper-V role and create a default network switch. For more information, see [Nested virtualization for Azure IoT Edge for Linux on Windows](../nested-virtualization.md).
2727
* On a virtual machine, configure nested virtualization. For more information, see [Nested virtualization for Azure IoT Edge for Linux on Windows](../nested-virtualization.md).
2828

2929
* Networking support
30-
* Windows Server doesn't come with a default switch. Before you can deploy EFLOW to a Windows Server device, you need to create a virtual switch. For more information, see [Azure IoT Edge for Linux on Windows virtual switch creation](../how-to-create-virtual-switch.md).
31-
* Windows Desktop versions come with a default switch that can be used for EFLOW installation. If needed, you can create your own custom virtual switch.
30+
* Windows Server doesn't include a default switch. Before you can deploy EFLOW to a Windows Server device, you need to create a virtual switch. For more information, see [Azure IoT Edge for Linux on Windows virtual switch creation](../how-to-create-virtual-switch.md).
31+
* Windows Desktop versions include a default switch that you can use for EFLOW installation. If needed, you can create your own custom virtual switch.
3232

3333
> [!TIP]
34-
> If you want to use **GPU-accelerated Linux modules** in your Azure IoT Edge for Linux on Windows deployment, there are several configuration options to consider.
34+
> If you want to use **GPU-accelerated Linux modules** in your Azure IoT Edge for Linux on Windows deployment, consider several configuration options.
3535
>
3636
> You need to install the correct drivers depending on your GPU architecture, and you might need access to a Windows Insider Program build. To determine your configuration needs and satisfy these prerequisites, see [GPU acceleration for Azure IoT Edge for Linux on Windows](../gpu-acceleration.md).
3737
>
38-
> Make sure you take the time to satisfy the prerequisites for GPU acceleration now. You need to restart the installation process if you decide you want GPU acceleration during installation.
38+
> Make sure you satisfy the prerequisites for GPU acceleration now. You must restart the installation process if you decide you want GPU acceleration during installation.
3939
4040
### Developer tools
4141

4242
Prepare your target device for the installation of Azure IoT Edge for Linux on Windows and the deployment of the Linux virtual machine:
4343

44-
1. Set the execution policy on the target device to `AllSigned`. You can check the current execution policy in an elevated PowerShell prompt using the following command:
44+
1. Set the execution policy on the target device to `AllSigned`. You can check the current execution policy in an elevated PowerShell prompt by using the following command:
4545

4646
```powershell
4747
Get-ExecutionPolicy -List
4848
```
4949

50-
If the execution policy of `local machine` isn't `AllSigned`, you can set the execution policy using:
50+
If the execution policy for `local machine` isn't `AllSigned`, set the execution policy by using:
5151

5252
```powershell
5353
Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
5454
```
5555

56-
For more information on the Azure IoT Edge for Linux on Windows PowerShell module, see the [PowerShell functions reference](../reference-iot-edge-for-linux-on-windows-functions.md).
56+
For more information about the Azure IoT Edge for Linux on Windows PowerShell module, see the [PowerShell functions reference](../reference-iot-edge-for-linux-on-windows-functions.md).

articles/iot-edge/includes/iot-edge-uninstall-linux-on-windows.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 02/26/2026
3+
ms.date: 03/02/2026
44
author: sethmanheim
55
ms.author: sethm
66
ms.service: azure-iot-edge

articles/iot-edge/includes/iot-edge-version-all-supported.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ author: sethmanheim
66
ms.author: sethm
77
ms.service: azure-iot-edge
88
ms.topic: include
9-
ms.date: 08/28/2025
9+
ms.date: 02/27/2026
1010
ms.custom: include file
1111
---
1212

1313
**Applies to:** ![IoT Edge 1.5 checkmark](./media/iot-edge-version/yes-icon.png) IoT Edge 1.5
1414

1515
> [!IMPORTANT]
16-
> IoT Edge 1.5 LTS is the [supported release](../support.md#releases). IoT Edge 1.4 LTS is end of life as of November 12, 2024. If you are on an earlier release, see [Update IoT Edge](../how-to-update-iot-edge.md).
16+
> IoT Edge 1.5 LTS is the [supported release](../support.md#releases). IoT Edge 1.4 LTS reached end of life on November 12, 2024. If you're using an earlier release, see [Update IoT Edge](../how-to-update-iot-edge.md).

0 commit comments

Comments
 (0)