Comments (3)
@lonerapier For the next step you could split the dockerfile in such way that gramine is built only one time on Machine A, then you copy the resulting image to Machine B, and there you use the copied image as Source image to complete the rest of the execution of the Dockerfile, i.e. build Gramine another time and diffoscope the result.
from geth-sgx-gramine.
Updates:
1.1 Replicability
- Create a containerized build environment for gramine based on the official debian docker image
- Build gramine within this image and export all the runtime dependencies (
meson install --no-rebuild --destdir/ ...
)- create two consecutive builds from scratch and compare the destdirs with diffoscope
- try this on different hardware
We have successfully built gramine twice and compared destdirs on same machine.
The experiment was done in two parts:
- Same distro (ubuntu:20.04)
- Different distro (ubuntu:20.04, ubuntu:22.04)
It included running a bash script that builds a docker image containing different builds for gramine and checking it with diffoscope container.
File result can be found here.
Note:
--exclude-directory-metadata
flag is used to ignore timestamp diffs.
Next steps are to build gramine on different machines.
from geth-sgx-gramine.
Next tasks:
- present your findings in the gramine ticket gramineproject/gramine#153
- ask for details about the set up and config of the builder machine responsible for the published binaries - possibly some info can be found in https://github.com/gramineproject/gramine/tree/master/.ci
and https://github.com/gramineproject/gramine/tree/master/.github
from geth-sgx-gramine.
Related Issues (10)
- `docker build .` failing with an error HOT 2
- running gramine-direct /geth fails, geth runs without gramine HOT 10
- go-ethereum private network sgx implementation HOT 16
- Is it not possible to attach to geth inside sgx with a private net? HOT 4
- Explore slowness of Gramine encrypted FS mounts
- verification failed because collateral is out of date HOT 1
- Create a BLS private key on enclave startup HOT 1
- Go Module Wrapper for Gramine RA-TLS attestation library HOT 1
- Reproducible builds
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from geth-sgx-gramine.