Outils pour utilisateurs

Outils du site


articles:hp_controlupdate_uefi_bios_depuis_linux

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
articles:hp_controlupdate_uefi_bios_depuis_linux [2024/08/09 23:32] fraterarticles:hp_controlupdate_uefi_bios_depuis_linux [2024/09/04 15:56] (Version actuelle) – [Installation des outils HP] frater
Ligne 3: Ligne 3:
 En remplaçant mes serveurs ESXi par du Proxmox, j'ai eu l’opportunité de remplacer les I7 3700 par des ''ProDesk 600 G1 SFF''; pas de grosses machines, mais très économique et peu énergivore. Mais voilà, les outils de supervision bios d'HP ne fonctionnent que sous Windows... Proxmox est basé sur Debian, donc une mise à jour UEFI demande de passer par une clé usb, un clavier, un écran; et il faut refaire l'opération pour toutes les machines... très peu pour moi. En remplaçant mes serveurs ESXi par du Proxmox, j'ai eu l’opportunité de remplacer les I7 3700 par des ''ProDesk 600 G1 SFF''; pas de grosses machines, mais très économique et peu énergivore. Mais voilà, les outils de supervision bios d'HP ne fonctionnent que sous Windows... Proxmox est basé sur Debian, donc une mise à jour UEFI demande de passer par une clé usb, un clavier, un écran; et il faut refaire l'opération pour toutes les machines... très peu pour moi.
  
