• ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
  • ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
Guidelines
Are you having HotKey issues? Click here for tips and tricks.
HP Recommended
Envy 700-060ea
Linux

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...

1 ACCEPTED SOLUTION

Accepted Solutions
HP Recommended

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.

View solution in original post

1 REPLY 1
HP Recommended

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.

† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the <a href="https://www8.hp.com/us/en/terms-of-use.html" class="udrlinesmall">Terms of Use</a> and <a href="/t5/custom/page/page-id/hp.rulespage" class="udrlinesmall"> Rules of Participation</a>.