Installation des paquets

Pour mettre à jour le BIOS des serveurs DELL, nous allons avoir besoin des paquets suivants :

  • libsmbios-bin
  • libsmbios2

Pour les installer, rien de plus simple :

apt-get update
apt-get install libsmbios-bin libsmbios2

Une fois cette installation réalisée, nous pouvons vérifier que nous avons bien les deux binaires qui nous intéressent :

  • /usr/sbin/dellBiosUpdate
  • /usr/sbin/getSystemId

Le premier nous permettra de mettre le BIOS à jour, tandis que le second nous donnera les informations nécessaires à la recherche de la bonne version du BIOS.

Récupération des informations

Attaquons-nous donc à la recherche des informations.
Nous allons donc utiliser la commande '/usr/sbin/getSystemId' qui va nous retourner sur notre serveur :

Libsmbios:    2.0.3
System ID:    0x014A
Service Tag:  DPWxxxx
Express Service Code: 2986399xxxx
Product Name: PowerEdge 1750
BIOS Version: A11
Vendor:       Dell Computer Corporation
Is Dell:      1

Nous pouvons vérifier avec le ServiceTag si une mise à jour du BIOS est disponible ou pas, en se rendant directement sur le site du support DELL.
Nous gagnons du temps en allant directement sur la page des BIOS DELL. Une fois sur celle-ci, nous allons chercher ce qui correspond à notre matériel, soit :

  • system_bios_ven_0x1028_dev_0x014a

Nous constatons qu'un répertoire 'system_bios_ven_0x1028_dev_0x014a_version_a12' est présent, ce qui veut dire que le BIOS 'A12' est présent. Le format d'archivage DELL étant le suivant : 'system_bios_ven_0x1028_dev_SYSTEM_ID_version_BIOS_VERSION'.

Nous allons donc télécharger le fichier 'bios.hdr' présent dans ce répertoire :

cd /usr/local/src/
wget http://linux.dell.com/repo/firmware/bios-hdrs/system_bios_ven_0x1028_dev_0x014a_version_a12/bios.hdr

Upgrade du BIOS

Avant de lancer la mise à jour, nous lancer le module DELL de Debian :

modprobe dell_rbu

Nous pouvons ensuite vérifier sa présence avec la commande :

lsmod | grep dell

Qui devrait nous retourner :

dell_rbu                6028  0
firmware_class          6816  1 dell_rbu

(Les chiffres 6028 & 6816 correspondent à la taille des modules, donc ils peuvent changer).
Maintenant que tout est vérifié, nous pouvons donc lancer notre mise à jour avec la commande :

dellBiosUpdate -u -f bios.hdr

Si il retourne une erreur indiquant qu'il ne trouve pas le binaire 'dellBiosUpdate', il suffira de lancer la commande complète :

/usr/sbin/dellBiosUpdate -u -f bios.hdr

Nous devrions avoir un retour de ce type :

Supported RBU type for this system: (MONOLITHIC, PACKET)
Using RBU v2 driver. Initializing Driver.
Setting RBU type in v2 driver to: MONOLITHIC (FORCED)
Prep driver for data load.
Writing RBU data (4096bytes/dot): ..................................................................................................................................................
Notify driver data is finished.
Activate CMOS bit to notify BIOS that update is ready on next boot.
Update staged sucessfully. BIOS update will occur on next reboot.

Le plus important étant la présence de la dernière ligne, soit 'Update staged sucessfully. BIOS update will occur on next reboot.'.
Nous redémarrons donc l'équipement, et pouvons constater lors du démarrage que le BIOS se met bien à jour.
Une fois que l'équipement est de nouveau joignable, nous pouvons également vérifier avec la commande '/usr/sbin/getSystemId' qui nous retournera ce coup-ci :

Libsmbios:    2.0.3
System ID:    0x014A
Service Tag:  DPWxxxx
Express Service Code: 2986399xxxx
Product Name: PowerEdge 1750
BIOS Version: A12
Vendor:       Dell Computer Corporation
Is Dell:      1

Le BIOS 'A12' est donc bien présent sur l'équipement.