具有特定核心的 Chroot

具有特定核心的 Chroot

我需要建立一些具有特定核心版本的舊驅動程式。

2.6.31-20-generic需要內核。我嘗試在 Ubuntu 12.04 和新版本 14.04 上建置它,但沒有成功。唯一有效的是2.6.31-20,當我問如何建造它時,我得到了這樣的答案。

如何使用這樣版本的核心進行 chroot?

答案1

chroot僅使用您當前的內核。這就是它的工作原理。如果您需要更改封裝內核,則需要進行虛擬化(透過kvmVirtualBox 等)...或將內核回滾到 chroot 正在使用的版本(儘管這對於我們正在使用的版本來說聽起來很痛苦)。

我個人只會考慮建立正確的腳本。如果您為此使用 DKMS,那麼只需告訴它要建立哪個核心和架構就相當簡單:

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

這些dkms {remove,build,install,uninstall,status,...}子命令都附帶一個-k用於指定核心和架構的選項。請參閱man dkms參考資料 以了解更多資訊。

對於已安裝核心的列表,ls /lib/modules應該可以讓您朝著正確的方向前進,儘管它可能包含不再安裝的核心。如果你想要一個更包裝的列表,你可以使用我之前的一個回答:

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

相關內容