ressources:bios

Ceci est une ancienne révision du document !


Le BIOS

On appelle BIOS1) le logiciel de démarage du PC.

C'est la premiere chose que le processeur éxecute au démarage du PC.

Il est possible de le configurer pour démarer sur une clef USB par exemple.

Le flash

Le BIOS est stocké sur une puce mémoire flash sur la carte mère d'un PC.

Les puces de mémoire flash sont utilisé pour stocké des données dans plusieurs contexte electroniques. C'est un type de mémoire plutot lent et qui n'est pas fait pour être modifié un grand nombre de fois.

On dit qu'on flashe un puce mémoire quand on modifie son contenu.

Pouquoi ?

Il existe plusieurs cas qui peuvent amener à flasher un BIOS.

Par exemple :

  • Le BIOS a été protégé par un mot de passe perdu et on a besoin d'y accéder
  • Le PC s'est éteint pendant une mise à jour du BIOS et le contenu de la puce est devenu corrompu.
  • Le BIOS présent sur le PC bloque des fonctionnalités qui devrait être possible.

Dans ces cas la, notre but va être de remplacer le contenu de la puce BIOS avec un autre compatible.

Remplacer le BIOS est une opération risqué, si le BIOS n'est pas compatible ou si le flashage ne se passe pas bien, le PC ne pourra plus s'allumer.

Voici les grande ligne de l'opération

  1. Ouvrir le PC pour avoir accés à la puce et voir la version de la carte mère.
  2. Trouver le code d'un BIOS compatible avec la carte mère du PC
  3. Brancher l'appareil qui nous permet de flasher la puce sur la puce et à notre PC.
  4. Lancer le programme qui permet de lire l'ancien BIOS deux fois
  5. Comparer que les deux fichiers sont bien les même pour confirmer que la lecture c'est bien passé.
  6. Lancer le programme qui permet d'écrire le code trouvé précédemment sur la puce.

Afin de flasher un puce, il va falloir utiliser un appareil spécialisé que l'on branche à un pc et à la puce.

* Raspberry Pico avec pico-serprog * Arduino avec serprog * ch341a * Raspberry avec linux_spi

On utilise flashrom pour commander au flasheur de flasher.

Installation Il est possible de l'installer sur des dérivé de debian avec <code> sudo apt install flashrom </code> Mais il est préférable de le compiler pour avoir la dernière version du logiciel. Ici la documentation Utilisation

Flashrom est un lgociel qui s'utilise depuis un terminal.

Pour l'utiliser nous allons avoir besoin de préciser le flasheur utilisé ainsi que son nom une fois branché.

Dans le cas d'une raspberry avec pico serprog. Notre flasheur utilise le module serprog, on précise donc cela aprés avoir indiqué -p.

La documentation de serprog nous indique que l'ont doit indiqué deux paramètre dev et spispeed

spispeed est mis a 1M par défaut ce qui signifie que la communication entre la puce et le flasheur sera cadensé à 1MHz.

dev est le nom que le flasheur a pris une fois connecté au PC ainsi que la vitesse de communication entre le PC et le flasheur.

115200 est la vitesse par défaut et signifie que la quantité d'infoirmation communiqué entre la PC et le flasheur en 1 seconde sera au maximum de 115200 bits

Pour trouver le nom du flasheur, il nous faut connecter le flasheur puis entrer la commande suivante

sudo dmesg | more

Cela devrait nous afficher des messages qui indiquent qu'un nouvelle appareil a été connecté et quelque part dans ce texte devrait se trouvé une phrase du type.

Device now attached to ttyACM0

La partie qui nous intéresse est ttyACM0. Sur certain système le nom sera différent.

Avec tout cela voici a quoi ressemble la commande

sudo flashrom -p serprog:dev=/dev/ttyACM0:115200,spispeed=1M
sudo flashrom -p serprog:dev=/dev/ttyACM0:115200,spispeed=1M -r nom_que_tu_veux.bin

La commande pour écrire

sudo flashrom -p serprog:dev=/dev/ttyACM0:115200,spispeed=1M -w le_dossier_qu'on veut écrire.bin

1)
BIOS signifie à l'origine Basic Input Output System et est le nom du premier standar utilisé par les PCs, le nouveau système s'appelle UEFI mais le terme BIOS est resté
  • ressources/bios.1767302156.txt.gz
  • Dernière modification : 2026/01/29 12:08
  • (modification externe)