[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fwd: J'arrive pas à vider /lib pour une mise à jour du noyau



Le 25/05/2018 à 18:30, Paul Ezvan a écrit :
Le 24/05/2018 à 15:17, Pascal Hambourg a écrit :

Généralement une mise à jour du noyau Debian stable est une mise à jour du paquet linux courant, pas un nouveau paquet. Les exceptions sont une mise à niveau de la distribution et un changement d'ABI. La situation actuelle où il y a eu plusieurs changements d'ABI en peu de temps est exceptionnelle.
Tu parles d'ABI interne ou externe ?

Interne. L'ABI externe du noyau est stable. Le contraire obligerait à recompiler les binaires exécutables et les bibliothèques à chaque nouvelle version du noyau.

Mon impression est qu'à chaque fois que le noyau est recompilé il faut aussi recompiler les modules, donc avoir une ABI interne stable me semble difficile. Pourquoi cette situation exceptionnelle ?

C'est un choix de conception.
Bien qu'il puisse être modulaire, Linux est un noyau monolithique notamment pour des raisons de performance d'après ce que j'ai compris. Et les developpeurs et mainteneurs du noyau ne veulent probablement pas être bridés en étant forcés de conserver une compatibilité avec des modules externes. Leur mot d'ordre a toujours été : si vous écrivez du code pour le noyau, faites en sorte qu'il soit intégré une fois pour toutes aux sources officielles du noyau plutôt que de vous embêter à l'adapter aux changements du noyau.

Mettre à jour le paquet pour le noyau est risqué, car il faut être sûr que les nouveaux modules peuvent être chargé par le noyau courant, et je ne suis pas sûr qu'il soit possible de le garantir.

En effet, pas en cas de changement d'ABI (installation d'un nouveau paquet linux-image). Il faut redémarrer avec la nouvelle image du noyau. De toute façon il faut toujours le faire au plus vite après une mise à jour du noyau. Par contre s'il y a mise à jour sans changement d'ABI (mise à jour du même paquet linux-image), les nouveaux modules devraient fonctionner avec le noyau actuel.

Le modules font partie du noyau, ce qui est dans /boot n'est que l'image du noyau. Le tout est installé par un même paquet

Bien sûr, mais les modules dans /lib peuvent aussi être fournis par d'autres paquets (pilotes divers)

Un exemple de module binaire fourni par un paquet Debian ?

et même construit à partir de sources différentes (module nvidia par exemple).

Exact, donc /lib peut contenir des modules qui ne viennent pas du paquet du noyau.


Reply to: