Com actualitzar la BIOS, UEFI o microcodi des de Linux

Die shot o micrografia d'un Intel XEON E5

Saps com actualitzar la BIOS del teu PC? Amb les vulnerabilitats com Spectre, Meltdown, i totes les seves variants i altres forats de seguretat detectats en el maquinari, especialmetne a les CPU, segurament has llegit en multitud d'ocasions que moltes d'elles es solucionen sabent com actualitzar la BIOS o UEFI del teu equip , ja que es necessita una actualització o pegat per al microcodi que empra la CPU i així alterar la forma d'operar de la Unitat de Control de la CPU perquè no sigui vulnerable a aquestes amenaces.

A més de les vulnerabilitats, el firmware es pot actualitzar per moltes altres causes, com un mal funcionament d'un dispositiu de maquinari, errors constants en el programari de manera inexplicable, actualitzacions per afegir algunes funcionalitats, etc. Però com he dit, en els últims mesos hem escoltat massa vegades aquest terme per problemes de seguretat bastant crítics en alguns casos i que tenien a veure amb la forma en la qual els moderns microprocessadors realitzen el tractament d'alguns salts, de la memòria cau, FPU i l'execució especulativa, encara que en altres casos han estat detectats en altres parts d'el sistema com chipsets o certs processadors de seguretat integrats en aquestes plataformes ...

Què és el firmware?

Xip BIOS d'una placa base

Tots tenim bastant clar el que és el maquinari (part física i palpable d'un equip, és a dir, l'electrònica) i el programari (aquesta part lògica que no es pot tocar: els programes). Però entre el maquinari i el programari, o millor dit, entre el maquinari i el nucli de sistema operatiu existeix alguna cosa més: el firmware. El firmware és present en tots els dispositius i parts d'un ordinador, des del ratolí, la unitat òptica, fins a la GPU i CPU que operen amb un microcodi.

Però què és? Bé, es pot dir que és codi, És a dir, programari i per tant un component lògic però en aquesta ocasió és inalterable. Opera a baix nivell, i controla directament les funcionalitats dels circuits electrònics. Aquest firmware, amb ajuda dels controladors o drivers permeten que quan el nucli de sistema operatiu mana realitzar alguna tasca a el maquinari, aquest l'executi. Aquest programa o codi ha estat gravat pel fabricant de el dispositiu en una memòria que normalment és flash, o algun tipus de ROM com la EEPROM.

Però un dels microprogramari que més ens interessa en aquest article és la BIOS sobre UEFI d'un sistema, ja que es tracta d'un firmware molt important que té diverses funcions durant l'encesa i funcionament de l'equip. Per exemple, aquest codi és l'encarregat d'activar la màquina durant l'arrencada, detectar els discs durs o mitjans on hi hagi un sistema operatiu disponible, realitzar algunes comprovacions interferint amb altres firmware dels components i perifèrics, i cedir el control a l'nucli quan el sistema comença a iniciar-se ...

Per què actualitzant afecta la CPU?

CPU Pins

... i això què té a veure amb la CPU, doncs prou. Resulta que les CPU tenen una unitat de control, Aquesta unitat de control és una circuiteria que s'encarrega de controlar la resta de parts de l'microprocessador o CPU, com ara descodificar les instruccions i fer que les dades amb els operands vagin als registres oportuns per després activar alguna unitat fucnional com una ALU o FPU i que aquesta realitzi alguna operació sobre les dades en funció de l'tipus d'instrucció que s'estigui executant. Aquestes instruccions al seu torn procedeixen de el programa o codi de programari que s'estigui processant en aquell moment, ja que com has de saber, els programes estan compostos per una sèrie d'instruccions seqüencials.

Com pots imaginar, aquesta unitat de control opera d'una manera com el fabricant o dissenyador l'hagi creat. En alguns casos concrets pot ser que la unitat de control sigui cablejada, és a dir, solen ser bastant ràpides però poc flexibles, ja que estan implementades directament amb una circuiteria molt concreta. En canvi, també n'hi ha programables, és a dir, una circuiteria una mica més «oberta» que pot operar d'una manera o altre segons un microcodi o microprogramari. Es dedueix per tant que si canviem el microprogramari o microcodi podem fer que la unitat de control i per tant la CPU pugui operar de diferent manera o corregir alguns errors o vulnerabilitats.

