---
title: REE Patch加载失败
description: "存在以下一条或多条现象描述："
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200/confidt/kunpengtrustzone_04_0029.html
sourcePath: /source/zh/kunpengboostkithistory/2200/confidt/kunpengtrustzone_04_0029.html
indexId: 3d20d00c37b707fc79441847837cfec22739b2fcc7c9018a8bf8c9291b54510176
---
# REE Patch加载失败

#### 现象描述

存在以下一条或多条现象描述：

- insmod tzdriver.ko指令失败，提示“Operation not permitted”。
- 加载teecd失败，teecd守护进程异常退出。


#### 对系统的影响

1. 对非TrustZone功能无影响。
2. 无法使能TrustZone所有功能，CA/TA应用无法正常加载运行。


#### 可能原因

1. BIOS中TEE Config未打开TEE开关选项。
2. BIOS中TEE Config配置安全内存不合理，导致TEE OS启动失败。
3. tzdriver.ko内核模块与当前运行环境内核版本不一致。
4. tzdriver.ko未加载情况下，运行用户态teecd守护进程。


#### 排查思路

排查思路如图1所示。

图1 REE Patch加载失败排查思路


#### 操作步骤

1. 检查iBMC日志，观察teeos启动日志。

  a. 登录iBMC web页面，依次选择“维护诊断->iBMC日志->操作日志”，观察最近一次服务器启动日志中teeos加载日志

    1. 不存在teeos启动日志信息，当前BIOS中TEE使能开关关闭，请参考      BIOS设置
打开Support TEE开关选项。
    2. 提示“tee os load fail”，当前tee os启动失败，请参考      2
进一步排查。
    3. 提示“tee os load ok”，当前tee os已正常启动，请参考      3
进一步排查。
2. 检查系统串口数据。

  a. 登录iBMC web页面，依次选择“维护诊断->系统日志”，下载2M的串口数据。检查最新一次服务器启动日志中teeos加载日志（e.g可搜索关键字TEE OS）。

    1. 提示“TEE OS Load FAIL”，且有安全内存分配适配失败日志“AllocaTeeMem Fail”, 当前安全内存配置不合理导致BIOS安全内存分配失败，启动teeos失败。 请参考      安全内存规格说明
重新配置安全内存大小。
    2. 非安全内存分配失败问题导致teeos加载失败，请收集相关串口日志，联系华为技术支持处理。
3. 检查tzdriver与当前内核版本是否匹配。

  - insmod tzdriver.ko提示“Invalid module format”，且用dmesg观察内核日志，有“tzdriver: disagress about version of symbol module_layout”类似输出。
    解决办法：基于当前内核版本的内核源码，重新编译tzdriver内核模块。

  - 在内核版本匹配情况下，tzdriver加载失败，请收集相关dmesg日志，联系华为技术支持处理。
  - tzdriver正常加载，请参考    4
进一步排查。
4. 确认teecd各项依赖已正确部署。

```
ll /usr/bin | grep -E "teecd|tlogcat"
```

预期结果：

```
ldconfig -p | grep -E "teec|boundscheck"
```

预期结果：

  - 如果teecd、各项依赖未正确部署，请参考    加载REE侧驱动
重新部署teecd及动态库。
  - 已正确部署，绝对路径加载teecd。

```
/usr/bin/teecd &
```

检查teecd进程是否存在。

    - 是，处理完毕。
    - 否，搜集journalctl有关teecd的系统日志，联系华为技术支持处理。
