具有特定内核的 Chroot

具有特定内核的 Chroot

我需要构建一些具有特定内核版本的旧驱动程序。

需要内核2.6.31-20-generic。我尝试在 Ubuntu 12.04 和新版 14.04 上构建它,但没有成功。唯一有效的是2.6.31-20,当我询问如何构建它时,我得到了这样的答案。

如何用该版本的内核进行 chroot?

答案1

chroot只使用您当前的内核。这就是它的工作原理。如果您需要更改封装内核,您将需要虚拟化(通过类似kvm或 VirtualBox 的东西)...或者将您的内核回滚到 chroot 使用的版本(尽管这对于我们正在讨论的版本来说听起来很痛苦)。

我个人会考虑为正确的脚本进行构建。如果您为此使用 DKMS,那么只需告诉它要为哪个内核和 arch 进行构建就相当简单了:

sudo dkms install nvidia-337 -k 2.6.31-20-generic

所有子命令dkms {remove,build,install,uninstall,status,...}都带有-k指定内核和 arch 的选项。请参阅man dkms了解更多信息。

对于已安装内核的列表,ls /lib/modules应该可以让你找到正确的方向,尽管它可能包含不再安装的内核。如果你想要一个更详细的列表,你可以使用我之前的回答

dpkg -l | awk '/^.i +linux-(im|he)/ && $2~/[0-9]/ {print $2}'

相关内容