No vull posar-me massa tècnic, vull que aquest article arribi a quanta més gent millor i que s'entengui de forma fàcil tot el que vull dir ... I en moltes màquines resulta que aquest codi sol estar integrat en la BIOS sobre UEFI , Encara que en ocasions el microcodi pot ser actualitzat mitjançant el nucli durant cada arrencada guardant l'actualització o pegat en una memòria volàtil, és a dir, a la RAM, evitant que s'hagi de alterar la BIOS / UEFI.

Com actualitzar la BIOS / UEFI des de Linux?

Interfície d'UEFI ASUS

Per actualitzar la BIOS / UEFI des de Linux o el microcodi, anem a desglossar tots dos procediments.

Abans de realitzar una actualització de l'microcodi és molt important que tinguis el firmware de la BIOS / UEFI actualitzat, Ja que en cas contrari podria no funcionar. Així que consulta el lloc web de l'proveïdor del teu firmwre com Phoenix, Award, etc., o el de suport tècnic del teu model de placa base, que solen tenir paquets per actualitzar aquests sistemes.

Actualitzar la BIOS / UEFI és una cosa delicat com pots comprovar en l'últim apartat de reisgos. Per això t'aconsello que no ho facis si no estàs segur del que estàs fent i si vols actualitzar o el necessites, però no tens prou coneixements, sempre consulta amb un professional. A més, et recomanaria fer una ullada a projectes com fwupd, BIOSDisck, Flashrom, etc., que són eines molt pràctiques que ens ajudaran en el procés.

Un dels que més m'agrada és Flashrom, Es tracta d' un paquet que ens aporta una eina que permet identificar, llegir, escriure, verificar, i esborrar xips flash. Això no només serveix per flashejar la BIOS és / UEFI / CoreBoot, també ens serveix per a modificar altres memòries flash de targetes de xarxa, GPUs, etc., en altres dispositius amb firmware modificable. A més suporta diversos sistemes operatius i multitud de marxes i models de dispositius i plaques.

  • Instal·la el paquet flashrom en el teu distribució usant el gestor de paquets que utilitzis normalment, ja que és una eina que es troba entre els repositoris de les distribucions més importants.
  • EUA root o sudo, Ja que per fer-la servir calen privilegis a l'ésser alguna cosa delicat.
  • Identifica el microprogramari que fem servir simplement executant la comanda:
flashrom

  • Et recomano que facis una backup de la teva ROM actual, Per si et trobes amb que la nova actualizción no funciona i vols tornar enrere. Per a això:
flashrom -r copia_seguridad.bin

  • si ja tenim la nova ROM que hem descarregat des d'una font confiança per, podem usar la següent comanda per flashejar, per exemple, si la nostra nova actualització es diu UEFI-sm.bin:
flashrom -wv uefi-sm.bin

Per a més informació consulta el manual amb home flashrom.

Actualitzar microcodi:

