Quickstart: Install the Azure Sphere SDK for Linux

You can install the Azure Sphere SDK on a computer running the Linux operating system to develop, deploy, and debug Azure Sphere applications.

Prerequisites

The Azure Sphere SDK installation requires the following prerequisites:

  • A computer running Ubuntu 20.04 LTS or 18.04 LTS
  • Linux sudo permission.
  • An internet connection or a way to transfer files from a computer that has an internet connection to your computer. For more information, see Install the SDK without an internet connection.

Add required Linux packages

Before you run the SDK installation script, you need to add required Linux packages to your computer if they are not already installed. Enter the following lines in a Linux terminal. You may omit packages that are already installed.

sudo apt-get update

sudo apt-get install -y net-tools curl

Install the Azure Sphere SDK

Follow these steps:

  1. Download the install script.

  2. Enable execution of the install script with this command:

    chmod +x install_azure_sphere_sdk.sh

  3. Run the install script. It asks questions and then installs the SDK.

  4. During installation, the script displays a message similar to this:

    The SDK tarball signature is valid. The fingerprint of the key used is:

    Primary key fingerprint: <hexadecimal>

    Navigate to Microsoft's public-key fingerprint site and verify that the hexadecimal fingerprint value displayed during installation matches matches the Microsoft Public Key Fingerprint that is shown on the page. Do not proceed if the two fingerprints don't match.

  5. If the fingerprints match and installation completes, reboot the computer.

After installation, the azsphere command is on the PATH and the new udev rules for your device are at /etc/udev/rules.d/.

The script installs the SDK to /opt/azurespheresdk and the toolchains to /opt/azurespheresdk/Sysroots/sysroot-version/tools, where sysroot-version identifies a sysroot against which the SDK supports app development.

Set up a device connection

The Azure Sphere SDK for Linux sets up the required networking settings to allow communication with the attached device. Connect your device to your computer by USB and then run the following script as sudo:

sudo /opt/azurespheresdk/Tools/azsphere_connect.sh

You must supply the full path to the script because sudo replaces the PATH variable before a call. You can also supply the following PATH alternative:

sudo $(which azsphere_connect.sh).

If you haven't run azsphere_connect.sh and attempt to run an azsphere command that communicates with a local device, you will be prompted to run the script.

Important

You must run this script whenever you reboot the machine or detach and reattach the device.

udev rules

The Azure Sphere SDK specifies udev rules for your computer's device information. The SDK creates a new group called azsphere and adds the currently logged-in user to the group. The udev rule grants ownership of USB devices matching the Azure Sphere device description. After you install the SDK and reboot your computer, you will not need to use sudo for device recovery or ARM Cortex-M4 debugging.

The azsphere group is added in order to grant permissions using the udev rule. Do not modify the group manually.

Install the SDK without an internet connection

If you don't have an internet connection on the computer on which you're installing the SDK, you need to download three files to a computer that is connected to the internet and transfer them to the installation computer.

Download these three files:

On the installation computer, enable execution of the install script with this command:

chmod +x install_azure_sphere_sdk.sh

Run the install script using sudo. Include the -i parameter to specify the path to the SDK and the -k parameter to specify the path to the key. Your command should be similar to this:

sudo ./install_azure_sphere_sdk.sh -i [pathtopackage]/[sdkbundle] -k [pathtokey]/microsoft.asc

Set up your development environment

You can develop Azure Sphere apps on Linux using either Visual Studio Code or the command-line interface (CLI). No matter which you use, you'll need to install CMake and Ninja on your development machine, if you don't already have them.

To install CMake and Ninja, use the following command:

sudo apt install cmake ninja-build

Note

Do not install cmake or ninja using snap.

If you want to use Visual Studio Code as your development environment, you need to install it and the Azure Sphere Extension.

  1. Use the links in Download Visual Studio Code to install Visual Studio Code, if you haven't already done so.

  2. Install the Azure Sphere Extension from the Extension Marketplace, or in Visual Studio Code, search for Azure Sphere in the Extension Marketplace and install it.

  3. After installation, you should see Azure Sphere, C/C++, and CMake Tools extensions in the ENABLED Extensions pane in the Visual Studio Code IDE.

When installation is complete, the Readme page for the extension will open. The Readme page provides useful information about Visual Studio Code configuration and requirements, and is updated along with the extension. You can view the Readme page any time by opening the Extensions pane and selecting Azure Sphere.

After installation, configure Visual Studio Code with the path to the Azure Sphere SDK installation directory:

  1. In the File menu select Preferences > Settings > Extensions > AzureSphere.

  2. Under Azure Sphere: Sdk Path, ensure that the path to the Azure Sphere SDK installation directory is /opt/azurespheresdk.

Next steps