Necesito crear algunos controladores antiguos con una versión de kernel específica.
Se necesita el kernel 2.6.31-20-generic
. Intenté compilarlo en Ubuntu 12.04 y el nuevo 14.04 sin éxito. El único que funciona es 2.6.31-20
, esa respuesta la recibí cuando pregunté cómo construirlo.
¿Cómo hacer chroot con esa versión del kernel?
Respuesta1
chroot
solo usa su Kernel actual. Así es como funciona. Si necesita cambiar el kernel envolvente, necesitará virtualizarlo (a través de algo como kvm
VirtualBox)... O revertir su kernel a la versión que está usando su chroot (aunque esto suena doloroso para las versiones que estamos hablando sobre).
Personalmente, simplemente buscaría construir el guión correcto. Si está utilizando DKMS para esto, es bastante sencillo decirle para qué kernel y arco compilar:
sudo dkms install nvidia-337 -k 2.6.31-20-generic
dkms {remove,build,install,uninstall,status,...}
Todos los subcomandos tienen una -k
opción para especificar el kernel y el arch. Consulte man dkms
para obtener un poco más de información.
Para obtener una lista de los kernels instalados, ls /lib/modules
esto debería ayudarlo a avanzar en la dirección correcta, aunque puede incluir kernels que ya no están instalados. Si desea una lista más empaquetada, puede usaruna respuesta mia anterior:
dpkg -l | awk '/^.i +linux-(im|he)/ && $2~/[0-9]/ {print $2}'