Installing the Anjuna SGX Runtime¶

Prerequisites¶

To install and run the Anjuna SGX Runtime, the following prerequisites must be met:

Hardware requirements¶

Important

• The host machine must use a CPU that supports Intel® Software Guard Extensions (SGX).
• Intel SGX must be enabled in the BIOS of the host machine. Be sure to use the Enabled setting, not Software Controlled.

Supported platforms¶

• Ubuntu 18.04 (Bionic Beaver) Server and Desktop editions

Software requirements¶

• The user performing the installation must have administrator privileges (root or sudo permissions).
• The Intel SGX Driver must be installed and loaded (the Anjuna SGX Runtime will attempt to install this component if it is not found).
• The Intel SGX Platform Software (PSW) must be installed and running (the Anjuna SGX Runtime will attempt to install this component if it is not found).

Important

The Intel SGX components are required to run the Anjuna SGX Runtime. If those components are not already installed on the host, the Anjuna SGX Runtime installer has the ability to set up Intel SGX components during the installation.

Execute the Anjuna SGX Runtime installer¶

An installation package is provided to install the Anjuna SGX Runtime on an SGX-enabled host. The package is an executable that performs the following actions:

• Checks for Intel SGX system compatibility.
• Checks for OS compatibility (Ubuntu 16.04 or Ubuntu 18.04).
• Checks for availability of the Intel® SGX Driver.
• Checks for availability of the Intel® PSW stack.
• Installs the Intel® SGX components if necessary.
• Installs the Anjuna SGX Runtime on the host.
• Installs the sealing tool.

The following file should be present on the system:

anjuna-runtime-ubuntu18-0.22.0025.bin


The installer supports various command-line options to customize its behavior. To see the available options, use the --help option:

$./anjuna-runtime-ubuntu18-0.22.0025.bin --help Anjuna SGX Runtime self-extracting installer Usage: ./anjuna-runtime-ubuntu18-0.22.0025.bin [OPTIONS] Run this file to extract and install Anjuna Runtime. Available options: -v, --verbose Print more information during the setup -l, --list List the content of this package -e, --extract Extract the package, but skip the setup -t, --tar Generate a TAR file that contains the whole package -h, --help Print this message --clean Re-install the Intel SGX Driver and Intel PSW even if they were already installed. By default, the installer will setup those components only if the they are not already installed --version Print the version information  To get started, simply run the installer $ ./anjuna-runtime-ubuntu18-0.22.0025.bin


Important

The Anjuna SGX Runtime installer is a self-extracting file and requires executable permission to run. If the permission was removed during the file transfer between hosts, it can be re-applied with the chmod command. If you see this error:

$./anjuna-runtime-ubuntu18-0.22.0025.bin bash: anjuna-runtime-ubuntu18-0.22.0025.bin: Permission denied  just run the following command: $ chmod +x ./anjuna-runtime-ubuntu18-0.22.0025.bin


and then run the installer again.

The installer should produce the following output:

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40  Anjuna SGX Runtime self-extracting installer Checking for Operating System Found Ubuntu 18.04.3 LTS Checking for SGX Hardware support This host is SGX capable (sgx_is_capable => 1) <... snip ...> Checking for OS packages - Package [wget] alread installed - Package [jq] alread installed - Package [python] alread installed - Package [libprotobuf-dev] alread installed - Package [build-essential] alread installed - Package [libssl-dev] alread installed - Package [libcurl4-openssl-dev] alread installed - Package [linux-headers-4.15.0-45-generic] alread installed Checking for Intel SGX Driver Found Intel Driver Checking for Anjuna SGX module Found Anjuna SGX module Kernel module status: anjuna 16384 0 isgx 45056 2 Checking for Intel PSW Intel AESMD service already running vm.mmap_min_addr already set to 0 Summary: Anjuna SGX Runtime fully installed Run the following command to setup your environment source /home/sgx/anjuna-runtime-ubuntu18-0.22.0025/env.sh 

The message on line 37 indicates that the Anjuna SGX Runtime was properly installed.

The output on line 40 provides a convenient script to set up the environment variables when running the various tools provided by the Anjuna SGX Runtime. You can ensure that these environment variables are always set by adding the following line to your ~/.bash_profile file, where it will be executed automatically at login:

\$ source /home/sgx/anjuna-runtime-ubuntu18-0.22.0025/env.sh


Important

The location of env.sh depends on where the installer is run. In the example above, the location is assumed to be /home/sgx. Please adjust the path to the actual directory that env.sh was installed to.

After setting this up, you can either log out and back in, or just manually source the file in the shells in which you will use the tools.