Mise à jour du BIOS

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page BIOS Update and the translation is 79% complete.
Outdated translations are marked like this.

Cet article décrit comment effectuer une mise à jour du BIOS depuis un système Gentoo.

Les équipementiers peuvent mettre à disposition les mises à jours des micrologiciels et du BIOS. Ces mises à jour sont parfois plus difficiles à effectuer (pour l'utilisateur) via les systèmes GNU/Linux qu'avec des systèmes d'exploitation propriétaires. Leur réalisation peut parfois nécessiter davantage d'opérations.

Attention !
Souvent, le BIOS n'est mis à jour qu'en cas de dysfonctionnement matériel. On peut endommager irrémédiablement l'ordinateur, lors de la mise à jour, en provoquant des dysfonctionnements irréversibles, par rapport au BIOS, et aboutir à l'annulation de la garantie. Procédez avec précaution.
Remarque
The most prominent and widely used system has historically been the x86-based IBM PC compatible computer and its BIOS, which is why system firmware is sometimes called a BIOS even when it is not an IBM PC compatible BIOS, such as the AlphaBIOS of the DEC Alpha architecture or the OpenBIOS, an implementation of Open Firmware (IEEE-1275). EFI/UEFI, the successor of the PC BIOS, is also often called "(U)EFI-BIOS". Hence, the term "BIOS update" often refers to a system firmware update that is not really a PC BIOS.

This article focuses on the PC BIOS and early versions of its successor EFI/UEFI. On x86 (U)EFI System Class 1 and Class 2 have a BIOS compatible mode called "Legacy BIOS" or "CSM" (short for Compatiblity Support Module), which makes the UEFI behave like a PC BIOS. UEFI System Class 3, the standard since around 2020, no longer has a CSM.

On other firmwares the process of updating the system firmware may have similarities, but can also be completely different.

Obtenir des informations sur le micrologiciel

Vous devez d'abord identifier le fabricant et le modèle de la carte mère. Consultez les documents relatifs à la carte mère ou à l'ordinateur. En général, les informations nécessaires se trouveront dans ces documents.

Le paquet sys-apps/dmidecode contient des utilitaires permettant d'obtenir des informations sur le système (nom du constructeur, numéro de série, version du BIOS, etc.). Plus précisément, dmidecode reprend les informations qui sont contenues dans la table DMI [1].

root #dmidecode -t bios -t baseboard

En dernier recours, on peut consulter les inscriptions sur la carte mère.

Attention !
Accéder à la carte mère d'un ordinateur peut aboutir à l'annulation de la garantie !

Le site web du fabricant propose éventuellement des mises à jour. Normalement, lorsqu'on sélectionne une mise à jour, un fichier ou un répertoire au format .zip, .exe ou .iso est proposé en téléchargement.

user $unzip 7235v1A.zip
Archive:  7235v1A.zip
   creating: 7235v1A/
inflating: 7235v1A/7235v1x.txt
inflating: 7235v1A/AWFL865.EXE
inflating: 7235v1A/How to flash the BIOS.DOC
inflating: 7235v1A/W7235IMS.1A0

Configuration du BIOS

La plupart des BIOS permettent l'amorçage de l'ordinateur à partir d'un support externe, comme une clé USB ou un DVD. On doit configurer l'ordre d'amorçage (cf. BIOS) pour pouvoir démarrer sur le support externe et effectuer la mise à jour. En cas de difficultés, on peut reprendre la lecture à la section suivante.

CD de démarrage

Les fabricants proposent souvent les mises à jour du BIOS, sous la forme d'une image disque (extensions .iso, .img, etc.). Cette image disque peut être gravée sur un CD-R(W) et être ensuite exécutée à chaque lecture du CD-ROM. On peut graver l'image avec cdrecord :

root #cdrecord BOOT-CD.iso
Remarque
cdrecord est fourni par deux paquets (un seul paquet suffit): app-cdr/cdrtools et app-cdr/cdrkit

Dès à présent, si ce n'est pas déjà fait, il faut configurer le BIOS afin de démarrer sur le CD-ROM. Ensuite, on s'en tient habituellement aux instructions indiquées sur le site web du fabricant.

Environnement FreeDOS

Remarque
Il existe un démarrage FreeDOS pratique sur le support SystemRescue qui fonctionne bien pour cela et permettra d'économiser beaucoup d'efforts, permettant aux lecteurs de passer cette section. Voir la remarque à la fin de la section Utiliser SystemRescue pour démarrer FreeDOS pour plus de détails.

On peut exécuter des utilitaires compatibles avec DOS, dans un environnement FreeDOS, afin de mettre à jour le BIOS. Une image FreeDOS devra être constituée avec les programmes requis puis exécutée selon l'une des méthodes présentées ci-après.

Télécharger FreeDOS et les outils :

  • FreeDOS (télécharger le fichier fdboot.img)
  • FreeDOS bootsector (télécharger le fichier sys-freedos-linux.zip)
  • Le programme DOS-Flash et la nouvelle version du BIOS sur le site web du fabricant.

Création d'une image FreeDOS

Les logiciels requis doivent être téléchargés et le dispositif de bouclage doit être activé dans le noyau :

KERNEL enable loopback device
Device Drivers  --->
    [*] Block devices  --->
        <M>   Loopback device support

Il faut utiliser modprobe si le module n'a pas été chargé :

root #modprobe loop

On installe les logiciels requis :

root #emerge --ask dev-lang/nasm app-arch/unzip sys-fs/dosfstools

On crée un fichier image de ~20 Mo nommé freedos.img grâce à la commande dd :

root #dd if=/dev/null of=freedos.img bs=1024 seek=20480

On crée un pseudo-système de fichiers (système de fichiers virtuel) :

root #mkfs.fat freedos.img

On décompresse certains fichiers et on écrit les données sur le secteur d'amorçage de la pseudo-partition :

root #unzip sys-freedos-linux.zip && ./sys-freedos.pl --disk=freedos.img

Ensuite, il faut copier les fichiers FreeDOS sur le pseudo-système de fichiers.

On crée les points de montage :

root #mkdir -p /mnt/freedos /mnt/freedos_new

On monte le fichier fdboot.img sur /mnt/freedos  :

root #mount -o loop fdboot.img /mnt/freedos

On monte le pseudo-système de fichiers freedos.img sur /mnt/freedos_new :

root #mount -o loop freedos.img /mnt/freedos_new

On copie les fichiers systèmes de FreeDOS sur le pseudo-système de fichiers /mnt/freedos_new/ :

root #cp -ar /mnt/freedos/* /mnt/freedos_new/

On copie les programmes FLASH-PROGRAM et BIOS-UPDATE sur le pseudo-système de fichiers.

root #cp -ar FLASH-PROGRAM BIOS-UPDATE /mnt/freedos_new

On démonte les deux pseudo-systèmes de fichiers :

root #umount /mnt/freedos_new /mnt/freedos
Remarque
DOS peut seulement afficher les noms dont la longueur n'excède pas 8 caractères. Ce serait idéal de renommer les fichiers ayant un nom constitué de plus de huit caractères.

Utiliser SystemRescue pour démarrer sur FreeDOS

SystemRescue est aussi disponible en version FreeDOS. Cette version peut être installée sur une clé USB amorçable. Elle contient ce qu'il faut pour mettre à jour le micrologiciel.

Téléchargement de SystemRescue et préparation de la clé USB autonome

  • SystemRescue (télécharger l'image ISO standard de SystemRescueCD).

Création de la clé USB amorçable

On utilise la méthode par défaut pour créer la clé USB autonome SystemRescue. Le script usb_inst.sh aide à réaliser l'installation.

Attention !
Les opérations suivantes effaceront toutes les données de la clé USB ! On vérifie que l'on dispose d'une copie des données avant de procéder à l'effacement.

On crée un répertoire SysRescueCD dans /mnt :

root #mkdir /mnt/SysRescueCD

On monte l'image disque sur /mnt/SysRescueCD :

root #mount -o loop systemrescuecd-x86-VERSION.iso /mnt/SysRescueCD

On exécute le script d'installation :

root #/mnt/SysRescueCD/usb_inst.sh

On démonte l'image disque :

root #umount /mnt/SysRescueCD
Remarque
Si vous souhaitez simplement mettre à jour votre BIOS, il n’est pas nécessaire de modifier l’image FreeDOS sur le support SystemRescue. Après avoir créé la clé de démarrage SystemRescue comme décrit ci-dessus, montez la clé USB sur un répertoire. Copiez-y la mise à jour du BIOS. Et voilà ! Démarrez sur la clé USB et choisissez DOS tools ---> FREEDOS dans le menu de démarrage de SystemRescue. Vous trouverez le nom DOS tronqué de votre fichier de mise à jour du BIOS dans le répertoire A:. Si vous ne le voyez pas, essayez C:.

Remplacement de l'image FreeDOS

Le moment est venu de remplacer l'image FreeDOS originale de SystemRescueCD.

On monte la clé USB autonome SystemRescue (on pense à remplacer /dev/sda1 par le nom de périphérique donné à la clé USB).

root #mount /dev/sdX1 /mnt/SysRescueCD

On procède au remplacement avec le fichier freedos.img :

root #cp freedos.img /mnt/SysRescueCD/bootdisk/

On démonte la clé USB autonome SystemRescueCD :

root #umount /mnt/SysRescueCD

Amorçage de FreeDOS avec GRUB

Il n'est pas indispensable d'utiliser un médium car l'utilitaire memdisk de syslinux permet d'amorcer FreeDOS directement ou ultérieurement après le chargement de GRUB (ou un autre chargeur d'amorçage).

root #emerge --ask sys-boot/syslinux

On peut monter le système de fichiers /boot (si besoin) :

root #mount /boot

On copie memdisk et l'image FreeDOS récemment créée sur le système de fichiers /boot.

root #cp /usr/share/syslinux/memdisk /boot
root #cp freedos.img /boot

On édite /boot/grub/grub.conf pour ajouter une entrée d'amorçage FreeDOS :

FILE /boot/grub/grub.confExemple d'entrée grub.conf
title FreeDOS (BIOS update)
kernel /boot/memdisk floppy
initrd /boot/freedos.img

Mise à jour du BIOS

On amorce l'ordinateur depuis la clé USB autonome SystemRescueCD. On entre les commandes suivantes si la ligne de commandes de GRUB apparaît :

freedos

Ensuite, l'invite de commande DOS apparaît.

C:\>_

On peut commencer la mise à jour du BIOS en suivant les instructions du fabricant. Voici, quelques commandes DOS utiles :

cd <dir>
Changement de répertoire.
dir
Liste les fichiers du répertoire courant.
type [drive][path]filename
Affichage du contenu d'un fichier.

Flashrom

On peut également changer le BIOS de certaines cartes mère grâce au système d'exploitation. Dans ce cas, le seul pré-requis est d'utiliser l'image BIOS. Avant tout, on vérifie que le BIOS de la carte mère peut être modifié avec flashrom.

On analyse la nouvelle version avec flashrom si le BIOS de la carte mère est modifiable avec flashrom.

root #flashrom -v W7235IMS.1A0

Si tout est OK, on réalise la mise à jour du BIOS  :

root #flashrom -vw W7235IMS.1A0

UEFI Firmware Capsule

Remarque
Since EFI/UEFI is the successor of the PC BIOS on x86, the same tools as for BIOS updates were often used on early (U)EFI systems.

For modern UEFI, firmware updates can be upgraded using UEFI Capsules (introduced with UEFI 2.0[2]). This method is available on Linux and Windows.[3] Vendors have to provide firmware updates for the use with Linux, which they do via the Linux Vendor Firmware Service (LVFS).[4]

Refer to fwupd for further details.

Voir aussi

  • BIOS — the standard firmware of IBM-PC-compatible computers until it was phased out in 2020.
  • Bootable DOS USB stick — describes how to prepare a bootable USB stick which loads DOS using tools available in Gentoo.

References