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
功能特性
- 自动环境检测:脚本会自动识别运行环境是 Host 还是 VM
- 多型号支持:支持 920v100、920v200 等多种服务器型号
- 灵活配置:可根据需求启用或禁用虚拟机扩展功能
- 安全模块:可选部署鲲鹏密码模块
- 版本控制:通过配置文件管理各组件版本分支和标签
- 资源清理:若部署失败,将会自动清理相关文件和资源,不影响再次部署
- 宽松模式: 支持宽松模式部署,适合离线部署场景
注意事项
- 确保执行脚本的用户具有足够的权限(通常需要 root 权限)
- 部署前请确认服务器型号与参数匹配
- 部署路径需要足够的磁盘空间
- 使用宽松模式部署时,请确保涉及的组件源代码文件已放置在部署路径下;若为使用宽松模式,脚本中涉及git clone相关仓库以及安装依赖,运行脚本前请确保网络连接正常。
故障排查
如果部署过程中遇到问题,请检查:
- 必需文件是否存在于脚本同级目录
- 部署路径是否有写入权限
- 服务器型号参数是否正确
- 网络连接是否正常(用于下载依赖组件)
如需更多帮助,请使用 -h 参数查看详细的帮助信息。