Skip to content

FredKhayat/miralis-artifact-keystone

 
 

Repository files navigation

Keystone Artifact

This repository automates the build of Keystone for the purpose of generating artifacts that can be used for integration tests in the Miralis project.

How to release new artifacts

Create a new tag and push it to upstream, e.g.:

git tag v0.1.0
git push origin v0.1.0

Artifacts

Image_keystone: A linux kernel with the keystone driver. To install the driver, run modprobe keystone-driver.

keystone.ext2: A disk image that contains examples of enclave application in the /usr/share/keystone/examples directory.

opensbi-linux-keystone.: An opensbi binary that will jump to the Image_keystone payload

Example

Below is an example on how to run the hello.ke enclave on qemu.

# Load `miralis` and `opensbi-linux-keystone.bin` into qemu, and attach the `keystone.ext2` disk image.
qemu-system-riscv64 --no-reboot -nographic -machine virt -bios /path/to/miralis.img -device loader,file=/path/to/opensbi-linux-keystone.bin,addr=0x80200000,force-raw=on -smp 1 -drive file=path/to/keystone.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -device virtio-net-device

# At this point you should be inside the emulated kernel

# Load the keystone driver
modprobe keystone-driver

# Run the enclave. A hello world message should appear
/usr/share/keystone/examples/hello.ke

About

Keystone binary for integration testing of Miralis

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Makefile 100.0%