源码安装(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命令安装相关依赖。
安装步骤
- 使用远程登录工具,以root账号进入Linux操作系统命令行界面。
- 将KAE源码包拷贝到自定义路径下并解压。
- (可选)一键安装所有模块。
代码脚本提供一键式安装命令。进入KAE源码包目录,使用sh build.sh all命令安装以上所有组件内容,若不需要加解密模块,请参见以下步骤分模块进行安装。
- 安装内核驱动。
- 在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”。
- 查看驱动是否安装成功。
- 查看“/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
- 查看“/sys/class/uacce”是否存在加速引擎文件系统。
- 重启设备安装驱动后查询不到设备文件,可能是操作系统自带加速驱动导致,可以卸载驱动后重新加载;或者在启动脚本re.local中加上重新加载驱动命令。以hisi_sec2为例。
1 2
rmmod hisi_sec2 modprobe hisi_sec2
- 如果sh build.sh cleanup后重新安装仍旧找不到设备文件,请确保License安装成功,若无License也会导致驱动安装失败,关于License请参见安装前准备中的“获取License”内容。
- KAE2.0版本安装驱动会默认将加解密及解压缩驱动一起安装,若不需要可手动卸载不需要的驱动文件。
- 在KAE源码目录下开始安装内核驱动。
- 安装用户态驱动。
- 在KAEdriver源码目录下执行以下命令安装UADK驱动开发库。
1
sh build.sh uadk
UADK框架中包含了用户态驱动,用户态驱动动态库文件为libwd.so、libwd_crypto.so等。UADK默认安装路径为“/usr/include/uadk”,动态库文件在“/usr/local/lib”下。
- 查看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
- 在KAEdriver源码目录下执行以下命令安装UADK驱动开发库。
- 编译安装KAEZlib加速库、KAEZstd加速库和KAELz4加速库。
KAEZlib加速库
在完成KAEZlib加速库的安装后,可以结合自身需求进行KAEGzip解压缩工具的编译安装,该解压缩工具集成了KAE硬加速接口,使用户能够更加便捷地使用鲲鹏硬加速模块进行文件的压缩和解压操作。安装步骤请参见6.c~6.d。
- 编译安装。
1
sh build.sh zlib
zlib加速库安装在“/usr/local/kaezip”。
- 查看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
- 可选:编译安装KAEGzip解压缩工具。
1
sh build.sh gzip
工具安装在“/usr/local/kaegzip”。
- 可选:查看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
sh build.sh zstd
KAEZstd加速库安装在“/usr/local/kaezstd”。
- 查看是否安装成功。
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
sh build.sh lz4
KAELz4加速库安装在“/usr/local/kaelz4”。
- 查看是否安装成功。
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
- 编译安装。
- 安装后检查。
- 查看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)
- 查看KAEZlib库加速引擎是否生效。通过ldd命令查看KAEZlib加速库是否链接到libwd库。
父主题: 通过源码方式安装KAE