1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法

Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法

时间:2022-09-25 18:15:28

相关推荐

Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法

Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法

问题描述

在Ubuntu上使用CP210x USB转UART设备时需要安装驱动程序(CP210x USB to UART Bridge VCP Drivers),安装驱动过程中cp210x.ko文件已经编译成功,但使用命令

insmod /lib/modules/4.15.0-43-generic/kernel/drivers/usb/serial/usbserial.ko

加载usbserial模块时报错:

Required key not available

开发环境

操作系统:Ubuntu 18.04

Linux内核版本:4.15.0-43-generic

使用命令$uname -a查看系统环境,得到如下结果:

另附:CP210x驱动下载地址:/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

关于该驱动的详细安装教程,请参考上述官网说明.

解决步骤

1.首先,对于Ubuntu系统,可以使用如下命令安装 mokutil工具:

$sudo apt-get install mokutil

2.然后任意目录下,创建一个生成证书的参数配置文件 x509-configuration.ini,配置文件内容如下:

[ req ]default_bits = 4096distinguished_name = req_distinguished_nameprompt = nostring_mask = utf8onlyx509_extensions = myexts[ req_distinguished_name ]O = YOUR_USERNAMECN = YOUR_USERNAMEemailAddress = YOUR_EMAIL_ADDRESS[ myexts ]basicConstraints=critical,CA:FALSEkeyUsage=digitalSignaturesubjectKeyIdentifier=hashauthorityKeyIdentifier=keyid

3.在该目录下调用openssl命令, 生成public_key.der 和 private_key.priv文件。其中public_key.der是证书:

$sudo openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 -batch -config x509-configuration.ini -outform DER -out public_key.der -keyout private_key.priv

用mokutil 命令把证书public_key.der放进数据库mokdb里:

$mokutil --import public_key.der

当提示输入密码时,需要输入root用户的密码,若默认未创建root用户密码,则需要通过下面的命令设置新的root密码:

$sudo passwd

上述步骤执行完毕后,输入reboot命令重启计算机即可。

注意!重启过程中也需要输入上述root用户密码。 另外,mokutil具有保护机制,若root用户密码连续输错两次以上,则需要重启计算机重新输入。

5.给模块赋予签名

重启计算机后,使用形式如下的命令给加载错误的模块赋予签名,例如:

$/usr/src/4.15.0-43-generic/scripts/sign-file sha256 private_key.priv public_key.der /lib/modules/4.15.0-43-generic/kernel/drivers/usb/serial/usbserial.ko

随后,重新加载该模块:

$insmod /lib/modules/4.15.0-43-generic/kernel/drivers/usb/serial/usbserial.ko

即可成功加载.大功告成!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。