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

Re: Mise à jour du noyau et pilotes réseau Intel compilés



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


Reply to: