Olivier, au 2019-09-24 : > Je serai très curieux de recueillir ici des retours > d'expérience sur l'utilisation de DKMS en production. Bonjour, Je ne sais pas si ça compte comme un « usage en production », mais un certain nombre de paquets Debian fournissent des pilotes tiers non disponibles directement dans Linux, mais qui s'installent justement via DKMS. Ces paquets ont en général un nom qui termine en "-dkms", quelques exemples au hasard tirés de la commande "apt search '.*-dkms$'" : - aufs-dkms, - nvidia-kernel-dkms, - virtualbox-dkms, - zfs-dkms, - etc. Pour les configurations qui ne dévient pas de Debian, il n'y a pas de problèmes particuliers à noter. Mais s'il y en a, alors ça vaut le coup de les rapporter dans le système de suivi de bogues. Pour les configurations un peu plus sioux, ou de test et développement, ou quand quelque chose plante lors d'une mise à jour du pilote ou du noyau, le comportement de DKMS peut parfois être assez opaque. Les journaux de compilation, nécessaires à la phase de débogue, sont cachés au fin fond d'une arborescence de fichiers qui, malgré la convention de nommage, peuvent être écrasés par la compilation suivante, notamment en tentant de construire un pilote donné sur plusieurs noyaux différents. D'autre part, la commande "dkms status" a une sortie qui n'est pas forcément très claire sur le statut des pilotes en fonction des noyaux, pour indiquer les combinaisons qui marchent, et celles qui ne marchent pas. De mémoire, il me semble que sont indiqués: (1) les pilotes qui se sont proprement installés, et (2) ceux qui ont été proprement compilés sans être installés. Les pilotes qui n'ont pas passé l'étape de la compilation ne sont pas indiqués, et les pilotes qui ne sont que compilés ne sont pas pour autant utilisables: il faut parfois bricoler un peu avec la commande "dkms install" pour pousser le tout. Enfin, dernier point, le pilote doit supporter d'être installé via DKMS, ce qui consiste à minima en un fichier dkms.conf avec les méta-informations nécessaires à la compilation du paquets, sa version, sa compatibilité avec les différents niveaux de noyau, etc. Pour mes machines personnelles, je n'ai pas eu besoin de pilotes DKMS jusqu'à présent, du coup je suis un peu en mal d'être plus précis ; mais c'est ce dont je me souviens de mes petits travaux antérieurs. L'outil n'a pas forcément très bonne réputation, mais c'est l'un des seuls disponibles, avec "module-assistant" si j'en croie le cahier des administrateurs Debian section 8.10.5 [1], pour empaqueter les pilotes tiers. DKMS a le mérite d'exister donc. [1] https://www.debian.org/doc/manuals/debian-handbook/sect.kernel-compilation.en.html La « bonne méthode » consisterait a porter le pilote directement dans le code source du noyau (drivers/) afin qu'il puisse bénéficier automatiquement des mises à jour rendues nécessaires par la façon dont le code source de Linux lui-même évolue ; les développeurs noyaux passent des scripts quand l'API change, ce qui peut arriver à chaque nouvelle version stable. Amicalement, -- Étienne Mollier <etienne.mollier@mailoo.org> Empreinte : 5ab1 4edf 63bb ccff 8b54 2fa9 59da 56fe fff3 882d
Attachment:
signature.asc
Description: OpenPGP digital signature