标签搜索

目 录CONTENT

文章目录

『聚合』 蓬莱enclave TEE编译和运行说明

沙漠渔
2024-03-16 14:09:51 / 0 评论 / 0 点赞 / 78 阅读 / 1,804 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-03-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

蓬莱enclave-spmp 编译和运行说明

蓬莱是一个RISC-V TEE系统,其设计具有安全性,高性能和可扩展性。基于PMP的OpenSBI版本的蓬莱Enclave使用可以参考下文,具体仓库地址为:https://github.com/Penglai-Enclave/Penglai-Enclave-sPMP

penglai编译环境准备

  1. 创建~/dev目录,将sdk、penglai-enclave-driver、secgear目录放置在~/dev目录中,最终布局如下,

    ~/dev
    ├── penglai-enclave-driver
    ├── sdk
    ├── secGear
    

    该sdk和secGear路径与下文cmake编译secGear时指定的蓬莱sdk路径参数相关,不建议修改

  2. 安装内核模块编译相关依赖:

    dnf install -y kernel-devel kernel-source cmake g++ 
    
    
  3. 在RISC-V下编译secGear需要Ocaml等依赖环境,如果不能通过软件源安装,则需要自行编译并指定路径。目前我们已经准备预编译的Ocaml包来简化这个过程,用户可以直接从 https://ipads.se.sjtu.edu.cn:1313/d/6a464e02cd3d4c1bafb0/ 下载已经编译好的opam工具,解压后将opam.tar.gz拷贝至~/目录并解压。

对应仓库:

  • penglai-enclave-drvier: https://github.com/Penglai-Enclave/Penglai-Enclave-sPMP/tree/opensbi/penglai-enclave-driver
  • penglai-sdk: https://github.com/Penglai-Enclave/penglai-sdk
  • penglai-secGear: https://github.com/Penglai-Enclave/Penglai-secGear/tree/oe-release

编译penglai-enclave-driver

进入penglai-enclave-driver目录:

cd ~/dev/penglai-enclave-driver
#modify source path
sed -i 's|make -C ../openeuler-kernel/ ARCH=riscv M=$(PWD) modules|make -C /usr/lib/modules/$(shell uname -r)/build ARCH=riscv M=$(PWD) modules|' Makefile > /dev/null 2>&1
make -j$(nproc)
insmod penglai.ko

oe中编译sdk目录中相关库和demo

进入~/dev/sdk目录编译penglai-sdk:

cd ~/dev/sdk
./replace_compiler_prefix.sh
PENGLAI_SDK=$(pwd) make -j8

运行demo测试

cd ~/dev/sdk/demo
./host/host count/count

oe中编译secGear程序

进入~/dev/secGear目录

cd ~/dev/secGear && source environment && mkdir -p debug && cd debug
cmake -DENCLAVE=PL -DSDK_PATH=/root/dev/sdk .. && make && make install

运行demo测试

cd ~/dev/secGear/debug
./bin/secgear_helloworld
./bin/secgear_calculation

⚠ 文章源地址: https://www.cnblogs.com/world-explorer/p/18064229.html 转载请注明出处
0
广告 广告

评论区