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.