Comment mettre à jour le BIOS, l'UEFI ou le microcode à partir de Linux

Die shot ou micrographie d'un Intel XEON E5

Tu sais comment mettre à jour le BIOS depuis votre PC? Avec des vulnérabilités telles que Spectre, Meltdown, et toutes ses variantes et autres failles de sécurité détectées dans le matériel, en particulier dans les processeurs, vous avez sûrement lu à plusieurs reprises que beaucoup d'entre elles sont résolues en sachant comment mettre à jour le BIOS ou l'UEFI de votre ordinateur. ., puisqu'une mise à jour ou un correctif est nécessaire pour le microcode utilisé par la CPU et modifie ainsi le fonctionnement de l'unité de contrôle de la CPU afin qu'elle ne soit pas vulnérable auxdites menaces.

En plus des vulnérabilités, le firmware peut être mis à jour pour de nombreuses autres raisons, comme un dysfonctionnement d'un périphérique matériel, des erreurs constantes dans le logiciel de manière inexplicable, des mises à jour pour ajouter certaines fonctionnalités, etc. Mais comme je l'ai dit, ces derniers mois, nous avons entendu ce terme trop souvent en raison de problèmes de sécurité qui sont assez critiques dans certains cas et qui ont à voir avec la façon dont les microprocesseurs modernes gèrent certains sauts, cache, FPU et exécution spéculative, bien que dans d'autres cas, ils aient été détectés dans d'autres parties du système telles que des chipsets ou certains processeurs de sécurité intégrés dans ces plates-formes ...

Qu'est-ce que le firmware?

Puce BIOS d'une carte mère

