鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

源码安装(KAE2.0)

KAE2.0源码包中包含KAEKernelDriver内核驱动、UADK框架、KAEOpensslEngine引擎和KAEZlib、KAEZstd、KAELz4几个模块,其中内核驱动与UADK为必选项,其他模块按实际需求选择安装。本文选择KAEZlib库、KAEZstd库和KAELz4库,过程中可直接使用脚本进行安装,最后检查是否安装成功。

前提条件

  • 请先下载KAE2.0源码包,下载路径为:https://gitee.com/kunpengcompute/KAE/tree/kae2/,或通过命令git clone https://gitee.com/kunpengcompute/KAE.git -b kae2下载。
  • 安装前的系统环境已满足安装前准备中的环境要求。
  • 使用yum install -y make kernel-devel libtool numactl-devel openssl-devel lz4-devel libzstd-devel chrpath命令安装相关依赖。

安装步骤

  1. 使用远程登录工具,以root账号进入Linux操作系统命令行界面
  2. 将KAE源码包拷贝到自定义路径下并解压。
  3. (可选)一键安装所有模块。

    代码脚本提供一键式安装命令。进入KAE源码包目录,使用sh build.sh all命令安装以上所有组件内容,若不需要加解密模块,请参见以下步骤分模块进行安装。

  4. 安装内核驱动。
    1. 在KAE源码目录下开始安装内核驱动。
      1
      2
      cd KAE
      sh build.sh driver
      

      加速器驱动编译生成uacce.ko、hisi_qm.ko、hisi_sec2.ko、hisi_hpre.ko、hisi_zip.ko、hisi_rde.ko,安装路径为:“/lib/modules/`uname -r`/extra”

    2. 查看驱动是否安装成功。
      • 查看“/sys/class/uacce”是否存在加速引擎文件系统。
        1
        ll /sys/class/uacce/
        
        回显信息如下所示,表示驱动安装成功。
        1
        2
        3
        4
        5
        6
        lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/uacce/hisi_hpre-2
        lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/uacce/hisi_hpre-3
        lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_sec2-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/uacce/hisi_sec2-0
        lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_sec2-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/uacce/hisi_sec2-1
        lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_zip-4 -> ../../devices/pci0000:74/0000:74:00.0/0000:75:00.0/uacce/hisi_zip-4
        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
        
      • 通过lsmod查看驱动安装情况来判断驱动是否安装成功。
        1
        lsmod | grep uacce
        
        回显信息如下所示,表示驱动安装成功。
        1
        uacce                  32768  3 hisi_sec2,hisi_qm,hisi_zip
        
    • 重启设备安装驱动后查询不到设备文件,可能是操作系统自带加速驱动导致,可以卸载驱动后重新加载;或者在启动脚本re.local中加上重新加载驱动命令。以hisi_sec2为例。
      1
      2
      rmmod hisi_sec2
      modprobe hisi_sec2
      
    • 如果sh build.sh cleanup后重新安装仍旧找不到设备文件,请确保License安装成功,若无License也会导致驱动安装失败,关于License请参见安装前准备中的“获取License”内容。
    • KAE2.0版本安装驱动会默认将加解密及解压缩驱动一起安装,若不需要可手动卸载不需要的驱动文件。
  5. 安装用户态驱动。
    1. 在KAEdriver源码目录下执行以下命令安装UADK驱动开发库。
      1
      sh build.sh uadk
      

      UADK框架中包含了用户态驱动,用户态驱动动态库文件为libwd.so、libwd_crypto.so等。UADK默认安装路径为“/usr/include/uadk”,动态库文件在“/usr/local/lib”下。

    2. 查看UADK框架是否安装成功。
      1
      ll /usr/local/lib/libwd*
      
      回显信息如下,表示安装成功。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      -rwxr-xr-x. 1 root root     961 Aug 22 17:23 /usr/local/lib/libwd_comp.la
      lrwxrwxrwx. 1 root root      19 Aug 22 17:23 /usr/local/lib/libwd_comp.so -> libwd_comp.so.2.5.0
      lrwxrwxrwx. 1 root root      19 Aug 22 17:23 /usr/local/lib/libwd_comp.so.2 -> libwd_comp.so.2.5.0
      -rwxr-xr-x. 1 root root  377872 Aug 22 17:23 /usr/local/lib/libwd_comp.so.2.5.0
      -rwxr-xr-x. 1 root root     973 Aug 22 17:23 /usr/local/lib/libwd_crypto.la
      lrwxrwxrwx. 1 root root      21 Aug 22 17:23 /usr/local/lib/libwd_crypto.so -> libwd_crypto.so.2.5.0
      lrwxrwxrwx. 1 root root      21 Aug 22 17:23 /usr/local/lib/libwd_crypto.so.2 -> libwd_crypto.so.2.5.0
      -rwxr-xr-x. 1 root root  715616 Aug 22 17:23 /usr/local/lib/libwd_crypto.so.2.5.0
      -rwxr-xr-x. 1 root root     907 Aug 22 17:23 /usr/local/lib/libwd.la
      lrwxrwxrwx. 1 root root      14 Aug 22 17:23 /usr/local/lib/libwd.so -> libwd.so.2.5.0
      lrwxrwxrwx. 1 root root      14 Aug 22 17:23 /usr/local/lib/libwd.so.2 -> libwd.so.2.5.0
      -rwxr-xr-x. 1 root root 1342080 Aug 22 17:23 /usr/local/lib/libwd.so.2.5.0
      
  6. 编译安装KAEZlib加速库、KAEZstd加速库和KAELz4加速库。

    KAEZlib加速库

    在完成KAEZlib加速库的安装后,可以结合自身需求进行KAEGzip解压缩工具的编译安装,该解压缩工具集成了KAE硬加速接口,使用户能够更加便捷地使用鲲鹏硬加速模块进行文件的压缩和解压操作。安装步骤请参见6.c~6.d

    1. 编译安装。
      1
      sh build.sh zlib
      

      zlib加速库安装在“/usr/local/kaezip”

    2. 查看zlib加速压缩库是否安装成功。
      1
      ll /usr/local/kaezip/lib/
      
      回显信息如下所示,表示安装成功。
      1
      2
      3
      4
      5
      6
      7
      8
      lrwxrwxrwx. 1 root root     40 Aug 29 10:20 libkaezip.so -> /usr/local/kaezip/lib/libkaezip.so.2.0.0
      lrwxrwxrwx. 1 root root     40 Aug 29 10:20 libkaezip.so.0 -> /usr/local/kaezip/lib/libkaezip.so.2.0.0
      -rwxr-xr-x. 1 root root 148096 Aug 29 10:20 libkaezip.so.2.0.0
      -rw-r--r--. 1 root root 145674 Aug 29 10:20 libz.a
      lrwxrwxrwx. 1 root root     14 Aug 29 10:20 libz.so -> libz.so.1.2.11
      lrwxrwxrwx. 1 root root     14 Aug 29 10:20 libz.so.1 -> libz.so.1.2.11
      -rwxr-xr-x. 1 root root 144784 Aug 29 10:20 libz.so.1.2.11
      drwxr-xr-x. 2 root root   4096 Aug 29 10:20 pkgconfig
      
    3. 可选:编译安装KAEGzip解压缩工具。
      1
      sh build.sh gzip
      

      工具安装在“/usr/local/kaegzip”

    4. 可选:查看KAEGzip解压缩工具是否安装成功。
      1
      ldd /usr/local/kaegzip/gzip
      
      回显信息如下所示,表示安装成功。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      [root@localhost /]# ldd /usr/local/kaegzip/gzip 
      	linux-vdso.so.1 (0x0000ffff7fbc1000)
      	libz.so.1 => /usr/local/kaezip/lib/libz.so.1 (0x0000ffff7fb50000)
      	libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffff7fae0000)
      	libkaezip.so => /usr/local/kaezip/lib/libkaezip.so (0x0000ffff7fa90000)
      	libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff7f8e0000)
      	/lib/ld-linux-aarch64.so.1 (0x0000ffff7fb84000)
      	libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffff7f8a0000)
      	libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffff7f870000)
      

    KAEZstd加速库

    1. 编译安装。
      1
      sh build.sh zstd
      

      KAEZstd加速库安装在“/usr/local/kaezstd”

    2. 查看是否安装成功。
      1
      ll /usr/local/kaezstd/lib/
      
      回显信息如下所示,表示安装成功。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      -rwxr-xr-x. 1 root root  82688 Aug 29 10:40 libkaezstd.a
      lrwxrwxrwx. 1 root root     42 Aug 29 10:40 libkaezstd.so -> /usr/local/kaezstd/lib/libkaezstd.so.2.0.0
      lrwxrwxrwx. 1 root root     42 Aug 29 10:40 libkaezstd.so.0 -> /usr/local/kaezstd/lib/libkaezstd.so.2.0.0
      -rwxr-xr-x. 1 root root  76880 Aug 29 10:40 libkaezstd.so.2.0.0
      -rw-r--r--. 1 root root 996750 Aug 29 10:40 libzstd.a
      lrwxrwxrwx. 1 root root     16 Aug 29 10:40 libzstd.so -> libzstd.so.1.5.2
      lrwxrwxrwx. 1 root root     16 Aug 29 10:40 libzstd.so.1 -> libzstd.so.1.5.2
      -rwxr-xr-x. 1 root root 908616 Aug 29 10:40 libzstd.so.1.5.2
      drwxr-xr-x. 2 root root   4096 Aug 29 10:40 pkgconfig
      

    KAELz4加速库

    1. 编译安装。
      1
      sh build.sh lz4
      

      KAELz4加速库安装在“/usr/local/kaelz4”

    2. 查看是否安装成功。
      1
      ll /usr/local/kaelz4/lib/
      
      回显信息如下所示,表示安装成功。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      -rwxr-xr-x 1 root root 208716 Oct 24 14:26 libkaelz4.a
      lrwxrwxrwx 1 root root     40 Oct 24 14:26 libkaelz4.so -> /usr/local/kaelz4/lib/libkaelz4.so.1.0.0
      lrwxrwxrwx 1 root root     40 Oct 24 14:26 libkaelz4.so.0 -> /usr/local/kaelz4/lib/libkaelz4.so.1.0.0
      -rwxr-xr-x 1 root root 145296 Oct 24 14:26 libkaelz4.so.1.0.0
      -rw-r--r-- 1 root root 318592 Oct 24 14:27 liblz4.a
      lrwxrwxrwx 1 root root     15 Oct 24 14:27 liblz4.so -> liblz4.so.1.9.4
      lrwxrwxrwx 1 root root     15 Oct 24 14:27 liblz4.so.1 -> liblz4.so.1.9.4
      -rwxr-xr-x 1 root root 276320 Oct 24 14:27 liblz4.so.1.9.4
      drwxr-xr-x 2 root root   4096 Oct 24 14:27 pkgconfig
      
  7. 安装后检查。
    • 查看KAEZlib库加速引擎是否生效。通过ldd命令查看KAEZlib加速库是否链接到libwd库。
      1
      ldd /usr/local/kaezip/lib/libz.so.1.2.11
      
      如果有如下返回信息,说明KAEZlib加速库安装成功。同样的,用户的进程也可以通过ldd命令查看是否使用libwd库。
      1
      2
      3
      4
      5
      6
      7
              linux-vdso.so.1 (0x0000ffffa631d000)
      	libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffffa6110000)
      	libkaezip.so => /usr/local/kaezip/lib/libkaezip.so (0x0000ffffa60df000)
      	libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffffa607e000)
      	libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffffa605d000)
      	/lib/ld-linux-aarch64.so.1 (0x0000ffffa62e0000)
      	libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffffa6038000)
      
    • 查看KAEZstd库加速引擎是否生效。通过ldd命令查看KAEZstd加速库是否链接到libwd库。
      1
      ldd /usr/local/kaezstd/lib/libkaezstd.so
      
      如果有如下返回信息,说明KAEZstd加速库安装成功。
      1
      2
      3
      4
      5
      6
              linux-vdso.so.1 (0x0000ffff89774000)
              libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffff896b5000)
              libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffff89684000)
              libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff894d5000)
              /lib/ld-linux-aarch64.so.1 (0x0000ffff89737000)
              libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffff894b0000)
      
    • 查看KAELz4库加速引擎是否生效。通过ldd命令查看KAELz4加速库是否链接到libwd库。
      1
      ldd /usr/local/kaelz4/lib/libkaelz4.so
      
      如果有如下返回信息,说明KAELz4加速库安装成功。
      1
      2
      3
      4
      5
      6
      	linux-vdso.so.1 (0x0000ffff84add000)
      	libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffff84a0e000)
      	libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffff849dd000)
      	libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff8482e000)
      	/lib/ld-linux-aarch64.so.1 (0x0000ffff84aa0000)
      	libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffff84809000)