1.1 Hardware Requirement and Configuration

Phala Network operates on trusted hardwares, in this case, Intel CPUs which support SGX feature. SGX was first introduced in 2015 with the sixth generation Intel Core microprocessors based on the Skylake microarchitecture. In practice, the support of SGX feature also relies on your motherboard and BIOS configurations. In this section, we will first ensure that necessary hardware requirements are satisfied and all your hardwares are correcly configured.

General Hardware Requirements

CPU Requirement

You can refer to the following tutorial to ensure that your CPU is SGX-supported.

BIOS Settings

First of all, we recommand to update your BIOS to the latest version.

  1. Enter BIOS. The method varies for different motherboards, and Google is always at your service about this.
  2. Disable Secure Boot. Go to Security -> Secure Boot, set it to Disabled.
  3. Enable SGX Extension. Go to Security -> SGX (This name may vary according to the different manufacturers), set it to Enabled.

If you can only find SGX: Software Controlled option, you will have to run sgx-software-enable in Ubuntu. You can follow the Intel's instructions, build it from source and execute it. Also, we provide a prebuilt file for Ubuntu 18.04 / 20.04 that can be found here. You can download and execute it with the following commands:

1wget https://github.com/Phala-Network/sgx-tools/releases/download/0.1/sgx_enable
2chmod +x sgx_enable
3sudo ./sgx_enable
  1. Use UEFI Boot. Go to Boot -> Boot Mode, and make sure it was set to UEFI.
  2. Save and reboot.

You also need to make sure that Ubuntu is installed in UEFI mode. SGX is not guaranteed to work properly on the OS installed in legacy mode. In such case you may want to reinstall the system.

Reference

  1. What is Trusted Execution Environment
  2. What is SGX

Miner Community