Atlas 800-3000 Ubuntu 18.04在secure boot开启下启动kdump失败
2021/09/06
51
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
版本测试 | 安装部署 | 驱动固件 | kdump、secure、boot |
问题现象描述
软件配置:
OS版本:Ubuntu18.04.3
OS内核:4.15.0-55-generic
问题现象:服务器在secure boot开启的情况下启动kdump提示required key不可用,无法加载kdump kernel,如下图所示:
关键过程、根本原因分析
关键过程:在虚拟机下开启secure boot然后安装Ubuntu 18.04.3,开启kdump也出现了同样的问题,证明该问题与服务器硬件无关,与OS有关。
根本原因分析:
- 查找Ubuntu launchpad网站,发现该问题已经在跟踪,给出的可能原因是Canonical的CA证书没有导入BIOS引起的,通过导入可以规避该问题。
- 使用mokutil工具将UEFI:MokListRT cert 'Canonical Ltd. Master Certificate Authority证书导入到BIOS发现确实可以规避该问题。
- 根据Ubuntu给出的解决方案,CA证书应该由OS安装时自动导入到BIOS,问题就出在shim-signed软件包,这个软件包在安装时没有将Canonical的CA证书更新到BIOS,因此导致kdump启动失败。
结论、解决方案及效果
结论:
这是Ubuntu 18.04.3的BUG,该BUG也存在于Ubuntu 16.04各个小版本以及Ubuntu 18.04.3之前的各个小版本,由于shim-signed包的BUG引起。
解决方案:
Ubuntu UEFI平台开发团队已经知道了这个问题,并且已经发布了新的shim-signed软件包来解决该问题,但是直到输出这个文档为止,这个软件包尚未合入到新的Ubuntu18.04发行版中。新的软件包下载路径如下:
https://launchpad.net/~ubuntu-uefi-team/+archive/ubuntu/ppa
除了使用新的shim-signed包来解决这个问题以外,还可以使用以下的规避方案来规避该问题:
- 将crt格式的CA证书转换为der格式。
# openssl x509 -outform der -in /etc/ssl/certs/ca-certificates.crt -out new-ca.der
- 使用mokutil工具将der格式的CA证书导入,注意在导入时会提示设置密码,这个密码将会在后面的步骤中用到。
- 重启OS。
- 重启后将会进入MOK管理界面,然后按enter键。
- 选择Enroll MOK,然后按Yes,在提示输入密码时输入第(2)步设置的密码。
- 重启服务器。
- OS启动完成后,我们将会使用下面的命令来检查kdump是否已经开启成功:
# /etc/init.d/kdump-tools status
上图是表示kdump已经开启成功。
经验总结、预防措施和规范建议
无
备注
无
本页内容