-Depuis quelques temps déjà, il existe un service "[[https://fwupd.org/|LVFS (Linux Vendor Firmware Service)]]qui reprends les firmwares des grands constructeurs utilisable via l'outils ''fwupdmgr''; on y trouve Lenovo, Dell, HP, mais aussi 8BitDo, Asus, Gigabyte, Logitech, MSI, SteelSeries, Corsair, etc...+===== Linux vs Windows ===== 
 + 
 +Depuis quelques temps déjà, il existe un service [[https://fwupd.org/|LVFS (Linux Vendor Firmware Service)]] qui reprends les firmwares des grands constructeurs utilisable via l'outils ''fwupdmgr''; on y trouve Lenovo, Dell, HP, mais aussi 8BitDo, Asus, Gigabyte, Logitech, MSI, SteelSeries, Corsair, etc...
  
 Vous pouvez installer l’outil via la commande suivante: Vous pouvez installer l’outil via la commande suivante:
Ligne 62: Ligne 64:
 </cli> </cli>
  
-===== Identification du matériel =====+==== Identification du matériel ====
  
-Je vais devoir me passer des services de fwupdmgrdonc pour identifier le matériel, nous avons d'autres options:+Je vais devoir me passer des services de ''fwupdmgr'' et donc ne pas l'installer sur ma production, heureusement pour identifier le matériel, nous avons d'autres options:
  
 <cli bash> <cli bash>
Ligne 74: Ligne 76:
 Si vous êtes curieux, cet outil fournis beaucoup d'informations... mais c'est très complet. Si vous êtes curieux, cet outil fournis beaucoup d'informations... mais c'est très complet.
  
-===== Installation des outils HP =====+==== Installation des outils HP ==== 
 + 
 +Nous allons nous rabattre sur les outils fournis par HP pour controler nos ProDesk 600; ceux-ci sont accessble via la page [[https://ftp.hp.com/pub/caps-softpaq/cmit/linuxtools/HP_LinuxTools.html|HP Flash and Replicated Setup Utilities for Linux]]. 
 + 
 +Ce fichier contient 2 composants importants : **hpuefi-mod** et **hp-flash**, le premier est un module, le second un outils pour flasher le bios, il y a aussi des utilitaires pour répliquer la configuration **hp-repsetup**.  
 + 
 +Il faut également préparer le host pour compiler des modules kernel:  
 + 
 +**Debian Hosts** 
 +<cli bash> 
 +root@deb-host:~# apt install -y build-essential linux-headers-$(uname -r) 
 +</cli> 
 + 
 +**Proxmox Hosts** 
 +<cli bash> 
 +root@pve-host:~# apt install -y build-essential pve-headers-$(uname -r) 
 +</cli> 
 + 
 +Sur la page de HP on récupère le lien de téléchargement (dans mon cas, c'est le sp150953.tgz), et on le décompresse :  
 + 
 +<cli bash> 
 +root@pve-host:~# wget https://ftp.hp.com/pub/softpaq/sp150501-151000/sp150953.tgz 
 +--2024-08-09 23:46:43--  https://ftp.hp.com/pub/softpaq/sp150501-151000/sp150953.tgz 
 +Resolving ftp.hp.com (ftp.hp.com)... 23.61.4.71, 2a02:a000:1:38e::a82, 2a02:a000:1:38a::a82 
 +Connecting to ftp.hp.com (ftp.hp.com)|23.61.4.71|:443... connected. 
 +HTTP request sent, awaiting response... 200 OK 
 +Length: 502203 (490K) [text/plain] 
 +Saving to: ‘sp150953.tgz' 
 + 
 +sp150953.tgz 
 +100%[===============================================================>] 490.43K  --.-KB/   in 0.01s    
 + 
 +2024-08-09 23:46:44 (17.41 MB/s) - ‘sp150953.tgz’ saved [502203/502203] 
 +root@pve-host:~# tar xzf sp150953.tgz 
 +</cli> 
 + 
 +comme nous sommes sous **Debian**, il faudra compiler a partir des sources ''non-rpms'': 
 +<cli bash> 
 +root@pve-host:~# cd non-rpms 
 +root@pve-host:non-rpms# tar xzf hpuefi-mod-VER.tgz 
 +root@pve-host:non-rpms# mv hpuefi-mod-x.xx hpuefi 
 +root@pve-host:non-rpms# cd hpuefi 
 +</cli> 
 + 
 +Il nous faut compiler le module:  
 +<cli bash> 
 +root@pve-host:non-rpms/hpuefi# make 
 +make -C /lib/modules/6.8.8-4-pve/build M=/root/hpfwtools/non-rpms/hpuefi-mod-3.05 modules 
 +make[1]: Entering directory '/usr/src/linux-headers-6.8.8-4-pve' 
 +  CC [M]  /root/hpfwtools/non-rpms/hpuefi-mod-3.05/hpuefi.o 
 +/root/hpfwtools/non-rpms/hpuefi-mod-3.05/hpuefi.c:104:14: warning: no previous prototype for ‘DoSwSmi’ [-Wmissing-prototypes] 
 +  104 | unsigned int DoSwSmi(const unsigned short AxFunction, const unsigned short DxSmiCmdPort, const unsigned int EdiBufferPhysicalAddress) 
 +      |              ^~~~~~~ 
 +/root/hpfwtools/non-rpms/hpuefi-mod-3.05/hpuefi.c:134:6: warning: no previous prototype for ‘SetPhysBuffer’ [-Wmissing-prototypes] 
 +  134 | void SetPhysBuffer(const unsigned int PhysicalAddress) { 
 +      |      ^~~~~~~~~~~~~ 
 +  MODPOST /root/hpfwtools/non-rpms/hpuefi-mod-3.05/Module.symvers 
 +  CC [M]  /root/hpfwtools/non-rpms/hpuefi-mod-3.05/hpuefi.mod.o 
 +  LD [M]  /root/hpfwtools/non-rpms/hpuefi-mod-3.05/hpuefi.ko 
 +  BTF [M] /root/hpfwtools/non-rpms/hpuefi-mod-3.05/hpuefi.ko 
 +Skipping BTF generation for /root/hpfwtools/non-rpms/hpuefi-mod-3.05/hpuefi.ko due to unavailability of vmlinux 
 +make[1]: Leaving directory '/usr/src/linux-headers-6.8.8-4-pve' 
 +</cli> 
 + 
 +et installer le module: 
 + 
 +<cli bash> 
 +root@pve-host:non-rpms/hpuefi# sudo make install 
 +install -D -m 0644 hpuefi.ko /lib/modules/6.8.8-4-pve/kernel/drivers/hpuefi/hpuefi.ko 
 +depmod 
 +install -D -m 0744 mkdevhpuefi /lib/modules/6.8.8-4-pve/kernel/drivers/hpuefi 
 +</cli>
  
 +===== Mise à jour du firmware =====
  
  
articles/hp_controlupdate_uefi_bios_depuis_linux.1723239163.txt.gz · Dernière modification : de frater