#! /bin/bash sudo apt-get update && sudo apt upgrade -y sudo apt-get install make build-essential gcc git jq chrony dkms gpg-agent -y UBUNTUVERSION=$(lsb_release -r -s | cut -d '.' -f 1) PSW_PACKAGES='libsgx-enclave-common libsgx-aesm-launch-plugin libsgx-aesm-epid-plugin libsgx-aesm-quote-ex-plugin libsgx-urts sgx-aesm-service libsgx-uae-service autoconf libtool make gcc' if (($UBUNTUVERSION < 16)); then echo "Your version of Ubuntu is not supported. Must have Ubuntu 16.04 and up. Aborting installation script..." exit 1 elif (($UBUNTUVERSION == 16)); then DISTRO='xenial' OS='ubuntu16.04-server' elif (($UBUNTUVERSION == 18)); then DISTRO='bionic' OS='ubuntu18.04-server' elif (($UBUNTUVERSION == 20)); then DISTRO='focal' OS='ubuntu20.04-server' elif (($UBUNTUVERSION == 22)); then DISTRO='jammy' OS='ubuntu22.04-server' fi echo "\n\n###############################################" echo "##### Installing Intel SGX driver #####" echo "###############################################\n\n" # Download SGX driver if (($UBUNTUVERSION == 16)); then # Ubuntu 16 was deprecated by the latest Intel SGX drivers wget "https://download.01.org/intel-sgx/sgx-linux/2.13/distro/${OS}/sgx_linux_x64_driver_2.11.0_0373e2e.bin" elif (( $UBUNTUVERSION == 22 )); then # Ubuntu 22 is not supported in sgx-linux/v2.17 wget "https://download.01.org/intel-sgx/latest/linux-latest/distro/${OS}/sgx_linux_x64_driver_2.11.54c9c4c.bin" else wget "https://download.01.org/intel-sgx/sgx-linux/2.17/distro/${OS}/sgx_linux_x64_driver_1.41.bin" fi # Make the driver installer executable chmod +x ./sgx_linux_x64_driver_*.bin # Install the driver sudo ./sgx_linux_x64_driver_*.bin # Remount /dev as exec, also at system startup sudo tee /etc/systemd/system/remount-dev-exec.service >/dev/null < 18)); then # sudo apt install -y gdebi # # Install all the additional necessary dependencies (besides the driver and the SDK) # # for building a rust enclave # wget -O /tmp/libprotobuf30_3.19.4-1_amd64.deb https://engfilestorage.blob.core.windows.net/filestorage/libprotobuf30_3.19.4-1_amd64.deb # yes | sudo gdebi /tmp/libprotobuf30_3.19.4-1_amd64.deb #else # PSW_PACKAGES+=' libprotobuf-dev' #fi sudo apt install -y $PSW_PACKAGES