Support - Azure/iotedge-eflow GitHub Wiki

Table of Contents

  1. What kind of support does Microsoft provide for Azure IoT Edge for Linux on Windows (EFLOW)?
  2. What state will the EFLOW VM be in when I restart the host machine?
  3. Can I report bugs?
  4. How can I debug issues with EFLOW?
  5. How can I check the EFLOW version?
  6. How can I install a Linux package?
  7. Issue: Reboot the EFLOW VM from inside VM will stop the VM but won't start again
  8. Issue: Double EFLOW Installation
  9. Issue: EFLOW VM is running out of space
  10. Issue: Systemd-Journald high memory usage

What kind of support does Microsoft provide for Azure IoT Edge for Linux on Windows (EFLOW)?

Review our support in the EFLOW Support section.

What state will the EFLOW VM be in when I restart the host machine?

The lifecycle of the EFLOW VM is managed by our EFLOW installation. On every reboot of the Windows host OS, we will make sure the EFLOW VM is in the same state as it was before the reboot.

Can I report bugs?

Yes, you can report bugs using our EFLOW GitHub Issues page. Ensure to follow our guidelines of Microsoft Open Source Code of Conduct. and use our EFLOW Issue Templates.

How can I debug issues with EFLOW?

Start by checking that all the minimum requirements are being met. Also, review our EFLOW Installation & Configuration guide. If you want advanced debugging and troubleshooting, it's possible to establish an SSH connection to the EFLOW VM and access the VM logs.

How can I check the EFLOW version?

  1. Open Settings on Windows 10
  2. Select Add or Remove Programs
  3. Select Azure IoT Edge app
  4. Check the version number

How can I install a Linux package?

CBL-Mariner does not support Apt-Get but rather TDNF as its package manager. That said, we have purposefully removed the package manager as we do not support modifications to the EFLOW VM image composition. We do our servicing through Microsoft Update and swap the previous image with the new image using A – B updates. Doing so would wipe out any composition changes that you would make if you could.

Issue: Reboot the EFLOW VM from inside VM will stop the VM but won't start again

If the user runs sudo reboot or sudo shutdown -r now from inside the VM, the VM will shut down but won't start again. If this happens, the user will have to start the EFLOW VM manually using the Start-EflowVm. In order to reboot the EFLOW VM, the suggested way is to always use Stop-EflowVm and then Start-EflowVm.

Issue: Double EFLOW Installation

EFLOW 1.1.2108.0 introduced a bug that results in having two instances of EFLOW. This is not a supported scenario and will prevent EFLOW from working correctly. To fix this issue, use the following instructions:

  1. Download Microsoft Program Install and Uninstall
  2. Run the downloaded tool
  3. Select Next and wait for the problem detection to end
  4. Select Uninstalling
  5. Wait for problem detection ends (can take some minutes)
  6. Select Azure IoT Edge LTS from the list
  7. Select Yes, try uninstall and wait for the uninstallation to finish
  8. Repeat previous steps with the second installed instance of EFLOW

Issue: EFLOW VM is running out of space

EFLOW installation will use 16GB VHDX by default. You can change the Disk Size during deployment time, using the -vmDiskSizeand assigning the size in GB.

Furthermore, we've found that Docker logs size can be an issue. To limit Docker logs size, check Docker - Configure logging drivers.

Issue: Systemd-Journald high memory usage

Journald is architected so that the memory usage is bound to the possible maximum of the active log file (the one currently written to). This value can be correlated to the setting of "SystemMaxFileSize" under journald configuration. The lower the value is, the less of the working memory the journald will use.

By default, the value of "SystemMaxFileSize" is 1/8 of the maximum total logs size (1GB in CBL-Mariner by default), so journald at most will map 250MB (125MB for active system journal + 125MB for active user journal) into the working memory. This value can be changed to meet the user requirements.

To modify the value, follow these steps:

  1. Modify /etc/systemd/journald.conf to add "SystemMaxFileSize" to indirectly cap the journald memory usage
  2. sudo systemctl daemon-reload
  3. sudo systemctl restart systemd-journald
  4. sudo journalctl --rotate

⚠️ **GitHub.com Fallback** ⚠️