Les CPU ont aussi un firmware appelé microcode. Normalement, c’est le BIOS de votre carte mère qui le met à jour. Mais si le fabricant de sa carte mère ne publie pas de nouveau BIOS avec de nouveaux microcodes pour son CPU, il est possible de le faire à la volée avant le chargement du noyau Linux.
Le microcode corrige des bugs connus du CPU. Si vous rencontrez des freeze ou des erreurs de calcul, il peut être intéressant de voir si une mise à jour du microcode ne corrige pas votre problème.
Tout d’abord on vérifie la version du microcode de son CPU :
$ grep microcode /proc/cpuinfo
microcode : 0x19
Puis on installe le paquet intel-microcode ou amd64-microcode selon son modèle de CPU. Vous avez besoin d’activer les dépôts contrib et non-free pour y avoir accès.
On redémarre. Et voilà !
$ dmesg | grep -i microcode
[ 0.000000] CPU0 microcode updated early to revision 0x1c, date = 2014-07-03
[ 0.071491] CPU1 microcode updated early to revision 0x1c, date = 2014-07-03
[ 0.085625] CPU2 microcode updated early to revision 0x1c, date = 2014-07-03
[ 0.099732] CPU3 microcode updated early to revision 0x1c, date = 2014-07-03
[ 0.448963] microcode: CPU0 sig=0x306c3, pf=0x2, revision=0x1c
[ 0.448968] microcode: CPU1 sig=0x306c3, pf=0x2, revision=0x1c
[ 0.448972] microcode: CPU2 sig=0x306c3, pf=0x2, revision=0x1c
[ 0.448976] microcode: CPU3 sig=0x306c3, pf=0x2, revision=0x1c
[ 0.449007] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
Bonjour,
Ce serait bien d’expliquer un minimum à quoi cela peut servir…
Ces paquets contiennent des binaires (non libres) apportant des correctifs à certains CPU. Dans la plupart des cas, et à moins d’avoir un bug connu du processeur, c’est tout a fait inutile.
Pour information, pour AMD le paquet c’est amd64-microcode et ce n’est utile que pour des CPU des familles 10 à 15 (grep family /proc/cpuinfo pour la connaître).
Une autre façon d’avoir des informations sur les patchs du microcode :
dmesg | grep -i microcode
Il y a déjà suffisamment de chat sur le web !
grep microcode /proc/cpuinfo
Et puis ça fait un processus de moins :)
Ça sert à quoi ?
Ca serait effectivement bien d’en dire plus…
En attendant:
https://wiki.debian.org/Microcode
Merci pour vos commentaires, j’ai mis à jour le contenu de l’article en conséquence.
A corriger un bug matériel générateur de plantages ou de mauvais résultats :
Intel Pentium4, Haswell, et encore récemment Skylake : http://arstechnica.com/gadgets/2016/01/intel-skylake-bug-causes-pcs-to-freeze-during-complex-workloads/
is it possible to update the microcode in remote mode ?
what do you call remote mode?
Moi j’ai simplement laissé cocher par défaut « ne pas utiliser le périphérique » et ce la fonctionne parfaitement de cette manière.