web-dev-qa-db-fra.com

Chroot avec noyau spécifique

Je dois construire d'anciens pilotes avec une version de noyau spécifique.

Le noyau 2.6.31-20-generic est nécessaire. J'ai essayé de le construire sur Ubuntu 12.04 et le nouveau, 14.04, sans succès. Le seul qui fonctionne est 2.6.31-20, réponse que je reçois quand je lui ai demandé comment le construire.

Comment faire chroot avec une telle version du noyau?

2
fasolens

chroot utilise simplement votre noyau actuel. C'est comme ça que ça marche. Si vous devez changer le noyau enveloppant, il vous faudra virtualiser (via quelque chose comme kvm ou VirtualBox) ... Ou restaurez votre noyau à la version que votre chroot utilise (bien que cela semble douloureux pour les versions dont nous parlons).

Personnellement, je me contenterais de construire le bon script. Si vous utilisez DKMS pour cela, il est assez simple d'indiquer simplement le noyau et Arch à construire pour:

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

Les sous-commandes dkms {remove,build,install,uninstall,status,...} prennent toutes une option -k pour spécifier le noyau et Arch. Voir man dkms pour un peu plus d'informations.

Pour obtenir la liste des noyaux installés, ls /lib/modules devrait vous aider à aller dans la bonne direction, même s'il peut contenir des noyaux qui ne sont plus installés. Si vous voulez une liste plus compacte, vous pouvez utiliser ne de mes réponses précédentes :

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