added steps to build on non-SGX host
This commit is contained in:
		
							parent
							
								
									ae37dbec56
								
							
						
					
					
						commit
						f5cf3fff44
					
				
							
								
								
									
										47
									
								
								README.md
									
									
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										47
									
								
								README.md
									
									
									
									
									
								
							| @ -23,7 +23,7 @@ and use the following command: | ||||
| 83E8A0C3ED045D9747ADE06C3BFC70FCA661A4A65FF79A800223621162A88B76 | ||||
| ``` | ||||
| 
 | ||||
| ## Docker Occlum runtime | ||||
| ## Docker installation | ||||
| 
 | ||||
| To run the project in Docker, you need to install the docker first. | ||||
| On Ubuntu, you can use the following commands: | ||||
| @ -52,27 +52,46 @@ sudo usermod -aG docker $USER | ||||
| newgrp docker | ||||
| ``` | ||||
| 
 | ||||
| Next run the occlum image in the docker environment: | ||||
| ## Occlum docker instance | ||||
| 
 | ||||
| ### On the build host (without SGX) | ||||
| 
 | ||||
| Run the occlum image in the docker environment: | ||||
| 
 | ||||
| ```bash | ||||
| docker run --rm -it --device /dev/sgx/enclave --device /dev/sgx/provision -v /path/to/occlum-ratls:/root/occlum-ratls occlum/occlum:latest-ubuntu20.04 | ||||
| 
 | ||||
| # Inside the docker container do env preparation | ||||
| # Notice that there is no SGX device mounted | ||||
| docker run --rm -it -v /path/to/occlum-ratls:/root/occlum-ratls occlum/occlum:latest-ubuntu20.04 | ||||
| # Inside the docker container do env preparation to build the image | ||||
| rustup install stable-x86_64-unknown-linux-gnu | ||||
| rustup default stable | ||||
| rustup target add x86_64-unknown-linux-musl | ||||
| # edit /etc/sgx_default_qcnl.conf, so that the PCCS URL is set correctly | ||||
| # "pccs_url": "https://api.trustedservices.intel.com/sgx/certification/v4/" | ||||
| 
 | ||||
| cd /root/occlum-ratls | ||||
| ./build_server.sh grpcs --run | ||||
| 
 | ||||
| # In another terminal exec /bin/bash into the same container | ||||
| cd /root/occlum-ratls | ||||
| ./build_client.sh grpcs --run | ||||
| # Build the server and the client | ||||
| cd occlum-ratls | ||||
| ./build_server.sh grpcs | ||||
| ./build_client.sh grpcs | ||||
| ``` | ||||
| 
 | ||||
| ## Running Examples | ||||
| This will produce 2 signed bundles, `server_instance/server.tar.gz` and `client_instance/client.tar.gz`. | ||||
| 
 | ||||
| ### On the run host (with SGX) | ||||
| 
 | ||||
| ```bash | ||||
| docker run --rm -it --device /dev/sgx/enclave --device /dev/sgx/provision -v /path/to/tars:/root/run occlum/occlum:latest-ubuntu20.04 | ||||
| # IMPORTANT, edit /etc/sgx_default_qcnl.conf, so that the PCCS URL is set correctly | ||||
| # "pccs_url": "https://api.trustedservices.intel.com/sgx/certification/v4/" | ||||
| 
 | ||||
| # Unpack the server and the client | ||||
| cd run | ||||
| tar -xzvf server.tar.gz | ||||
| tar -xzvf client.tar.gz | ||||
| 
 | ||||
| # Run the server and the client (in two different terminals) | ||||
| cd server && occlum run /bin/mratls_grpcs_server | ||||
| cd client && occlum run /bin/mratls_grpcs_client | ||||
| ``` | ||||
| 
 | ||||
| ## Running Examples on the SGX host (locally) | ||||
| 
 | ||||
| Before running make sure you have installed the Occlum and the SGX driver. | ||||
| You should also have the Occlum Rust toolchain installed to get `occlum-cargo`. | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user