diff --git a/docs/rune_quick_start.md b/docs/rune_quick_start.md new file mode 100644 index 00000000..7e4e6e09 --- /dev/null +++ b/docs/rune_quick_start.md @@ -0,0 +1,123 @@ +# Quick Start: rune on Occlum + +[Rune](https://github.com/alibaba/inclavare-containers) is a set of tools for running trusted applications in containers with the hardware-assisted enclave technology. + +## Hardware requirements +- Install [Intel SGX driver for Linux](https://github.com/intel/linux-sgx-driver#build-and-install-the-intelr-sgx-driver), required by Intel SGX SDK && PSW. +- Install [enable_rdfsbase kernel module](https://github.com/occlum/enable_rdfsbase#how-to-build), allowing to use `rdfsbase` -family instructions in Occlum. + +--- + +## Build and install rune +`rune` is a CLI tool for spawning and running enclaves in containers according to the OCI specification. + +Please refer to [this guide](https://github.com/alibaba/inclavare-containers#rune) to build `rune` from scratch. + +--- + +## Build Occlum application bundle +### Download Occlum sdk image +``` shell +yum install -y libseccomp-devel +mkdir "$HOME/rune_workdir" +docker pull occlum/occlum:0.12.0-centos7.2 +docker run -it --device /dev/isgx \ + -v $HOME/rune_workdir:/root/rune_workdir \ + occlum/occlum:0.12.0-centos7.2 +``` + +You can then build a hello world demo program or your product code using an [Occlum CentOS Docker image](https://hub.docker.com/r/occlum/occlum/tags). + +[This guide](https://github.com/occlum/occlum#hello-occlum) can help you to create your first occlum build. + +### Prepare the materials +After your Occlum build, execute the following commands in Occlum sdk container environment: + +``` shell +cp -a .occlum /root/rune_workdir +cd /root/rune_workdir +mkdir lib +cp /usr/lib64/libseccomp.so.2 lib +cp /usr/lib64/libprotobuf.so.8 lib +cp /usr/lib64/libsgx_u*.so* lib +cp /usr/lib64/libsgx_enclave_common.so.1 lib +cp /usr/lib64/libsgx_launch.so.1 lib +``` + +### Build occlum application image +Now you can build your occlum application image in the `$HOME/rune_workdir` directory of your host system. + +Type the following commands to create a `Dockerfile`: +``` Dockerfile +cat >Dockerfile <