Ich muss einige alte Treiber mit einer bestimmten Kernelversion erstellen.
Der Kernel 2.6.31-20-generic
wird 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
chroot
verwendet einfach Ihren aktuellen Kernel. So funktioniert es. Wenn Sie den umhüllenden Kernel ändern müssen, müssen Sie virtualisieren (mit etwas wie kvm
oder 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 -k
Option zum Angeben des Kernels und der Architektur. man dkms
Weitere Informationen finden Sie unter.
Eine Liste der installierten Kernel ls /lib/modules
sollte 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}'