!!BACKUP everything!! just in case something fails.


| Specifications | |
|---|---|
| Manufacturer | HP |
| Name | Compaq Elite 8200 & 6200 Pro MT/SFF |
| Released | 2011 |
| Chipset | Intel Q67 |
| CPU | LGA 1155, Intel 2nd gen. (Core+Xeon e3 v1) and with Libreboot 3rd gen. (Core+Xeon e3 v2) |
| Graphics | Intel HD 3000 |
| Memory | DDR3 SODIMMs (max. 32GB, 4x8GB) |
| Architecture | x86_64 |
| Intel ME/AMD PSP | Present. Can be disabled with me_cleaner. |
| Flash chip | SOIC-8 8MiB/64Mbit |
W+: Works without vendor firmware;
N: Doesn't work;
W*: Works with vendor firmware;
U: Untested;
P+: Partially works;
P*: Partially works with vendor firmware
| Features | |
|---|---|
| Internal flashing with original boot firmware | W* |
| Display (Intel GPU) | W+ |
| Display (PCIe graphics card) | W+ |
| Audio | W+ |
| RAM Init | W+ |
| Payloads supported | |
|---|---|
| GRUB | Works |
| SeaBIOS | Works |
| SeaBIOS with GRUB | Works |
These 3 devices uses the same motherboard, regardles of the case sizes.
Download from release
If you’re using a release ROM, please ensure that you’ve inserted extra firmware required refer to the guide for that (, failure to adhere to this advice will result in a bricked machine):
Build from source
Use the first one to upgrade from the vendor firmware (MT/SFF):
./mk -b coreboot hp8200sff_4mb
To update the Libreboot firmware on a librebooted one (MT/SFF):
./mk -b coreboot hp8200sff_8mb
Software
Before internal flashing, Disable /dev/mem protection first.
In short add this kernel parameter: iomem=relaxed(linux distro)/kernel.securelevel=-1(bsd distro)
THEN REMOVE THIS KERNEL PARAMETER TO PREVENT UNAUTHORIZED/MALICIOUS ACCESS TO YOUR SYSTEM AFTER FLASHING LIBREBOOT.
(An important reminder for those who might forget to delete it, even better, replace it with lockdown=integrity / lockdown=confidentiality)
Backup the previous (working) firmware (atleast) twice (to check and compare if reading it gone wrong and backups differs.)
flashprog -p internal -r Backup1.bin
flashprog -p internal -r Backup2.bin
Check and compare those if reading from the flash were successful:
diff Backup1.bin Backup2.bin
For more than 2:
shasum Backup1.bin Backup2.bin Backup3.bin
If those differs, something gone wrong and proceeding further may (DON’T) leave your device unrecoverable (without a reliable backup) if flashing fails as well.
Internal flashing from OEM BIOS is possible by setting a jumper on the board.
The vendor BIOS imposes write-protections in the Flash Descriptor and runtime. However, the flash descriptor can be bypassed by bridging a jumper and the runtime protections only apply to a fixed address block. Since neutering the Management Engine frees up a lot of space, we can just install an intermediate Libreboot image there. This removes all write-protections so has the same end result as external flashing: a completely unlocked system.
Power off the computer. Remove the side panel. Near the back USB ports find the jumper labelled FDO.

You need to short the two pins circled. Use a jumper block if you have one but a screwdriver will do the job fine too. Hold the tip between the pins until you can see the normal BIOS boot screen.

Now, run this command:
flashprog -p internal
NOTE: If flashprog complains, detecting multiple chips, just pick one, and specify it using the -c option as indicated by flashprog.
The output should contain the text “The Flash Descriptor Override Pin-Strap is set”. If it doesn’t, start again from the beginning.
Now build the 4 MiB Libreboot image (MT/SFF).
./mk -b coreboot hp8200sff_4mb
Also build ifdtool. It will be needed soon.
cd src/coreboot/default/util/ifdtool
make
sudo make install
Now choose the image you want from bin/hp8200sff_4mb. We’ll refer to it as libreboot4.rom. We need to pad it to 8 MiB:
dd if=/dev/zero bs=4M count=1 >> libreboot4.rom
Flash the Libreboot image with a tweaked layout:
ifdtool libreboot4.rom -f layout
flashprog -p internal -w libreboot4.rom -l layout -i fd -i gbe -i bios -i me
Power off the computer. Make sure to power off, rebooting is not enough!
Power on the computer.
If you plan on using a graphics card (other than the integrated graphics of your CPU), choose one of the files which name contains both “seabios” and “txtmode”.
Now we can flash the full 8 MiB image. Boot to an OS with flashprog again.
flashprog -p internal -w libreboot8.rom
Power cycle the computer again.
Hardware
For general information, please refer to 25xx NOR flash instructions - that page refers to use of socketed flash.
Backup the previous (working) firmware twice (to check and compare if reading it gone wrong and backups differs.)
flashprog -p serprog:dev=/dev/ttyACM0,spispeed=16M -r Backup1.bin
flashprog -p serprog:dev=/dev/ttyACM0,spispeed=16M -r Backup2.bin
Check and compare those if reading from the flash were successful:
diff Backup1.bin Backup2.bin
For more than 2:
shasum Backup1.bin Backup2.bin Backup3.bin
If those differs, something gone wrong and proceeding further may (DON’T) leave your device unrecoverable (without a reliable backup) if flashing fails as well.
Instructions (works for the MT too) if you need to recover from an unbootable BIOS.
This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To change the MAC address, please read nvmutil documentation.
The Canoeboot version of this page is: https://canoeboot.org/docs/install/hp8200sff.html
Markdown file for this page: https://libreboot.org/docs/install/hp8200sff.md
This HTML page was generated by the Libreboot Static Site Generator.