From d741710e218b749a8a1661e4caa022dc0de0a319 Mon Sep 17 00:00:00 2001 From: lauyarn Date: Sat, 17 May 2025 02:24:50 +0000 Subject: [PATCH] update README Signed-off-by: lauyarn --- README.md | 603 +++++++++++++++--------------------------------------- 1 file changed, 166 insertions(+), 437 deletions(-) diff --git a/README.md b/README.md index e89eee2..dbad0fe 100644 --- a/README.md +++ b/README.md @@ -8,121 +8,28 @@ ## 1.2、版本说明 -鲲鹏加速引擎(KAE)是一款基于鲲鹏 920 处理器研发的加速器。由于不同内核版本的差异,KAE 存在两套代码用于支持不同的内核代码,分别是 KAE1.0 和 KAE2.0 两套代码分支。其中,KAE1.0 适用于 4.19 内核;而 KAE2.0 适用于 5.1x 内核。 +鲲鹏加速引擎(KAE)是一款基于鲲鹏 920 处理器研发的加速器。由于不同内核版本的差异,KAE 存在两套代码用于支持不同的内核代码,分别是 KAE1.0 和 KAE2.0 两套代码分支。其中,KAE1.0 适用于 4.19 内核;而 KAE2.0 适用于 5.X 内核(其中TOS适配了5.4内核版本)。 -| 内核版本 | 设备形态 | KAE1.0 | KAE2.0 | +| 内核版本 | 设备形态 | KAE1.0 | KAE2.0 | | ---------- | ---------- | --------------- | --------------- | -| 4.19 | 920 | **YES** | NA | -| 5.1x | 920 | NA | **YES** | - -## 1.3、KAE算法规格说明 - -由于硬件差异,KAE不同版本加速引擎能够支持的加密算法存在不同,支持情况详见以下表格: - -| | 鲲鹏 920 | -| --------------------| --------- | -| 摘要算法 SM3 | YES | -| 摘要算法 DM5 | YES | -| 对称加密算法 SM4-CTR | YES | -| 对称加密算法 SM4-XTS | YES | -| 对称加密算法 SM4-CBC | YES | -| 对称加密算法 SM4-ECB | YES | -| 对称加密算法 SM4-OFB | YES | -| 对称加密算法 SM4-CFB | **NA** | -| 对称加密算法 AES-ECB | YES | -| 对称加密算法 AES-CTR | YES | -| 对称加密算法 AES-XTS | YES | -| 对称加密算法 AES-CBC | YES | -| 对称加密算法 AES-OFB | **NA** | -| 对称加密算法 AES-CFB | **NA** | -| 对称加密算法 AES-GCM | **NA** | -| 对称加密算法 AES-CCM | **NA** | -| 非对称算法 RSA | YES | -| 非对称算法 SM2 | **NA** | -| 密钥协商算法 DH | YES | - -> 注意: -> 1、对称加密算法 SM4-XTS 不支持 openSSL,只支持内核态使用。 - -KAE-zlib 解压缩功能支持情况见下表: - -| | 支持 zlib/Gzip 数据格式 | 支持 deflate 算法 | 可配置压缩等级 | -| ----------- | ------------------------- | ------------------- | ---------------- | -| 鲲鹏920 | YES | **NA** | **NA** | +| 4.19 | 920 | **YES** | NA | +| 5.4 | 920 / 920X | NA | **YES** | +| 5.10 | 920 / 920X | NA | **YES** | + +> 由于不同版本内核接口可能存在差异,不同的操作系统使能KAE需要实际编译内核驱动验证是否匹配,若特定OS内核编译KAE驱动遇到接口报错,则说明驱动不兼容。 # 二、安装前准备 根据芯片款型及内核版本选择适合的KAE代码进行安装,安装前需要确定环境信息及安装license。 -## 2.1 环境信息确认 - -* 以 TaiShan 200 服务器为例,开启 KAE 加速引擎功能 -* CPU:鲲鹏 920 处理器 -* iBMC 版本:V365 及以上 -* BIOS 版本:V105 及以上 -* KAE1.0 支持操作系统: - * CentOS 7.6 4.14.0-115.el7a.0.1.aarch64 version - * SUSE 15.1 4.12.14-195-default.aarch64 version - * EulerOS 2.8 4.19.36-vhulk1907.1.0.h410.eulerosv2r8.aarch64 version - * NeoKylin 7.6 4.14.0-115.5.1.el7a.06.aarch64 version - * BCLinux-R7-U6-Server-aarch64 version - * Kylin 4.0.2 (juniper) 4.15.0-70-generic version - * Kylin release 4.0.2 (SP2) 4.19.36-vhulk1907.1.0.h403.ky4.aarch64 version - * UniKylin Linux release 3(Core) 4.18.0-80.ky3.kb21.hw.aarch64 version - * Ubuntu 18.04.1 LTS 4.15.0-29-generic version - * openEuler 20.03 LTS 4.19.90-2003.4.0.0036.oe1.aarch64 version - * openEuler 20.03 LTS-SP1 4.19.90-2012.4.0.0053.oe1.aarch64 version -* KAE2.0支持操作系统: - * openEuler 22.03 LTS-SP1 - * openEuler 22.03 LTS-SP2 - -## 2.2 软件包获取 - -基于硬件cpu款型及内核OS情况,选择正确的KAE版本后,再获取软件包,用于后续安装。 - -### 2.2.1 KAE1.0软件包获取 - -KAE1.0 版本支持RPM、DEB包安装、源码安装三种方式。 - -* **RPM及DEB获取** - KAE1.0 rpm 包下载地址:[https://gitee.com/kunpengcompute/KAE/releases/tag/v1.2.10](https://gitee.com/kunpengcompute/KAE/releases/tag/v1.2.10) - > 说明:rpm 包的获取需要进入下载地址选取指定操作系统的 rpm 包 - -KAE1.0 RPM包说明如下表所示: - -| 软件包名称 | 软件包说明| -| --- | --- | -| uacce-版本号-1.OS类型.aarch64.rpm
uacce-版本号-1.OS类型.aarch64.deb| 统一加速器框架,包含内容:uacce.ko、hisi_qm.ko内核模块 | -| hisi_hpre-版本号-1.OS类型.aarch64.rpm
hisi_hpre-版本号-1.OS类型.aarch64.deb | 依赖:uacce RPM包
包含内容:hisi_hpre.ko内核模块
支持:RSA/DH算法 | -| hisi_sec2-版本号-1.OS类型.aarch64.rpm
hisi_sec2-版本号-1.OS类型.aarch64.deb| 依赖:uacce RPM包
包含内容:hisi_sec2.ko内核模块 <支持:AES/MD5/SM3/SM4算法> | -| hisi_rde-版本号-1.OS类型.aarch64.rpm
hisi_rde-版本号-1.OS类型.aarch64.deb | 依赖:uacce RPM包
包含内容:hisi_rde.ko内核模块
支持:FlexEC算法 | -| hisi_zip-版本号-1.OS类型.aarch64.rpm
hisi_zip-版本号-1.OS类型.aarch64.deb | 依赖:uacce RPM包
包含内容:hisi_zip.ko内核模块
支持:zlib/gzip | -| libwd-版本号-1.OS类型.aarch64.rpm
libwd-版本号-1.OS类型.aarch64.deb | 包含内容:libwd.so动态链接库
提供接口给KAE加速引擎 | -| libkae-版本号-1.OS类型.aarch64.rpm
libkae-版本号-1.OS类型.aarch64.deb | 依赖:libwd RPM包
包含内容:libkae.so动态库
支持:SM3/SM4/RSA/AES/MD5/DH等算法| -| libkaezip-版本号-1.OS类型.aarch64.rpm
libkaezip-版本号-1.OS类型.aarch64.deb | 依赖:libwd RPM/DEB包
包含内容:libkaezip.so动态库
支持:压缩解压算法 | - -* **源码包获取** - -KAE1.0 源码下载方式:git clone [https://gitee.com/kunpengcompute/KAE.git](https://gitee.com/kunpengcompute/KAE.git) -b kae1 -或者访问Kunpeng/KAE代码仓下载源码包:https://gitee.com/kunpengcompute/KAE - -### 2.2.2 KAE2.0软件包获取 - -KAE2.0 版本支持RPM包安装、源码安装两种种方式。 - -* **RPM包获取** - KAE2.0 rpm包下载地址:尚未发布 -* **源码包获取** - KAE2.0 源码下载方式:git clone https://gitee.com/kunpengcompute/KAE.git -b kae2 - 或者访问Kunpeng/KAE代码仓下载源码包:https://gitee.com/kunpengcompute/KAE - -## 2.3 License安装 +## 2.1 License安装 安装鲲鹏KAE加速引擎之前需要先安装相应的License,License安装成功之后,操作系统才能识别到加速器设备。 > TaiShan K系列服务器硬件KAE加速引擎已默认开启,无需申请License。 +> 920新型号后续更新BIOS可以免license使用,具体BIOS版本待发布再更新 -具体License申请使用操作可参考《[华为服务器iBMC许可证 使用指导](https://support.huawei.com/enterprise/zh/management-software/ibmc-pid-8060757?category=operation-maintenance)》。 +具体License申请使用操作可参考《[华为服务器iBMC许可证 使用指导](https://support.huawei.com/enterprise/zh/management-software/ibmc-pid-8060757?category=operation-maintenance "https://support.huawei.com/enterprise/zh/management-software/ibmc-pid-8060757?category=operation-maintenance")》。 通过**lspci**命令进行查看操作系统是否有加速器设备,如下所示。 @@ -131,10 +38,6 @@ lspci | grep HPRE 79:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) b9:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) -lspci | grep RDE -78:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) -b8:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) - lspci | grep ZIP 75:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) b5:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) @@ -144,334 +47,50 @@ lspci | grep SEC b6:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21) ``` -## 2.4 KAE安装 +## 2.2 软件包获取 -### 2.4.1 KAE1.0版本 +基于硬件cpu款型及内核OS情况,选择正确的KAE版本后,再获取软件包,用于后续安装。 -#### 二进制包安装 +### 2.2.2 KAE2.0软件包获取 -前提条件: -请保证rpm下载完成,并且license获取成功。 -RPM或dpkg工具能正常使用。 -OpenSSL 1.1.1a或以上版本已正确安装。 +KAE2.0 版本支持RPM包安装、源码安装两种种方式。 -> hisi\_hpre,hisi\_sec2,hisi\_rde驱动软件包依赖于uacce软件包;libkae引擎软件包依赖于libwd软件包。 -> 如果仅加速RSA/DH算法建议只需要安装uacce、hisi\_hpre、libwd、libkae软件包。 -> 如果仅加速AES/MD5/SM3/SM4算法建议只需要安装uacce、hisi\_sec2、libwd、libkae软件 +* **RPM包获取** KAE2.0 rpm包下载地址:尚未发布 +* **源码包获取** KAE2.0 源码下载方式:git clone [https://gitee.com/kunpengcompute/KAE.git](https://gitee.com/kunpengcompute/KAE.git "https://gitee.com/kunpengcompute/KAE.git") -b kae2 或者访问Kunpeng/KAE代码仓下载源码包:[https://gitee.com/kunpengcompute/KAE](https://gitee.com/kunpengcompute/KAE "https://gitee.com/kunpengcompute/KAE") -* 步骤1 - 使用SSH远程登录工具,以root帐号进入Linux操作系统命令行界面。 -* 步骤2 - 将KAE加速引擎软件包拷贝到自定义路径下。 -* 步骤3 - 安装加速驱动软件包。 - - > * 可以通过**rpm -ivh \*.rpm**安装所有KAE加速引擎软件包。 - > - > ```shell - > [root]rpm -ivh *.rpm - > Preparing... ################################# [100%] - > checking installed modules - > Updating / installing... - > 1:uacce-1.0.1-1.centos7.6 ################################# [ 14%] - > modules installed - > 2:libwd-1.0.1-1.centos7.6 ################################# [ 29%] - > 3:libkae-1.0.1-1.centos7.6 ################################# [ 43%] - > checking installed modules - > 4:hisi_hpre-1.0.1-1.centos7.6 ################################# [ 57%] - > modules installed - > checking installed modules - > 5:hisi_rde-1.0.1-1.centos7.6 ################################# [ 71%] - > modules installed - > checking installed modules - > 6:hisi_sec2-1.0.1-1.centos7.6 ################################# [ 86%] - > modules installed - > checking installed modules - > 7:hisi_zip-1.0.1-1.centos7.6 ################################# [100%] - > checking installed modules - > ``` - > * 也可以按需依次安装rpm,以下以uacce-1.0.1为例 - > - > ```shell - > [root]rpm -ivh uacce-1.0.1-1.centos7.6.aarch64.rpm - > Preparing... ################################# [100%] - > checking installed modules - > Updating / installing... - > 1:uacce-1.0.1-1.centos7.6 ################################# [100%] - > modules installed - > ``` - > * 安装libkae引擎软件包时还需要通过--prefix指定OpenSSL引擎的路径,命令与回显结果如下: - > - > ```shell - > [root]rpm -ivh libkae-1.0.1-1.centos7.6.aarch64.rpm --prefix=/usr/local/lib/engines-1.1 - > Preparing... ################################# [100%] - > Updating / installing... - > 1:libkae-1.0.1-1.centos7.6 ################################# [100%] - > ``` -* 步骤4 - 查看RPM软件是否已正常安装到系统内。 - - > * 查看uacce是否已安装。 - > - > ```shell - > rpm -ql uacce - > /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_qm.ko - > /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/uacce.ko - > ``` - > * 查看hisi_sec2、hisi_hpre、hisi_rde是否已安装。 - > - > ```shell - > rpm -ql hisi_sec2 hisi_hpre hisi_rde - > /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_sec2.ko - > /etc/modproe.d/hisi_sec2.conf - > /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_hpre.ko - > /etc/modproe.d/hisi_hpre.conf - > /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_rde.ko - > /etc/modproe.d/hisi_rde.conf - > ``` - > - > 查看hisi_zip是否已安装。 - > - > ```shell - > rpm -ql hisi_zip - > /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_zip.ko - > /etc/modproe.d/hisi_zip.conf - > ``` - > * 查看安装目录下是否生成对应模块。 - > - > ```shell - > ls -al /lib/modules/`uname -r`/extra - > -rw-r--r--. 1 root root 681104 Nov 12 17:32 hisi_hpre.ko - > -rw-r--r--. 1 root root 618888 Nov 12 17:32 hisi_qm.ko - > -rw-r--r--. 1 root root 844728 Nov 12 17:32 hisi_rde.ko - > -rw-r--r--. 1 root root 729304 Nov 12 17:32 hisi_sec2.ko - > -rw-r--r--. 1 root root 396784 Nov 12 17:32 hisi_zip.ko - > -rw-r--r--. 1 root root 467160 Nov 12 17:32 uacce.ko - > ``` - > * 在“/etc/modprobe.d/”目录下查看是否生成对应的配置文件。 - > - > ```shell - > ls -al /etc/modprobe.d/ - > -rw-r--r--. 1 root root 166 Oct 30 2018 firewalld-sysctls.conf - > -rw-r--r--. 1 root root 44 Nov 17 21:56 hisi_hpre.conf - > -rw-r--r--. 1 root root 43 Nov 17 21:56 hisi_rde.conf - > -rw-r--r--. 1 root root 61 Nov 17 21:56 hisi_sec2.conf - > -rw-r--r--. 1 root root 674 Jul 4 2018 tuned.conf - > -rw-r--r--. 1 root root 43 Nov 17 21:56 hisi_zip.conf - > ``` -* 步骤5(可选)如果是SUSE操作系统,在加载外部驱动前需要先将配置文件“/etc/modprobe.d/10-unsupported-modules.conf”中的“allow_unsupported_modules”参数值设置为“1”。 -* 步骤6 - 加载加速器驱动到内核。 - - * 方式一:重启系统加载 - * 方式二:手动依次加载 - - > 查询已载入内核的uacce驱动模块。 - > - > ```shell - > lsmod | grep uacce - > ``` - > - > 加载uacce驱动。 - > `modprobe uacce` - > 加载hisi_sec2驱动,将根据“/etc/modprobe.d/hisi_sec2.conf”下的配置文件加载到内核。 - > `modprobe hisi_sec2` - > 加载hisi_hpre驱动,将根据“/etc/modprobe.d/hisi_hpre.conf”下的配置文件加载到内核。 - > `modprobe hisi_hpre` - > 加载hisi_rde驱动,将根据“/etc/modprobe.d/hisi_rde.conf”下的配置文件加载到内核。 - > `modprobe hisi_rde` - > 加载hisi_zip驱动,将根据/etc/modprobe.d/hisi_zip.conf下的配置文件加载到内核。 - > `modprobe hisi_zip` - > 再次查询已载入内核的uacce驱动模块。有以下加载的模块显示则表示加载成功。 - > - > ```shell - > lsmod | grep uacce - > uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre,hisi_rde,hisi_zip - > ``` -* (可选)使用加解密功能时候,设置环境变量OPENSSL_ENGINES - 如果用户指定安装路径,则下面/usr/local/lib/engines-1.1应根据实际安装路径进行修改。 - - ```shell - export OPENSSL_ENGINES=/usr/local/lib/engines-1.1 - ``` - - > 说明:该环境变量默认为指定挂载到OpenSSL中的引擎路径,可以指定到客户自定义路径。 +## 2.4 KAE2.0安装 -(dep包安装同rpm安装,rpm -ivh XXX.rpm 对应为 dpkg -i XXX.deb ) +### 2.4.1 RPM包安装 -#### 源码安装 +RPM包在gitee社区[release界面](https://gitee.com/kunpengcompute/KAE/releases) -* 步骤1 - 下载代码 - - ```shell - git clone https://gitee.com/kunpengcompute/KAE.git -b kae1 - ``` -* 步骤2 - 安装内核驱动 - - ```shell - cd kae_drvier - make - make install - ``` - - 加速器驱动编译生成uacce.ko、hisi_qm.ko、hisi_sec2.ko、hisi_hpre.ko、hisi_zip.ko、hisi_rde.ko,安装路径为:“lib/modules/`uname -r`/extra”。 - - > 由于SUSE及CentOS内核目录为“/lib/modules/\`uname -r\`/”,驱动安装的目录为“/lib/modules/\`uname -r\`/extra”(\`uname -r\`命令获取当前运行内核信息)。如果其他操作系统不是该目录,需要修改Makefile文件中install指定的内核路径。 install: \$(shell mkdir -p /lib/modules/\`uname -r\`/extra)修改为$(shell mkdir -p内核路径/extra) -* 步骤3 - 安装用户态驱动。 - - ```shell - cd warpdrive - sh autogen.sh - ./configure - make - make install - ``` - - 其中,执行编译命令./configure时可以加--prefix选项用于指定加速器用户态驱动需要安装的位置,用户态驱动动态库文件为libwd.so。Warpdrive默认安装路径为“/usr/local”,动态库文件在“/usr/local/lib”下。 - - > 说明:KAE引擎需要使用到OpenSSL的动态库与Warpdrive的动态库。Warpdrive源码安装路径选择需要与OpenSSL安装路径保持一致,使得KAE加速引擎可以通过LD_LIBRARY_PATH能够同时找到这两个动态库。 -* 步骤4 - (可选)如果是SUSE操作系统,在加载外部驱动前需要先将配置文件“/etc/modprobe.d/10-unsupported-modules.conf”中的“allow_unsupported_modules”参数值设置为“1”。 -* 步骤5 -* 方式一:重启系统加载 - - * 方式二:手动依次加载 - - > 查询已载入内核的uacce驱动模块。 - > - > ```shell - > lsmod | grep uacce - > ``` - > - > 加载uacce驱动。 - > `modprobe uacce` - > 加载hisi_sec2驱动,将根据“/etc/modprobe.d/hisi_sec2.conf”下的配置文件加载到内核。 - > `modprobe hisi_sec2` - > 加载hisi_hpre驱动,将根据“/etc/modprobe.d/hisi_hpre.conf”下的配置文件加载到内核。 - > `modprobe hisi_hpre` - > 加载hisi_rde驱动,将根据“/etc/modprobe.d/hisi_rde.conf”下的配置文件加载到内核。 - > `modprobe hisi_rde` - > 加载hisi_zip驱动,将根据/etc/modprobe.d/hisi_zip.conf下的配置文件加载到内核。 - > `modprobe hisi_zip` - > 再次查询已载入内核的uacce驱动模块。有以下加载的模块显示则表示加载成功。 - > - > ```shell - > lsmod | grep uacce - > uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre,hisi_rde,hisi_zip - > ``` -* (可选)设置环境变量OPENSSL_ENGINES - 如果用户指定安装路径,则下面/usr/local/lib/engines-1.1应根据实际安装路径进行修改。 - - ```shell - export OPENSSL_ENGINES=/usr/local/lib/engines-1.1 - ``` - - > 说明:该环境变量默认为指定挂载到OpenSSL中的引擎路径,可以指定到客户自定义路径。 -* 步骤6 - 编译安装KAE加速引擎 - - ```shell - cd KAE - chmod +x config - ./configure - make clean & make - make install - ``` - - 其中,执行编译命令./configure时可以加--prefix选项用于指定KAE加速引擎的安装路径,KAE加速引擎动态库文件为libkae.so。 - 推荐通过默认方式安装KAE加速引擎。默认安装路径为“/usr/local”,动态库文件在“/usr/local/lib/engines-1.1”下。 -* 步骤7 - 检查安装状态 - - ```shell - ls -al /usr/local/lib/ |grep libwd - lrwxrwxrwx. 1 root root 14 Jun 25 11:16 libwd.so -> libwd.so.1.0.1 - lrwxrwxrwx. 1 root root 14 Jun 25 11:16 libwd.so.0 -> libwd.so.1.0.1 - -rwxr-xr-x. 1 root root 137280 Jun 24 11:37 libwd.so.1.0.1 - ``` - - ```shell - ls -al /usr/local/lib/engines-1.1/ - lrwxrwxrwx. 1 root root 48 Jun 25 11:21 kae.so -> /usr/local/openssl/lib/engines-1.1/kae.so.1.0.1 - lrwxrwxrwx. 1 root root 48 Jun 25 11:21 kae.so.0 -> /usr/local/openssl/lib/engines-1.1/kae.so.1.0.1 - -rwxr-xr-x. 1 root root 212192 Jun 24 11:37 kae.so.1.0.1 - ``` - - 查看虚拟文件系统下加速器设备 - - ```shell - ls -al /sys/class/uacce/ - total 0 - lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/uacce/hisi_hpre-2 - lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/uacce/hisi_hpre-3 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-4 -> ../../devices/pci0000:78/0000:78:01.0/uacce/hisi_rde-4 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-5 -> ../../devices/pci0000:b8/0000:b8:01.0/uacce/hisi_rde-5 - lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/uacce/hisi_sec-0 - lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/uacce/hisi_sec-1 - ``` -* 步骤8 - 通过openssl命令验证加速器是否生效。 - - ```shell - [root]openssl speed rsa2048 - sign verify sign/s verify/s - rsa 2048 bits 0.001381s 0.000035s 724.1 28601.0 - - [root]openssl speed -engine kae rsa2048 - engine "kae" set. - sign verify sign/s verify/s - rsa 2048 bits 0.000175s 0.000021s 5730.1 46591.8 - ``` - -* 步骤9 - KAEZip 安装:编译安装 zlib 库 - a. 从zlib官网下载[zlib-1.2.11.tar.gz](https://www.zlib.net/fossils/zlib-1.2.11.tar.gz),拷贝到“kae_zip_engine/open_source”路径下。 - b. 编译安装zlib库。 - ```shell - cd kae_zip_engine - sh setup.sh install - ``` - c.更多详细说明详见[KAEZip源码安装官网文档](https://www.hikunpeng.com/document/detail/zh/kunpengaccel/compress/devg-kaezip/kunpengaccel_kaezip_0028.html)。 - -* 步骤10 - 通过**ldd**命令查看zlib加速库是否链接到libwd和libkaezip。 - - ```shell - ldd /usr/local/kaezip/lib/libz.so.1.2.11 - linux-vdso.so.1 => (0x0000ffff80280000) - libc.so.6 => /lib64/libc.so.6 (0x0000ffff80080000) - libwd.so.1 => /lib64/libwd.so.1 (0x0000ffff80040000) - /lib/ld-linux-aarch64.so.1 (0x0000ffff80290000) - libkaezip.so => /usr/local/kaezip/lib/libkaezip.so (0x0000ffff80830000) - ``` - -### 2.4.2 KAE2.0版本 - -#### 二进制包安装 - -RPM包尚未发布。 - -#### 源码安装 +> 内核RPM包的安装会依赖OS的内核版本号,gitee社区提供的RPM都是在特性OS版本编译,安装需要依赖对应版本,若OS版本不匹配,可以通过源码按照方式使用,或者通过源码sh build.sh rpmpack命令生成特点版本的RPM使用。 + +### 2.4.2 源码安装 通过2.2节获取到源码后,进入KAE文件夹,目录结构如下所示: -```shell --rw-r--r--. 1 root root 6921 Aug 4 16:37 build.sh -drwxr-xr-x. 7 root root 4096 Aug 15 17:13 KAEKernelDriver -drwxr-xr-x. 7 root root 4096 Aug 15 17:13 KAEOpensslEngine -drwxr-xr-x. 9 root root 4096 Aug 15 17:19 KAEZlib -drwxr-xr-x. 8 root root 4096 Aug 8 10:45 KAEZstd --rw-r--r--. 1 root root 5 Jul 27 17:25 README.md -drwxr-xr-x. 3 root root 4096 Jul 27 17:25 scripts -drwxr-xr-x. 14 root root 4096 Aug 15 17:13 uadk +```shell-rw-r--r--. +-rw-r--r--. 1 root root 13609 Feb 12 10:48 env-check.sh +drwxr-xr-x. 4 root root 54 May 7 20:05 KAEGzip +drwxr-xr-x. 5 root root 125 May 7 20:05 KAEKernelDriver +drwxr-xr-x. 6 root root 163 May 7 20:20 KAELz4 +drwxr-xr-x. 6 root root 233 May 7 20:05 KAEOpensslEngine +drwxr-xr-x. 7 root root 132 May 7 20:05 KAEZlib +drwxr-xr-x. 6 root root 166 May 7 20:22 KAEZstd +-rw-r--r--. 1 root root 29683 Feb 12 10:48 README.md +drwxr-xr-x. 5 root root 83 May 7 20:05 scripts +drwxr-xr-x. 10 root root 4096 May 7 20:05 uadk + ``` -需要依次安装驱动、安装UADK、安装OpensslEngine(按需)、安装Zlib(按需)。 +需要依次安装驱动、安装UADK、安装应用层软件(KAEOpensslEngine、KAEZlib、KAEZstd、KAELz4、KAEGzip)。 -* **安装驱动** +关键编译命令: +`sh build.sh -h` 查看帮助信息 +`sh build.sh all` 一键简易安装 + +#### 2.4.2.1 安装内核驱动 ```shell [root@localhost KAE]# sh build.sh driver @@ -537,17 +156,16 @@ lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_zip-4 -> ../../devices/pci0000:74/00 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_zip-5 -> ../../devices/pci0000:b4/0000:b4:00.0/0000:b5:00.0/uacce/hisi_zip-5 ``` -> 说明: 若无内容显示,可能是因为uacce默认安装了内核版本,可以先卸载后重新安装。 -> sh build cleanup +> 说明: 若无内容显示,可能是因为uacce默认安装了内核版本,可以先卸载后重新安装。 sh build cleanup -* 安装UADK +#### 2.4.2.2 安装用户态驱动 ```shell sh build.sh uadk ... ``` -可以通过查找libwd*.so来确定是否安装成功 +可以通过查找libwd\*.so来确定是否安装成功 ```shell [root@localhost KAE]# ll /usr/local/lib/libwd* @@ -565,7 +183,7 @@ lrwxrwxrwx. 1 root root 14 Aug 22 17:23 /usr/local/lib/libwd.so.2 -> libwd. -rwxr-xr-x. 1 root root 1342080 Aug 22 17:23 /usr/local/lib/libwd.so.2.5.0 ``` -* **安装OpenSSLEngine(按需)** +#### 2.4.2.3 安装OpenSSLEngine(按需) ```shell sh build.sh engine @@ -609,22 +227,133 @@ compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -O2 -g -pipe -Wall -Wer rsa 2048 bits 0.000154s 0.000019s 6491.3 51968.5 ``` -* **安装KAEZlib(按需)** +#### 2.4.2.4 安装KAEZlib(按需) + +此特性仅在920新型号处理器有效 ```shell sh build.sh zlib ``` -通过**ldd**命令查看zlib加速库是否链接到libwd和libkaezip。 +查看kaezip软件库是否生成 + +```shell +[root@localhost KAE]# ll /usr/local/kaezip/lib/ +total 428 +lrwxrwxrwx. 1 root root 40 May 10 09:29 libkaezip.so -> /usr/local/kaezip/lib/libkaezip.so.2.0.4 +lrwxrwxrwx. 1 root root 40 May 10 09:29 libkaezip.so.0 -> /usr/local/kaezip/lib/libkaezip.so.2.0.4 +-rwxr-xr-x. 1 root root 215480 May 10 09:29 libkaezip.so.2.0.4 +-rw-r--r--. 1 root root 150106 May 10 09:29 libz.a +lrwxrwxrwx. 1 root root 14 May 10 09:29 libz.so -> libz.so.1.2.11 +lrwxrwxrwx. 1 root root 14 May 10 09:29 libz.so.1 -> libz.so.1.2.11 +-rwxr-xr-x. 1 root root 144208 May 10 09:29 libz.so.1.2.11 +drwxr-xr-x. 2 root root 4096 May 10 09:29 pkgconfig -```shell[root@localhost -linux-vdso.so.1 (0x0000ffffb0282000) - libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffffb0075000) - libkaezip.so.2.0.4 => /usr/local/kaezip/lib/libkaezip.so.2.0.4 (0x0000ffffb0044000) - libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffffaffe3000) - libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffffaffb2000) - /lib/ld-linux-aarch64.so.1 (0x0000ffffb0245000) - libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffffaff8d000) ``` -> 说明:脚本提供一键式安装命令:sh build.sh all, 初次使用前建议先 sh build.sh cleanup +若通过**ldd**命令查看zlib加速库没链接到libwd和libkaezip,可以通过LD_LIBRARY_PATH指定依赖库地址。 + +#### 2.4.2.5 安装KAEGzip(按需) + +此特性仅在920新型号处理器有效 + +```shell +sh build.sh gzip +``` + +查看kaegzip二进制工具是否生成 + +```shell +[root@localhost KAE]# ll /usr/local/kaegzip/ +total 116 +-rwxr-xr-x. 1 root root 154712 May 10 09:29 gzip +``` + +若通过**ldd**命令查看zlib加速库没链接到libwd和libkaezip,可以通过LD_LIBRARY_PATH指定依赖库地址。 + +#### 2.4.2.5 安装KAEZztd(按需) + +此特性仅在920新型号处理器有效 + +```shell +sh build.sh zstd +``` + +查看kaezstd软件库是否生成 + +```shell +[root@localhost KAE]# ll /usr/local/kaezstd/lib/ +total 2224 +-rwxr-xr-x. 1 root root 291642 May 10 09:29 libkaezstd.a +lrwxrwxrwx. 1 root root 42 May 10 09:29 libkaezstd.so -> /usr/local/kaezstd/lib/libkaezstd.so.2.0.4 +lrwxrwxrwx. 1 root root 42 May 10 09:29 libkaezstd.so.0 -> /usr/local/kaezstd/lib/libkaezstd.so.2.0.4 +-rwxr-xr-x. 1 root root 153088 May 10 09:29 libkaezstd.so.2.0.4 +-rw-r--r--. 1 root root 986046 May 10 09:29 libzstd.a +lrwxrwxrwx. 1 root root 16 May 10 09:29 libzstd.so -> libzstd.so.1.5.2 +lrwxrwxrwx. 1 root root 16 May 10 09:29 libzstd.so.1 -> libzstd.so.1.5.2 +-rwxr-xr-x. 1 root root 843000 May 10 09:29 libzstd.so.1.5.2 +drwxr-xr-x. 2 root root 4096 May 10 09:29 pkgconfig + +``` + +若通过**ldd**命令查看zstd加速库没链接到libwd和libkaezstd,可以通过LD_LIBRARY_PATH指定依赖库地址。 + +#### 2.4.2.6 安装KAELz4(按需) + +此特性仅在920新型号处理器有效 + +```shell +sh build.sh lz4 +``` + +查看kaelz4软件库是否生成 + +```shell +[root@localhost KAE]# ll /usr/local/kaelz4/lib/ +total 884 +-rwxr-xr-x. 1 root root 208476 May 10 09:29 libkaelz4.a +lrwxrwxrwx. 1 root root 40 May 10 09:29 libkaelz4.so -> /usr/local/kaelz4/lib/libkaelz4.so.2.0.4 +lrwxrwxrwx. 1 root root 40 May 10 09:29 libkaelz4.so.0 -> /usr/local/kaelz4/lib/libkaelz4.so.2.0.4 +-rwxr-xr-x. 1 root root 145328 May 10 09:29 libkaelz4.so.2.0.4 +-rw-r--r--. 1 root root 339872 May 10 09:30 liblz4.a +lrwxrwxrwx. 1 root root 15 May 10 09:30 liblz4.so -> liblz4.so.1.9.4 +lrwxrwxrwx. 1 root root 15 May 10 09:30 liblz4.so.1 -> liblz4.so.1.9.4 +-rwxr-xr-x. 1 root root 276336 May 10 09:30 liblz4.so.1.9.4 +drwxr-xr-x. 2 root root 4096 May 10 09:30 pkgconfig +``` + +若通过**ldd**命令查看zstd加速库没链接到libwd和libkaelz4,可以通过LD_LIBRARY_PATH指定依赖库地址。 + +#### 2.4.2.6 源码方式卸载 + +```shell +sh build.sh driver clean 内核驱动卸载 +sh build.sh uadk clean 用户态驱动卸载 +sh build.sh engine clean 加解密引擎卸载 +sh build.sh zlib clean 压缩库zlib卸载 +sh build.sh gzip clean 压缩库gzip卸载 +sh build.sh zstd clean 压缩库zstd卸载 +sh build.sh lz4 clean 压缩库lz4卸载 +### +sh build.sh cleanup 一键式卸载 +``` + +# 三、常见问题 + +## 3.1 安装问题 + +### 驱动安装问题 + +* 内核版本和内核开发包版本不一致导致内核安装失败。(包括小版本号) + + > uname -r 查看内核版本 + > rpm -qa | grep kernel-devel 查看内核开发包版本 + + 解决办法:安装和内核版本一致的开发包 +* 缺少license导致加载失败 + + > lspci | grep HPRE + > lspci | grep SEC + > lspci | grep ZIP + + 解决办法:920申请license安装;920新型号更新免license版本BIOS -- Gitee