| Specifications | |
|---|---|
| Manufacturer | Dell |
| Name | OptiPlex 780 |
| Variants | OptiPlex 780 MT, USFF |
| Released | 2009 |
| Chipset | Intel Q45 |
| CPU | LGA 775, Intel Core 2 Duo+Quad on MT |
| Graphics | GMA 4500 |
| Memory | 16/8GB DDR3 SODIMMs (4x4GB,2x4GB USSF) |
| Architecture | x86_64 |
| Original boot firmware | Dell UEFI firmware |
| Intel ME/AMD PSP | Present, Fully removable firmware. |
| Flash chip | SOIC-16 or 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
?: UNKNOWN AT THIS TIME
| Features | |
|---|---|
| Internal flashing with original boot firmware | W+ |
| Display (if Intel GPU) | W+ |
| Display (discrete GPU, SeaBIOS payload only) | W* |
| Audio | W+ |
| RAM Init | W+ |
The _truncate image is needed if you’re flashing Libreboot internally from the original Dell firmware. Otherwise, you only need the regular images that lack _truncate in the file name.
Download from release
Build from source
The build target, when building from source, is thus:
./mk -b coreboot dell_optiplex_780_mt_truncate_8mb
./mk -b coreboot dell_optiplex_780_mt_8mb
./mk -b coreboot dell_optiplex_780_usff_truncate_8mb
./mk -b coreboot dell_optiplex_780_usff_8mb
Short the service jumper (it’s a 2-pin header located somewhere on the board (no photos available yet), to disable flash protections on the first 6MB of the flash; the latter 2MB part is restricted. Because we are using an Intel Flash Descriptor on this board, the flash will be divided into these parts:
After the jumper set, Backup the vendor firmware before, but DO NOT flash it directly like at the end of the referred guide.
Before you can use the flash commands, please note that the _truncate images are 6MB in size, but they must be padded to 8MB. Normally a blank part of flash should ideally be all 0xFF, but here we do:
dd if=/dev/zero of=2mb.bin bs=2M count=1
cat libreboot6mb.rom 2mb.bin > libreboot.rom
If you’re not using the truncate images, you can ignore the above steps.
The Flash Descriptor can be thought of more like a partition table for the flash, at least in our use-case scenario. The _truncate images configure the flash such that only the first 6MB is used, with the BIOS region ending at that limit; the upper 2MB is specified as the platform data region, in Libreboot’s configuration. To flash it, do this:
./flashprog -p internal --ifd -i fd -w libreboot.rom
./flashprog -p internal --ifd -i gbe -w libreboot.rom
./flashprog -p internal --ifd -i bios -w libreboot.rom
It’s very important to do this in the exact order as above, because the --ifd option references the flashed IFD, not the one in your image, so you must flash the IFD first.
Then skip the backup sections and flash the complete libreboot.rom.
If you already have Libreboot running, and you don’t have flash protection enabled, you can omit --ifd -i REGION from the flashprog command, and flash the full image; the one without _truncate in the file name uses all of the flash, with the BIOS region ending at the 8MB limit, so the BIOS region is therefore 2MB larger on those images.
No photos yet available.
REMOVE all power sources and connectors from the machine, before doing this. This is to prevent short circuiting and power surges while flashing.
Check the hw-flashing guide, before moving onto the next step below.
Flash it: (With rpi-pico as an example, edit the line if needed.)
flashprog -p serprog:dev=/dev/ttyACM0,spispeed=16M -w filename.rom
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.
Might apply for the 780 motherboards too.
The Canoeboot version of this page is: https://canoeboot.org/docs/install/dell780.html
Markdown file for this page: https://libreboot.org/docs/install/dell780.md
This HTML page was generated by the Libreboot Static Site Generator.