中文
注册

源码安装(KAE1.0)

KAE1.0源码包中包含内核驱动、用户态驱动、基于OpenSSL的KAE引擎和zlib库四个模块,其中内核驱动与用户态驱动为必选项,KAE引擎与zlib库按实际需求选择安装。本文选择基于OpenSSL的KAE引擎进行安装,过程中需要使用命令先进行编译,安装,最后检查是否安装成功。

前提条件

安装步骤

  1. 使用远程登录工具,以root账号进入Linux操作系统命令行界面
  2. 将KAE源码包拷贝到自定义路径下。
  3. 安装内核驱动。

    在KAEdriver源码目录下,进入“kae_driver”目录后开始安装内核驱动。

    1
    2
    3
    cd kae_driver
    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)

  4. 安装用户态驱动。
    在KAEdriver源码目录下,进入“warpdrive”目录后开始安装Warpdrive驱动开发库。
    1
    2
    3
    4
    5
    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能够同时找到这两个动态库。

  5. (可选)如果是SUSE操作系统,在加载外部驱动前需要先将配置文件“/etc/modprobe.d/10-unsupported-modules.conf”中的“allow_unsupported_modules”参数值设置为“1”
  6. 加载加速器驱动到内核。
    • 方式一:重启系统加载。
    • 方式二:通过命令行手动依次加载,并查看是否加载成功。
      1. 查询已载入内核的uacce驱动模块。
        1
        lsmod | grep uacce
        

        若没有任何回显内容则执行6.b~6.e将相应的模块加载到内核。

      2. 加载uacce驱动。
        1
        modprobe uacce
        
      3. 加载hisi_sec2驱动,将根据“/etc/modprobe.d/hisi_sec2.conf”下的配置文件加载到内核。
        1
        modprobe hisi_sec2
        
      4. 加载hisi_hpre驱动,将根据“/etc/modprobe.d/hisi_hpre.conf”下的配置文件加载到内核。
        1
        modprobe hisi_hpre
        
      5. 加载hisi_rde驱动,将根据“/etc/modprobe.d/hisi_rde.conf”下的配置文件加载到内核。
        1
        modprobe hisi_rde
        
      6. 再次查询已载入内核的uacce驱动模块。
        1
        lsmod | grep uacce
        
        有以下加载的模块显示则表示加载成功。
        1
        uacce                36864  3 hisi_sec2,hisi_qm,hisi_hpre,hisi_rde
        
  7. 编译安装KAE引擎。
    1
    2
    3
    4
    5
    cd kae_engine
    chmod +x configure
    ./configure
    make clean && make
    make install
    

    其中,执行编译命令./configure时可以加--prefix选项用于指定KAE引擎的安装路径,KAE引擎动态库文件为libkae.so。

    推荐通过默认方式安装KAE引擎。默认安装路径为“/usr/local”,动态库文件在“/usr/local/lib/engines-1.1”下。

    如果libwd和OpenSSL安装方式不是按默认进行安装,则可以通过以下命令指定OpenSSL和libwd的安装路径:

    1
    ./configure --openssl_path=/usr/local/openssl –wd_path=/usr/local/libwd
    

    其中,“/usr/local/openssl”“/usr/local/libwd”是OpenSSL和libwd的一个示例安装路径。

安装后检查

  1. 执行cd命令,进入到“/usr/local/lib”目录或者用户自定义安装目录下。
  2. 查看软连接状态。
    1. 查看libwd软连接状态。
      1
      ls -al /usr/local/lib/ |grep libwd
      
      信息回显软连接及so存在,说明libwd安装成功。
      1
      2
      3
      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
      
    2. 查看KAE引擎软连接状态。
      1
      ls -al /usr/local/lib/engines-1.1/
      
      信息回显软连接及so存在,说明KAE引擎安装成功。
      1
      2
      3
      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 
      
  3. 查看虚拟文件系统下对应的加速器设备。
    1
    ls -al /sys/class/uacce/
    
    结果显示如下。
    1
    2
    3
    4
    5
    6
    7
    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
    
  4. 查看基于OpenSSL的KAE引擎是否生效。

    以验证RSA性能为例,验证步骤请参见测试同步RSA性能,通过RSA性能命令可以看到指定KAE引擎之后,RSA的性能得到明显提升。

    另外,除上述方法,在执行RSA性能命令过程中,可以在新的终端上同时查看hisi_hpre设备的硬件队列资源情况如下,相同的,SM3/SM4算法可以查看hisi_sec2的硬件队列消耗情况。
    cat /sys/class/uacce/hisi_hpre-*/attrs/available_instances

    显示结果从256变为255,说明RSA算法消耗了HPRE加速器一个硬件单元队列,说明KAE引擎已生效。

搜索结果
找到“0”个结果

当前产品无相关内容

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