我需要建立一些具有特定核心版本的舊驅動程式。
2.6.31-20-generic
需要內核。我嘗試在 Ubuntu 12.04 和新版本 14.04 上建置它,但沒有成功。唯一有效的是2.6.31-20
,當我問如何建造它時,我得到了這樣的答案。
如何使用這樣版本的核心進行 chroot?
答案1
chroot
僅使用您當前的內核。這就是它的工作原理。如果您需要更改封裝內核,則需要進行虛擬化(透過kvm
VirtualBox 等)...或將內核回滾到 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}'