我正在使用cloud-init在发布时配置我的EC2实例,目前只在CentOS 7上。我需要升级到最新的内核等,所以首先我有:
console.log(summary);
然后我添加了一堆repos并安装了一些yum包,最终用DKMS编译了一些内核模块(Nvidia驱动程序)
最后我用以下方法重启系统:
package_upgrade: true
这一切都很棒!但是,当系统恢复时,DKMS报告nvidia驱动程序已“添加”但未安装且Nvidia驱动程序无法运行。如果我power_state:
mode: reboot
timeout: 30
一切正常。显然正在发生的事情是内核模块正在为以前的内核而不是新内核进行编译和安装。
那么解决这个问题的建议方法是什么?有没有办法在package_upgrade之后但在任何其他步骤之前重启?有没有办法迫使nvidia-kmod为新内核而不是当前内核进行编译?还有其他想法吗?
答案 0 :(得分:0)
看起来唯一真正的选择是创建运行dkms-autoinstall
的cloud-init per-boot脚本。这会尝试编译每次启动时尚未安装的任何“已添加”内核模块。