web-dev-qa-db-ja.com

特定のカーネルを持つchroot

特定のカーネルバージョンでいくつかの古いドライバーをビルドする必要があります。

カーネル2.6.31-20-genericが必要です。 Ubuntu 12.04と新しい14.04でビルドしようとしましたが、成功しませんでした。唯一機能しているのは2.6.31-20で、これを構築する方法を尋ねたときに得られる答えです。

そのようなバージョンのカーネルでchrootを作成する方法は?

2
fasolens

chrootは現在のカーネルのみを使用します。それだけで動作します。エンベロープカーネルを変更する必要がある場合は、仮想化する必要があります(kvmまたはVirtualBoxなどを使用)...または、chrootが使用しているバージョンにカーネルをロールバックします私たちが話しているバージョン)。

個人的には、適切なスクリプトの構築を検討するだけです。このためにDKMSを使用している場合、どのカーネルとArchをビルドするかを伝えるのは非常に簡単です。

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

dkms {remove,build,install,uninstall,status,...}サブコマンドはすべて、カーネルとArchを指定するための-kオプションを取ります。詳細については、man dkmsを参照してください。

インストールされているカーネルのリストについては、ls /lib/modulesを使用すると正しい方向に進むはずですが、インストールされていないカーネルが含まれている場合があります。よりパッケージ化されたリストが必要な場合は、 私の以前の回答 を使用できます。

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