Flasher le bios d’un Dell depuis ubuntu 11.10

Dans cet article, nous allons voir comment flasher le bios d’un portable Dell Latitude D620 sous ubuntu 11.10 directement. La méthode peut bien entendu être appliquée à d’autre modèles de chez Dell.

1. Récupération de la mise à jour sur le site Dell.

Dans notre cas, le fichier obtenu s’appelle D620_A10.EXE. Nous allons donc positionner les droits d’exécution dessus :

chmod +x D620_A10.EXE

2. Extraction du BIOS

Nous allons installer wine afin de pouvoir extraire le nouveau bios à proprement parler du .exe téléchargé précédemment.

sudo apt-get install wine
wine ./D620_A10.EXE -writehdrfile -nopause

Cela nous permet de récupérer un fichier D620_A10.hdr contenant les données utiles pour la suite …

3. Flash du BIOS

Tout d’abord, nous allons installer les outils necessaires :

sudo apt-get install firmware-addon-dell
sudo modprobe dell_rbu

Il ne nous reste plus qu’à flasher avec la commande :

sudo dellBiosUpdate -u -f ./D620_A10.hdr --reboot

Flasher des BIOS à l’aide de LRS

LRS de la société Linbox est un logiciel de gestion de parc informatique et de clonage de stations basé sur un environnement de boot PXE. La méthode présentée ici permet de flasher facilement un groupe de machine sans avoir à générer de clé USB bootable ou de disquette de boot.
On peut facilement adapter cette méthode pour tout environnement de boot PXE (avec pxelinux par exemple) ou même pour un simple ordinateur (via grub par exemple). Cette méthode permet par exemple de flasher des postes sous Linux facilement.

La manipulation sera effectuée avec des Dell Precision 380 mais est facilement adaptable à tout bios se flashant à l’aide d’un petit programme DOS.

Tout d’abord, il faut récupérer le programme permettant de flasher le bios. Chez Dell, l’exécutable contient à la fois le programme de flashage mais aussi le bios. Pour certaines cartes, chez d’autres fabricants, il faut récupérer séparément le programme de flashage et le fichier de mise à jour du BIOS.
Dans notre cas, le fichier s’appelle WS380A09.EXE.

Il faut ensuite récupère une image disque de Freedos ici

Les manipulations sont effectuées sur une distribution Archlinux mais sont facilement adaptables sur une autre distribution.

Tout d’abord, il faut installer les outils dont nous aurons besoin.

pacman

Le package hd2u contient l’utilitaire dos2unix qui nous sera utile par la suite. Le package syslinux fournit le fichier memdisk. Si votre distribution ne fournit pas syslinux, vous pouvez télécharger une version de memdisk ici.

Nous allons ensuite créer un répertoire ‘floppy’ et monter l’image FreeDos dans ce répertoire.

mount

Éditons ensuite le fichier floppy/config.sys

configsys

Éditons ensuite le fichier floppy/autoexec.bat pour y placer à la fin le nom de la commande exécuter pour flasher le bios. Dans notre cas, il s’agit juste du fichier .exe mais cela aurait très bien pu être une ligne du style awdflash.exe nouveaubios.bin

autoexecbat

Il reste à copier le (ou les fichiers) nécessaires au flashage du bios dans le répertoire floppy et de convertir les fichiers modifiés au format DOS.

umount

Il reste ensuite à copier l’image obtenue sous un nom reconnaissable et de lui joindre le fichier memdisk.

cp

Sur le serveur LRS :

Créer un répertoire /tftpboot/flashbios et placer à l’intérieur (par scp par exemple) les fichiers flashp380.img et memdisk.

Créer un répertoire /tftpboot/revoboot/imgbase/Flash-380/ et créer à l’intérieur un fichier conf.txt contenant les informations suivantes :

conftxt

(La syntaxe est proche de celle d’un GRUB classique et il est très facile de l’adapter pour flasher un poste « simple » sans passer par LRS. Il faudrait alors modifier le fichier /boot/grub/menu.lst).

Il suffit maintenant, dans le panneau de configuration de LRS, d’affecter l’image Flash-P380 aux postes à flasher …