Nous sommes tous très clairs sur ce que sont le matériel (partie physique et palpable d'un ordinateur, c'est-à-dire l'électronique) et le logiciel (cette partie logique qui ne peut pas être touchée: les programmes). Mais entre le matériel et le logiciel, ou plutôt entre le matériel et le noyau du système d'exploitation, il y a autre chose: le firmware. Le micrologiciel est présent dans tous les périphériques et parties d'un ordinateur, de la souris, du lecteur optique, au GPU et au processeur qui fonctionnent avec un microcode.

Mais qu'est ce que c'est? Et bien tu peux dire ça est le code, c'est-à-dire un logiciel et donc un composant logique mais cette fois il est inaltérable. Il fonctionne à un niveau bas, et contrôle directement les fonctionnalités des circuits électroniques. Ce firmware, avec l'aide des contrôleurs ou des pilotes, permet que lorsque le noyau du système d'exploitation commande au matériel d'effectuer une tâche, il l'exécute. Ce programme ou code a été enregistré par le fabricant de l'appareil dans une mémoire qui est généralement flash, ou un type de ROM tel que l'EEPROM.

Mais l'un des micrologiciels qui nous intéresse le plus dans cet article est le BIOS ou UEFI d'un système, car il s'agit d'un micrologiciel très important qui a diverses fonctions lors du démarrage et du fonctionnement de l'équipement. Par exemple, ce code est chargé d'activer la machine au démarrage, de détecter les disques durs ou supports où un système d'exploitation est disponible, d'effectuer certaines vérifications interférant avec d'autres micrologiciels des composants et périphériques, et de donner le contrôle au noyau lorsque le système commence à commencer ...

Pourquoi sa mise à jour affecte-t-elle le processeur?

Broches CPU

... et cela a à voir avec le processeur, assez bien. Il s'avère que les processeurs ont une unité de contrôle, Cette unité de contrôle est un circuit qui est responsable du contrôle du reste des parties du microprocesseur ou de la CPU, comme le décodage des instructions et la transmission des données avec les opérandes aux registres appropriés, puis l'activation d'une unité fonctionnelle telle qu'une ALU ou FPU et qu'il effectue une opération sur les données en fonction du type d'instruction en cours d'exécution. Ces instructions proviennent à leur tour du programme ou du code logiciel qui est en cours de traitement à ce moment-là, car comme vous devez le savoir, les programmes sont constitués d'une série d'instructions séquentielles.

Comme vous pouvez l'imaginer, cette unité de contrôle fonctionne d'une manière que le fabricant ou le concepteur l'a créée. Dans certains cas spécifiques, l'unité de commande peut être câblée, c'est-à-dire qu'elle est généralement assez rapide mais pas très flexible, car elle est mise en œuvre directement avec un circuit très spécifique. D'autre part, il existe également des circuits programmables, c'est-à-dire un circuit un peu plus «ouvert» qui peut fonctionner d'une manière ou d'une autre selon un microcode ou firmware. Il s'ensuit donc que si on change le firmware ou le microcode on peut faire l'unité de contrôle et donc le CPU peut fonctionner différemment ou corriger certains bugs ou vulnérabilités.

Je ne veux pas être trop technique, je veux que cet article touche le plus de monde possible et que tout ce que je veux dire soit facilement compris ... Et dans de nombreuses machines il s'avère que ce code est généralement intégré dans le BIOS ou UEFI , bien que parfois le microcode puisse être mis à jour par le noyau à chaque démarrage, en sauvegardant la mise à jour ou le correctif dans la mémoire volatile, c'est-à-dire dans la RAM, évitant d'avoir à modifier le BIOS / UEFI.

Comment mettre à jour le BIOS / UEFI depuis Linux?

Interface UEFI ASUS

Pour mettre à jour le BIOS / UEFI à partir de Linux ou du microcode, décomposons les deux procédures.

Avant d'effectuer une mise à jour du microcode, il est très important que vous ayez firmware BIOS / UEFI mis à joursinon cela pourrait ne pas fonctionner. Vérifiez donc le site Web de votre fournisseur de firmwre comme Phoenix, Award, etc., ou le site Web de support technique de votre modèle de carte mère, qui contient généralement des packages pour mettre à jour ces systèmes.

La mise à jour du BIOS / UEFI est quelque chose de délicat comme vous pouvez le voir dans la dernière section sur les risques. C'est pourquoi je vous déconseille de le faire si vous n'êtes pas sûr de ce que vous faites et si vous souhaitez mettre à jour ou vous en avez besoin, mais vous n'avez pas suffisamment de connaissances, consultez toujours un professionnel. De plus, je vous recommande de jeter un œil à des projets tels que fwupd, BIOSDisck, Flashrom, etc., qui sont des outils très pratiques qui nous aideront dans le processus.

L'un de ceux que j'aime le plus est flashrom, Il est un package qui nous donne un outil qui permet d'identifier, lire, écrire, vérifier et effacer les puces flash. Cela sert non seulement à flasher un BIOS / UEFI / CoreBoot, mais également à modifier d'autres mémoires flash de cartes réseau, de GPU, etc., dans d'autres appareils avec un micrologiciel modifiable. Il prend également en charge plusieurs systèmes d'exploitation et une multitude d'engrenages et de modèles d'appareils et de cartes.

  • Installez le package flashrom dans votre distribution en utilisant le gestionnaire de packages que vous utilisez normalement, car c'est un outil qui fait partie des référentiels des distributions les plus importantes.
  • Utiliser root ou sudo, car pour l'utiliser, vous avez besoin de privilèges pour être quelque chose de délicat.
  • Identifiez le firmware que nous utilisons en exécutant simplement la commande:
flashrom

  • Je vous recommande de faire un sauvegarder votre ROM actuelle, au cas où vous constatez que la nouvelle mise à jour ne fonctionne pas et que vous souhaitez revenir en arrière. Pour cela:
flashrom -r copia_seguridad.bin

  • Oui déjà nous avons la nouvelle ROM que nous avons téléchargés à partir d'une source FIABLE, nous pouvons utiliser la commande suivante pour flasher, par exemple si notre nouvelle mise à jour s'appelle uefi-sm.bin:
flashrom -wv uefi-sm.bin

Pour plus d'informations, consultez le manuel avec homme flashrom.

Mettre à jour le microcode:

Pour mettre à jour le microcode de notre CPU, sans toucher au BIOS / UEFI, c'est-à-dire avec une simple modification dans le noyau Linux, vous pouvez choisir d'installer les packages nécessaires à votre CPU. Par exemple, si vous avez un processeur AMD moderne, la chose normale est que installer le package appelé microcode amd64, et pour un Intel le package Intel-microcode (si vous utilisez openSUSE, SUSE, RHEL, CentOS, etc., le package est appelé microcode_ctl, et pour Arch intel-ucode ou amd-ucode ...) que vous pouvez trouver sur des sites Web de confiance ... (que s'il s'agit d'une machine x86, si elle est ARM ou différente, allez sur le site Web du fabricant). Insisto a pesar de parecer un pesado, no descargues este tipo de paquetes desde fuentes desconocidas, es muy importante. Bien, ahora que ya lo tenemos descargado e instalado, puede que el procedimiento sea diferente en cada distribución y que implique activar algunos paquetes o actualizaciones restringidos como los propietarios…

Avec ces packages installés et les paramètres système référençant les mises à jour bien configurés, lpropres mises à jour de sécurité qui installe le système d'exploitation inclura déjà ce type de correctifs de microcode si une vulnérabilité sérieuse a été détectée, comme Spectre, Meltdown, etc.

Si vous le souhaitez, vous pouvez obtenir des informations sur le microcode de votre distribution en utilisant:

dmesg | grep microcode

Et avec cela nous obtiendrons détails du microcodeEn fait, si nous avons exécuté cette commande avant d'installer les packages que j'ai mentionnés auparavant (après l'installation il faut redémarrer) et après, nous verrons qu'elle nous montre des changements s'il y avait une mise à jour disponible qui a été installée.

Parfois, AMD, Intel et d'autres fabricants ou concepteurs de processeurs fournissent des archives tar avec des blobs binaires pour mettre à jour le microcode ou le micrologiciel. Si vous avez téléchargé l'un de ces packages depuis un endroit fiable, suivez les instructions fournies par le distributeur ou consultez les fichiers README.

Dangers et astuces avant de mettre à jour le BIOS

Cartes mères pour le recyclage

Une mise à jour du firmware ou du microcode du processeur signifie dans la plupart des cas mettre à jour les codes fermés fournis par les fournisseurs de CPU que nous avons, les pilotes de noyau fermés (blobs binaires), etc. Je veux que cela soit clair, car son contenu et son mode de fonctionnement sont inconnus et il semble logique que vous le sachiez. En principe, si vous n'utilisez pas de matériel gratuit, vous n'avez pas d'autre choix que de faire confiance au fabricant ou au concepteur de votre processeur ou de votre carte mère, mais oui, ne téléchargez jamais de microcode ou de firmware à partir de sites Web non officiels, car c'est quelque chose de très délicat.

En fait non seulement c'est délicat pour des raisons de sécurité, car vous pourriez également rendre l'équipement totalement inutilisable. Même si vous avez téléchargé le micrologiciel à partir d'un site Web de bonne réputation, quelque chose peut mal tourner pendant le processus, comme une panne de courant et cela laisse l'installation de la mise à jour et le micrologiciel complètement corrompus, ce qui signifie que vous pensez peut-être déjà dépenser de l'argent pour acheter une nouvelle carte mère.

C'est ce que l'on appelle le terme brique en argot matériel, c'est-à-dire laissez votre matériel comme une brique, sans aucune utilité. Avec cela, je veux vous dire d'être prudent et que nous ne sommes pas responsables de ce qui peut arriver si vous décidez de mettre à jour un firmware ou de flasher le BIOS / EFI. Mais attention, cela n'implique pas toujours des risques, comme je vous l'ai déjà dit, il n'est pas toujours nécessaire de "toucher" le BIOS / EFI, il existe aussi des mises à jour qui ne sont qu'au niveau de l'OS et n'impliquent pas ces risques .. .

J'espère que ce tutoriel vous aura été utile, pour toute question ou suggestion, n'oubliez pas de laisser votre commentaires...


3 commentaires, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Rubén Horace Specogna dit

    bonjour bonjour je voulais installer xubuntu 14 sur mon ordinateur portable, et télécharger les fichiers, les installer mais quand il demande de redémarrer à partir de la clé usb, j'entre dans le bios et je ne trouve pas la mémoire flash dans le menu de démarrage, quelqu'un peut-il m'aider moi, De déjà merci beaucoup.

  2.   José Luis Mateo dit

    Bonjour les amis:

    L'article me semble excellent bien que «dangereux» pour ceux d'entre nous qui sont plus novices et craintifs.

    Il me manque depuis longtemps un bon article qui nous fait comprendre comment un système d'imprimante multifonction comme le mien (Canon MG 7150) fonctionne sur Wifi.

    Avec Linux, je ne l'ai jamais fait fonctionner pleinement. J'ai réussi à faire fonctionner l'imprimante connectée par USB, mais jamais le scanner, ni par Wi-Fi ni par câble.

    C'est pourquoi aujourd'hui j'évoque le sujet et en même temps je vous remercie de nous fournir des articles d'une qualité telle que celle-ci; mais en même temps, j'aimerais que quelqu'un qui sache le faire, nous facilite la tâche pour faire fonctionner le système susmentionné.

    Merci et salutations

  3.   Gabriel dit

    Regardez d'abord dans le BIOS s'il y a l'option MULTIBOOT (où vous devez l'activer), sinon, elle existe, pour démarrer avec un USB généralement lors de la mise sous tension du PC, vous devez maintenir la touche F8 enfoncée pendant un moment (en autres PC, il s'agit généralement de F12) et là, le menu de démarrage saute en affichant les options: disque dur, CD, USB. En cas de UEFI, l'USB doit être généré avec l'option UEFI s'il ne le reconnaît pas.