中文
注册

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启动日志。
    1. 登录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. 检查系统串口数据。
    1. 登录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的系统日志,联系华为技术支持处理。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词