Chroot com kernel específico

2

Eu preciso construir alguns drivers antigos com uma versão específica do kernel.

O Kernel 2.6.31-20-generic é necessário. Eu tentei construí-lo no Ubuntu 12.04 e no novo, 14.04 sem sucesso. O único que está funcionando é 2.6.31-20 , tal resposta eu recebo quando perguntei como construí-lo.

Como fazer o chroot com tal versão do kernel?

    
por fasolens 12.05.2014 / 16:34

1 resposta

3

chroot apenas usa seu Kernel atual. É assim que funciona. Se você precisar alterar o kernel envolvente, você precisará virtualizar (por meio de algo como kvm ou VirtualBox) ... Ou reverta seu kernel para a versão que seu chroot está usando (embora isso pareça doloroso para as versões estamos falando).

Eu, pessoalmente, apenas observo a construção do roteiro certo. Se você está usando o DKMS para isso, é bastante simples dizer apenas para qual kernel e arco construir:

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

Os dkms {remove,build,install,uninstall,status,...} subcomandos recebem uma opção -k para especificar o kernel e o arco. Veja man dkms para mais informações.

Para obter uma lista dos kernels instalados, ls /lib/modules deve fazer com que você se mova na direção correta, embora possa conter kernels que não estão mais instalados. Se você quiser uma lista mais completa, você pode usar uma resposta anterior minha :

dpkg -l | awk '/^.i +linux-(im|he)/ && ~/[0-9]/ {print }'
    
por Oli 12.05.2014 / 16:50