README.md

TrustZone/CCOS 环境部署

项目描述

本项目提供了一个自动化部署脚本,用于在 Host 主机或虚拟机上部署 TrustZone/CCOS 环境。脚本支持多种鲲鹏服务器型号,并可根据需求配置虚拟机扩展功能和鲲鹏密码模块部署。

前置要求

在运行部署脚本之前,请确保满足以下条件:

1. 必需文件准备

将以下文件放置在脚本同级目录下:

  • kunpeng_sec_drv.sec - 鲲鹏安全驱动文件

如需部署鲲鹏密码模块,请将以下文件放置在脚本同级目录下:

  • sdf-utils-*.rpm - 鲲鹏密码模块 RPM 包

2. 配置文件

项目包含 deploy.conf 配置文件,此文件定义了相关组件的版本信息,请根据需要修改为合适的分支:

ITRUSTEE_TZDRIVER_BRANCH="master"
ITRUSTEE_CLIENT_BRANCH="iTrustee_7.10.0_release"
TEE_GP_PROXY_BRANCH="master"

普通用户执行ca/ta时,需要给该用户增加/var/itrustee/teecd目录的相应权限, USER=""配置项可指定需要配置权限的普通用户名。该配置项可支持同时配置多名普通用户权限,用户名以空格分割。

3. 网络连接

脚本中涉及git clone相关仓库以及安装依赖,运行脚本前请确保网络连接正常。

使用方法

基本用法

# 使用默认配置部署
./deploy.sh

# 显示帮助信息
./deploy.sh -h
./deploy.sh --help

参数选项

选项 简写 描述 默认值
--work_dir -w 部署路径 /opt/ccos-deploy/
--vm_scalability -v 虚机扩展功能(true/false) true
--machine_model -m 服务器型号(920v100/920v200) 920v200
--need_sdf_utils_rpm -n 是否部署鲲鹏密码模块(true/false) true
--lenient -l 宽松模式,部署路径下存在相应组件代码时,将不再git clone获取,适合离线部署 false

使用示例

# 在指定目录下进行安装和构建
./deploy.sh -w /opt/ccos-deploy

# 为特定服务器型号安装部署
./deploy.sh -m 920v200

# 为920v200服务器安装部署,且不涉及虚机场景
./deploy.sh -m 920v200 -v false

# 不需要部署鲲鹏密码模块
./deploy.sh -n false

# 使用宽松模式部署
./deploy -l true

# 组合使用多个参数
./deploy.sh -w /your/path -m 920v200 -v false -n true -l true

功能特性

  1. 自动环境检测:脚本会自动识别运行环境是 Host 还是 VM
  2. 多型号支持:支持 920v100、920v200 等多种服务器型号
  3. 灵活配置:可根据需求启用或禁用虚拟机扩展功能
  4. 安全模块:可选部署鲲鹏密码模块
  5. 版本控制:通过配置文件管理各组件版本分支和标签
  6. 资源清理:若部署失败,将会自动清理相关文件和资源,不影响再次部署
  7. 宽松模式: 支持宽松模式部署,适合离线部署场景

注意事项

  • 确保执行脚本的用户具有足够的权限(通常需要 root 权限)
  • 部署前请确认服务器型号与参数匹配
  • 部署路径需要足够的磁盘空间
  • 使用宽松模式部署时,请确保涉及的组件源代码文件已放置在部署路径下;若为使用宽松模式,脚本中涉及git clone相关仓库以及安装依赖,运行脚本前请确保网络连接正常。

故障排查

如果部署过程中遇到问题,请检查:

  • 必需文件是否存在于脚本同级目录
  • 部署路径是否有写入权限
  • 服务器型号参数是否正确
  • 网络连接是否正常(用于下载依赖组件)

如需更多帮助,请使用 -h 参数查看详细的帮助信息。