CloudInit,内核升级和DKMS?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CloudInit,内核升级和DKMS?相关的知识,希望对你有一定的参考价值。
我正在使用cloud-init在发布时配置我的EC2实例,目前只在CentOS 7上。我需要升级到最新的内核等,所以首先我有:
package_upgrade: true
然后我添加一堆repos并安装一些yum包,最终用DKMS编译一些内核模块(Nvidia驱动程序)
最后我重新启动系统:
power_state:
mode: reboot
timeout: 30
这一切都很棒!但是,当系统恢复时,DKMS报告nvidia驱动程序已“添加”但未安装且Nvidia驱动程序无法运行。如果我yum reinstall nvidia-kmod
一切正常。显然正在发生的事情是内核模块正在为以前的内核而不是新内核进行编译和安装。
那么解决这个问题的建议方法是什么?有没有办法在package_upgrade之后但在任何其他步骤之前重启?有没有办法迫使nvidia-kmod为新内核而不是当前内核进行编译?还有其他想法吗?
答案
看起来唯一真正的选择是创建运行dkms-autoinstall
的cloud-init per-boot脚本。这会尝试编译每次启动时尚未安装的任何“已添加”内核模块。
以上是关于CloudInit,内核升级和DKMS?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 DKMS 将 NVIDIA .run 驱动程序重新打包到 .deb 中
Kali linux 2016无法打开virtualbox问题解决
什么是在 C++ 中获取总内核数量的跨平台代码片段? [复制]
“system-cloudinit@-var-tmp-hostname.yml.service 的作业失败,因为超出了配置的资源限制”