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:

  • An Azure Sphere development kit.
  • A computer with an x86-64-based processor running 64-bit Ubuntu 20.04 LTS or Ubuntu 18.04 LTS. Only Intel-compatible x86-64 processors are supported; other architectures such as ARM (including the Raspberry Pi), Itanium, or SPARC are not supported. The x86-64 architecture is also known as x64, x86_64, AMD64, and Intel 64.
  • 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. Navigate to the folder into which you downloaded the compressed file.

  3. Extract the contents of the compressed file. For example, tar xvfz install_azure_sphere_sdk_<version>.tar.gz. The .tar.gz file contains the install_azure_sphere_sdk.sh file.

  4. Run the install script using sudo as follows:

    sudo ./install_azure_sphere_sdk.sh
    

    If you see the error command not found when running the script, enable execution of the install script with this command:

    chmod +x install_azure_sphere_sdk.sh
    
  5. During installation, the script displays messages similar to these:

    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.

    Installing CLI.
    This SDK contains two versions of the Azure Sphere CLI: the new Azure Sphere CLI (recommended) and Azure Sphere classic CLI (deprecated). See https://aka.ms/AzureSphereCLIVersions for more information on the versions.
    
    You can choose which version is available through the command 'azsphere'.
    
    Note that the Azure Sphere classic CLI will always be available to use with 'azsphere_v1' and the new Azure Sphere CLI will always be available to use with 'azsphere_v2'.
    Use the recommended (new) CLI for 'azsphere'? (Y/N)
    
    

    Select Y to set Azure Sphere CLI as your default CLI or N to set Azure Sphere classic CLI as your default CLI.

    Some device operations require root permissions, or permissions granted by a udev rule. Set up the default udev rule and group (azsphere), and add the current user to it? (Y/N)
    
    

    Select Y to set up the azsphere group and create the udev rule.

    Set network admin capabilities to azsphere_slattach. This will allow running azsphere_connect.sh with no 'sudo' elevation, if the user running it has R&W permissions on the USB Azure Sphere device is connected. (Y/N)
    

    Select Y to set the network admin capabilities.

  6. When the installation completes, you must log in again to your desktop application or login shell to initialize the CLI.

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.

The installer installs both the Azure Sphere CLI and the Azure Sphere classic CLI versions of the CLI. You don't need to uninstall the current version because the installation will update any existing version. Azure Sphere CLI is installed in ./install_path/Tools_v2 and Azure Sphere classic CLI is installed in ./install_path/Tools.

On Linux, you can run Azure Sphere CLI from a terminal using azsphere_v2 and azsphere if it was selected as the default CLI during the installation.

After installing the CLI for the first time, check that it's installed and you've got the correct version by running azsphere show-version.

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.

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:

azsphere_connect.sh

If you haven't run azsphere_connect.sh and attempt to run any Azure Sphere CLI 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.

In case this script fails to run, try again with sudo /opt/azurespheresdk/DeviceConnection/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)

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.

  1. Download these three files and transfer them to the installation computer:

  2. On the installation computer, navigate to the folder into which you transferred the three files.

  3. Extract the contents of the compressed install script file. For example, tar xvfz install_azure_sphere_sdk_<version>.tar.gz. The .tar.gz file contains the install_azure_sphere_sdk.sh file. Leave the Azure Sphere SDK Bundle as a compressed tar file (tar.gz file).

  4. Run the install script using sudo. Include the -i parameter to specify the path to the SDK bundle 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

    If you see the error command not found when running the script, enable execution of the install script with this command:

    chmod +x install_azure_sphere_sdk.sh
    

Proceed with the installation as described in Install the Azure Sphere SDK.

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.

Install CMake and Ninja

To install CMake and Ninja, use the following command:

sudo apt install cmake ninja-build

Note

Do not install cmake or ninja using snap.

Install the Azure Sphere extension for Visual Studio Code

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. To install the Azure Sphere extension, search for "Azure Sphere" in the Extension Marketplace from a browser or within Visual Studio Code. You should see two results, Azure Sphere and Azure Sphere UI. Select Install for either one; the other should be installed automatically.

  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 at 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. From 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