Pourquoi dois-je recharger les modules du noyau pour virtualbox après une mise à jour du noyau?


10

Après la dernière mise à niveau du noyau dans Ubuntu 12.10, j'ai dû recharger manuellement deux modules du noyau pour Virtualbox.

modprobe vboxdrv et modprobe vboxnetflt

Je ne connais pas assez le système pour dire s'il s'agit d'un bug, ou s'il est censé être comme ça, mais c'est plutôt gênant. En tant qu'utilisateur novice d'Ubuntu, il a fallu assez de temps pour savoir ce qui devait être fait.

C'était une mise à jour automatique, qui m'a demandé de redémarrer une fois l'opération terminée. Après le redémarrage, les machines virtuelles ne fonctionneraient pas avant d'avoir rechargé les modules.

Mes questions sont donc: est-ce normal? Cela se produira-t-il avec d'autres packages, ou tout simplement Virtualbox? Le programme de mise à jour est-il censé le faire automatiquement? Dois-je déposer un rapport de bogue, et si oui, à qui?


Vous devez redémarrer après une mise à niveau du noyau, sauf si vous utilisez un outil pour effectuer un patch à chaud du noyau en cours d'exécution. Sinon, vous utiliserez l'ancien noyau. Le redémarrage se chargera du rechargement du module.
Javier Rivera

Réponses:


2

Les modules hôtes VirtualBox sont construits à partir du code source sur votre machine. Les modules d'un noyau ne fonctionneront pas nécessairement (ou ne fonctionneront pas correctement) sur un autre noyau. Ils sont généralement recompilés après la mise à niveau du noyau.

Lorsque vous installez une nouvelle version du noyau, votre ancien noyau fonctionne toujours. Comme le dit Javier Rivera , vous devez redémarrer pour utiliser le nouveau noyau.

Donc, si votre objectif est d'exécuter VirtualBox sur le nouveau noyau , vous devez redémarrer; les modules seront chargés lorsque vous le ferez (après avoir été reconstruit à partir de la source si nécessaire).

Cependant, si votre objectif est d'utiliser les anciens modules avec l'ancien noyau, vous pouvez les recharger manuellement modprobe(comme vous l'avez fait).

Si vous pensez que c'est un bogue que les modules VirtualBox ne continuent pas de travailler pour le noyau en cours d'exécution avant le redémarrage, vous pouvez le signaler. Si vous utilisez la version de VirtualBox fournie officiellement dans Ubuntu (plutôt que la version de la source logicielle d'Oracle), je recommande de signaler cela contre VirtualBox en aval (c'est-à-dire contre VirtualBox d'Ubuntu). Veuillez d'abord lire attentivement ce guide. Cette question contient également des informations utiles sur les rapports de bogues .

Si vous pouvez produire cela avec la version en amont de VirtualBox ( surtout si cela se produit sur des systèmes non Ubuntu, mais je ne pense pas que ce soit essentiel ici), je recommande de le signaler (ou de le signaler également ) en amont (recherche en premier).

Je recommande de ne pas accepter cette réponse immédiatement; peut-être que quelqu'un peut mieux expliquer pourquoi les modules sont déchargés.


2

Si vous avez dû exécuter '/etc/init.d/vboxdrv setup' après la mise à jour et avant de charger les nouveaux modules du noyau, assurez-vous que dkms est installé et mis à jour correctement. Il s'agit du composant qui a recompilé les modules lorsque vous redémarrez après la mise à jour du noyau, il devrait également charger les modules lorsque vous avez terminé. C'est la seule circonstance où j'ai pu faire échouer mes tests. Si ce n'est pas le cas, je prendrais les conseils d'Eliah et déposerai un rapport de bogue.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.