-
×InformationNeed Windows 11 help?Check documents on compatibility, FAQs, upgrade information and available fixes.
Windows 11 Support Center.
-
×InformationNeed Windows 11 help?Check documents on compatibility, FAQs, upgrade information and available fixes.
Windows 11 Support Center.
- HP Community
- Desktops
- Desktop Hardware and Upgrade Questions
- Re: Firmware (BIOS) update for HP Envy 700-060ea from Linux
Create an account on the HP Community to personalize your profile and ask a question
10-18-2021 08:00 AM
I'm posting this response, since HP's forum won't allow me to respond to the original thread: https://h30434.www3.hp.com/t5/Desktop-Hardware-and-Upgrade-Questions/Bios-Update/td-p/8052224
The problem is how to install a firmware (BIOS) upgrade on an HP Envy 700 machine, when the machine only has Linux installed (not Windows). The downloadable files on the HP website only include Windows packages (not Linux or generic UEFI packages). I'll post the solution that I came up with shortly...
Solved! Go to Solution.
Accepted Solutions
10-18-2021 08:04 AM - last edited on 10-18-2021 12:25 PM by MayS
I updated the firmware (BIOS) on an HP Envy 700-060ea desktop (with Linux only, no Windows install) like this...
First I extracted the HP softpaq using the "Wine" windows emulation layer for Linux:
wine Downloads/sp72302.exe /e /f z:hpbios
... and then extracted files from the self-extracting zip file:
cd hpbios && unzip Kai_8024.exe
I examined the hpbios/Flash.bat which was amongst the files extracted...
There is an Intel ME firmware file `ME9_1482.BIN`. The HP tool included the Windows ME flashing tool FWUpdLcl.exe, but it should be possible to flash the same file with either Intel's EFI flash tool, FWUpdLcl.efi, or the Linux flashing tool FWUpdate/LINUX64/FWUpdLcl - both can be downloaded from Intel as part of the "Intel CSME System Tools" (version 9.x).
The main BIOS file in this case is called `KAI_8024.bin` - I copied this to the efi boot partition into EFI/HP/BIOS/New/ then I then rebooted the machine (into an EFI shell) and ran the EFI binary: EFI/HP/BiosUpdate/HpBiosUpdate.efi from the shell command line.
n.b. instead of using the EFI shell, you can probably run it directly from the Linux "grub" bootloader using the chainloader command with the appropriate path to HpBiosUpdate.efi, followed by the boot command.
To obtain the EFI shell (open source included in the TianoCore project, as well as various forks), you can use one of the many online tutorials to either install an EFI shell boot entry from grub, or create a bootable USB drive etc.
n.b. The EFI/HP/BiosUpdate/ directory was factory-installed, but you can probably find a suitable copy in an HP support file download (e.g. it's included in sp57762 but I don't know if there are different versions of HpBiosUpdate.efi for different machine types).
HpBiosUpdate.efi looks for a firmware update file in EFI/HP/BIOS/New/ within the EFI system partition, and writes out a log file at EFI/HP/BiosUpdate/HpBiosUpdate.log with debug messages, as well as displaying a simple mouse-driven GUI. After the flashing was completed, the machine power cycled several times, and then after booting Linux, the expected new BIOS version `80.24` was displayed in the output of dmidecode under Linux (previously `80.13` was installed).
The log file is reasonably clear and useful, so I'd recommend viewing that file from Linux, to check that it looks reasonably sensible.
10-18-2021 08:04 AM - last edited on 10-18-2021 12:25 PM by MayS
I updated the firmware (BIOS) on an HP Envy 700-060ea desktop (with Linux only, no Windows install) like this...
First I extracted the HP softpaq using the "Wine" windows emulation layer for Linux:
wine Downloads/sp72302.exe /e /f z:hpbios
... and then extracted files from the self-extracting zip file:
cd hpbios && unzip Kai_8024.exe
I examined the hpbios/Flash.bat which was amongst the files extracted...
There is an Intel ME firmware file `ME9_1482.BIN`. The HP tool included the Windows ME flashing tool FWUpdLcl.exe, but it should be possible to flash the same file with either Intel's EFI flash tool, FWUpdLcl.efi, or the Linux flashing tool FWUpdate/LINUX64/FWUpdLcl - both can be downloaded from Intel as part of the "Intel CSME System Tools" (version 9.x).
The main BIOS file in this case is called `KAI_8024.bin` - I copied this to the efi boot partition into EFI/HP/BIOS/New/ then I then rebooted the machine (into an EFI shell) and ran the EFI binary: EFI/HP/BiosUpdate/HpBiosUpdate.efi from the shell command line.
n.b. instead of using the EFI shell, you can probably run it directly from the Linux "grub" bootloader using the chainloader command with the appropriate path to HpBiosUpdate.efi, followed by the boot command.
To obtain the EFI shell (open source included in the TianoCore project, as well as various forks), you can use one of the many online tutorials to either install an EFI shell boot entry from grub, or create a bootable USB drive etc.
n.b. The EFI/HP/BiosUpdate/ directory was factory-installed, but you can probably find a suitable copy in an HP support file download (e.g. it's included in sp57762 but I don't know if there are different versions of HpBiosUpdate.efi for different machine types).
HpBiosUpdate.efi looks for a firmware update file in EFI/HP/BIOS/New/ within the EFI system partition, and writes out a log file at EFI/HP/BiosUpdate/HpBiosUpdate.log with debug messages, as well as displaying a simple mouse-driven GUI. After the flashing was completed, the machine power cycled several times, and then after booting Linux, the expected new BIOS version `80.24` was displayed in the output of dmidecode under Linux (previously `80.13` was installed).
The log file is reasonably clear and useful, so I'd recommend viewing that file from Linux, to check that it looks reasonably sensible.