Chroot mit bestimmtem Kernel

Chroot mit bestimmtem Kernel

Ich muss einige alte Treiber mit einer bestimmten Kernelversion erstellen.

Der Kernel 2.6.31-20-genericwird benötigt. Ich habe versucht, ihn auf Ubuntu 12.04 und der neuen Version 14.04 zu erstellen, aber ohne Erfolg. Das einzige, was funktioniert, ist 2.6.31-20, eine solche Antwort bekomme ich, wenn ich frage, wie man ihn erstellt.

Wie erstelle ich Chroot mit einer solchen Kernelversion?

Antwort1

chrootverwendet einfach Ihren aktuellen Kernel. So funktioniert es. Wenn Sie den umhüllenden Kernel ändern müssen, müssen Sie virtualisieren (mit etwas wie kvmoder VirtualBox) … Oder Ihren Kernel auf die Version zurücksetzen, die Ihr Chroot verwendet (obwohl dies für die Versionen, über die wir sprechen, mühsam klingt).

Ich persönlich würde einfach nach dem richtigen Skript suchen. Wenn Sie dafür DKMS verwenden, ist es ziemlich einfach, ihm mitzuteilen, für welchen Kernel und welche Architektur es bauen soll:

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

Die dkms {remove,build,install,uninstall,status,...}Unterbefehle akzeptieren alle eine -kOption zum Angeben des Kernels und der Architektur. man dkmsWeitere Informationen finden Sie unter.

Eine Liste der installierten Kernel ls /lib/modulessollte Ihnen in die richtige Richtung weisen, obwohl sie möglicherweise Kernel enthält, die nicht mehr installiert sind. Wenn Sie eine umfassendere Liste wünschen, können Sie verwendeneine frühere Antwort von mir:

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

verwandte Informationen