Per actualitzar el microcodi de la nostra CPU, sense tocar a la BIOS / UEFI, és a dir, amb una simple modificació en el nucli de Linux, pots optar per instal·lar els paquets necessaris per a la CPU. Per exemple, si tens una CPU AMD moderna, el normal és que instal el paquet anomenat amd64-microcode, I per a una Intel el paquet intel-microcode (Si fas servir openSUSE, SUSE, RHEL, CentOS, etc., el paquet es diu microcode_ctl, i per Arch intel-ucode o amd-ucode ...) que podràs trobar en webs confialbes ... (això si es tracta d'una màquina x86, si és ARM o diferent, acudeix a la web de 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…

Amb aquests paquets instal·lats i les configuracions de sistema que fan referència a les actualitzacions bé configurades, las pròpies actualitzacions de seguretat que instal·la el sistema operatiu ja inclouran aquest tipus de pegats per al microcodi si s'ha detecatado algunes vulnerabilitat greu com és el cas de Spectre, Meltdown, etc.

Si vols, pots obtenir informació de l'microcodi del teu distro usant:

dmesg | grep microcode

I amb això obtindrem detalls de l'microcodi, De fet, si hem executat aquesta comanda abans d'instal·lar els paquets que he comentat abans (després d'instal·lar cal reiniciar) i després, veurem que ens mostra canvis si hi havia alguna actualització disponible que ha estat instal·lada.

De vegades, AMD, Intel i altres fabricants o dissenyadors de CPU, solen aportar tarballs amb blobs binaris per actualitzar el microcodi o microprogramari. Si has descarregat un d'aquests paquets d'un lloc fiable, segueix les instruccions que t'aporta el distribuïdor o consulta els fitxers README.

Perills i consells abans d'actualitzar la BIOS

Plaques base per reciclar

Una actualització de l'microprogramari o de l'microcodi de la CPU suposa en la majoria de casos actualitzar codis tancats que proporcionen els proveïdors de la CPU que tinguem, controladors de el nucli tancats (blobs binaris), etc. Vull deixar això clar, ja que es desconeix el seu contingut i forma d'operar i em sembla lògic que ho sàpigues. En principi, si no fas servir maquinari lliure, no et queda altra que fiar-te de el fabricant o dissenyador de la CPU o la placa mare, però això sí, núnca mai descarregues microcodi o microprogramari des de webs no oficials, ja que és una cosa molt delicat.

De fet no només és delicat per qüestions de seguretat, ja que també podries deixar l'equip totalment inservible. Fins i tot si has descarregat el fimware d'una web fiable, alguna cosa pot sortir malament durant el procés, com per exemple que hi hagi una apagada i això deixi a mitges la instal·lació de l'actualització i el firmware completament corrupte, el que significa que ja pots estar pensant a gastar diners per comprar una nova placa base.

Això és el que es coneix amb el terme de brick en l'argot de l'hardware, És a dir, deixar el teu maquinari com un maó, sense cap tipus d'utilitat. Amb això et vull dir que siguis precabido i que no ens fem responsables del que pugui passar si et decideixes a actualitzar algun microprogramari o flashejar la BIOS / EFI. Però compte, això no sempre implica riscos, com t'he dit abans, no sempre es necessita «tocar» la BIOS / EFI, també hi ha actualitzacions que només són a nivell de l'SO i no impliquen aquests riscos ...

Espero que hagi estat d'utilitat aquest tutorial, qualsevol dubte o suggeriment, no oblidis deixar els teus comentaris...


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Ruben Horaci Specogna va dir

    hola bones, dies vaig voler instal·lar xubuntu 14 en el meu notebook, i descarregueu els arxius, els instal però quan demana reiniciar des de la clau usb, entro a la bios i no puc trobar la memòria flash en el menú d'arrencada, algú em pot ajudar, des de ja moltes gràcies.

  2.   José Luis Mateo va dir

    Hola amics:

    Em sembla l'article, excel·lent encara que «peligrosillo» per als que som més novells i porucs.

    Porto molt de temps trobant a faltar un bon article que ens faci comprendre com es fa funcionar un sistema d'impressora multifunció com el meu, (Cànon MG 7150) per Wifi.

    Amb Linux, mai li he fet funcionar a el complet. He aconseguit que funcioni la impressora connectada per USB, però mai el scaner, ni per wifi ni per cable.

    Per això avui us plantejo el tema i a el mateix temps us agraeixo que ens faciliteu articles de tanta qualitat com el present; però a el mateix temps, m'agradaria que algú que sàpiga com fer-ho, ens faciliti la tasca de fer funcionar a sistema esmentat.

    Gràcies i una cordial salutació

  3.   Gabriel va dir

    Primer fixa't a la BIOS si hi ha l'opció de multiboot (on tenes d'activar), sinó, hi ha, per arrencar amb un USB gralmente a l'encendre la PC tenes de mantenir pressionat per una estona la tecla F8 (en altres pc sol ser F12) i ahi salta el menú de booteo mostrant les opcions: disc rígid, CD, USB. En cas de tenir UEFI, l'USB ha de ser generat amb l'opció de UEFI sinó no t'ho reconeix