Files
graphene/Examples/bash
Stefan Berger 206eb81eec [Makefiles] Get arch and distro specific vars from Makefile.configs
Extend Makefile.configs and define several variables for make to use
derived from 'gcc -dumpmachine'. In particular:
- ARCH as the architecture, e.g., x86_64
- ARCH_LONG as the long version of the architecture, e.g., x86_64-linux-gnu
- ARCH_LIBDIR as the directory where libraries are located,
  e.g., /lib/x86_64-linux-gnu

In Makefiles and manifest templates, replace the hard-coded
x86_64-linux_gnu and /lib/x86_64-linux-gnu through these variables.
Extend the already existing sed scripts to replace the necessary
variables.
2020-05-01 20:54:04 +00:00
..

Bash example

This directory contains an example for running Bash in Graphene, including the Makefile and a template for generating the manifest. The application is tested on Ubuntu 16.04, with both normal Linux and SGX platforms.

Generating the manifest

Building for Linux

Run make (non-debug) or make DEBUG=1 (debug) in the directory.

Building for SGX

Run make SGX=1 (non-debug) or make SGX=1 DEBUG=1 (debug) in the directory.

Running Bash with Graphene

Here's an example of running Bash scripts under Graphene:

Without SGX:

./pal_loader bash.manifest -c "ls"
./pal_loader bash.manifest -c "cd scripts && bash bash_test.sh 2"

With SGX:

SGX=1 ./pal_loader bash.manifest -c "ls"
SGX=1 ./pal_loader bash.manifest -c "cd scripts && bash bash_test.sh 2"