前几期分别介绍了优麒麟生物特征认证子系统的结构、支持的设备、使用方法,本期及后续将介绍如何在优麒麟上开发生物特征认证的驱动,并将其嵌入到系统的认证授权中去。开发一个生物特征认证的驱动,首要的就是开发环境的搭建,本期就来介绍下如何获取源码、如何构建开发环境、如何配置驱动。
01概述
前几期分别介绍了优麒麟生物特征认证子系统的结构、支持的设备、使用方法,本期及后续将介绍如何在优麒麟上开发生物特征认证的驱动,并将其嵌入到系统的认证授权中去。
开发一个生物特征认证的驱动,首要的就是开发环境的搭建,本期就来介绍下如何获取源码、如何构建开发环境、如何配置驱动。02开发环境准备2.1 获取生物特征认证框架服务2.1.1 从源码获取
1. 下载源码:
方法一:通过 git 命令下载。$ git clone https://github.com/ukui/biometric-authentication/方法二:登录https://github.com/ukui/biometric-authentication/页面,点击下载即可,如图1所示。图1 Github网页2. 简单编译:$ ./autogen.sh# 运行 autogen.sh,生成 configure 脚本
$ ./configure --disable-dependency-tracking # 运行 configure 脚本,检查系统配置
$ make # 运行 make 命令,执行代码的编译操作3. 完整参数编译:$ sudo apt install biometric-auth biometric-utils ukui-polkit ukui-biometric-manager libpam-biometric
$ ./autogen.sh # 生成 configure 脚本
$ ./configure --build=x86_64-linux-gnu \ # 设置完整参数
--prefix=/usr \
--includedir=\${prefix}/include \
--mandir=\${prefix}/share/man \
--infodir=\${prefix}/share/info \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-silent-rules \
--libdir=\${prefix}/lib/x86_64-linux-gnu \
--libexecdir=\${prefix}/lib/x86_64-linux-gnu \
--disable-dependency-tracking \
--enable-static \
--enable-shared \
--with-bio-db-dir=/var/lib/biometric-auth/ \
--with-bio-db-name=biometric.db \
--with-bio-config-dir=/etc/biometric-auth/ \
--with-bio-driver-dir=/usr/lib/biometric-authentication/drivers \
--with-bio-extra-dir=/usr/lib/biometric-authentication/drivers/extra \
--libexecdir=\${prefix}/lib/biometric-authentication
$ make# 执行编译4. 安装:$ make install# 安装编译生成的文件2.1.2 从软件源中获取(推荐)
1. 添加UKUI软件源(通过优麒麟官网下载安装的用户,可跳过此步):
$sudo echo "deb http://archive.ubuntukylin.com/ukui focal main" > /etc/apt/sources.list.d/ukui.list
2. 更新软件源:
$sudo apt update
3. 安装框架服务及开发包:
$ sudoapt install biometric-auth biometric-utils libbiometric-dev自此,开发环境就已经配置完毕,下面介绍如何放置一个驱动,如何配置一个驱动。03驱动路径及配置
3.1 驱动目录结构
框架服务及驱动的目录结构如下面的示例:/usr/lib/biometric-authentication/├── biometric-authenticationd├── discover-tools└── drivers├── extra│ ├── frt610│ │ ├── libFPScanAPI.so│ │ └── libfrt610.so│ └── ft9348-extra.so├──frt610.so└──uru4000.so其中:biometric-authenticationd,二进制文件,框架服务的本体。
discover-tools/,目录,用于放置设备检测工具。
drivers/,目录,用于放置驱动.so文件。
drivers/extra/,目录,驱动所依赖的其他库文件,可以是多个驱动公用的公共库,也可以是需要保密的第三方库文件。(例如这里的libfrt610.so就是公共库文件,libFPScanAPI.so就是闭源算法库)
frt610.so、uru4000.so,二进制库,驱动本体。如上所述,驱动文件默认放置在以下路径中:/usr/lib/biometric-authentication/drivers/3.2 配置方式框架服务的配置文件路径:/etc/biometric-auth/biometric-drivers.conf配置文件格式:[驱动名]
Enable=true #是否启用驱动,必填
Driver=/path/to/driver/so #驱动文件路径,必填
Key=Value #其他配置项,选填,例如串口驱动使用Path键指定串口的设备节点例如,frt610驱动的配置方式如下:[frt610]
Enable=true
Driver=/usr/lib/biometric-authentication/drivers/frt610.so
SecurityLevel=3
Threshold=47再例如,uru4000驱动的配置:[uru4000]
Enable=true
Driver=/usr/lib/biometric-authentication/drivers/uru4000.so
AESKey=/etc/biometric-auth/key/community-multidevice-aes.key3.3 配置文件修改工具生物特征认证框架服务提供一个工具用于修改配置文件,命令为:biometric-config-tool,用法如下:用法:
biometric-config-tool [选项...]内建指令
帮助选项:
-h,--help 显示帮助选项
内建指令:
add-driver 添加驱动
remove-driver 移除驱动
enable-driver 启用驱动
disable-driver 禁用驱动
set-key 设置驱动的键值
remove-key 移除驱动的键值其中:添加驱动:add-driver用法:biometric-config-tool add-driver [选项...] 驱动名 驱动文件路径
可选选项:-f,--force 出现同名驱动时,强制覆盖
-d,--disable 只添加而不启用驱动移除驱动:remove-driver用法:biometric-config-tool remove-driver [选项...] 驱动1 [驱动2 ...]可选选项:-i,--ignore 忽略不存在的驱动启用驱动:enable-driver用法:biometric-config-tool enable-driver [选项...] 驱动1 [驱动2 ...]可选选项:-i,--ignore 忽略不存在的驱动禁用驱动:disable-driver用法:biometric-config-tool disable-driver [选项...] 驱动1 [驱动2 ...]可选选项:-i,--ignore 忽略不存在的驱动设置驱动键值:set-key用法:biometric-config-tool set-key [选项...] 驱动名 键名 键值可选选项:-f,--force 强制覆盖已存在的键
-i,--ignore 如果键已存在,则忽略设置移除驱动键值:remove-key用法:biometric-config-tool remove-key [选项...] 驱动名 键名可选选项:-i, --ignore 忽略不存在的驱动
以上就是对优麒麟生物特征认证系统驱动开发的介绍,后续将为大家带来更多优麒麟相关技术文章,敬请期待。