Unofficial (Simplified) Libreboot Documentation
  • Home
  • Building from source/
  • External SPI flashing/
  • Freedom in Libreboot/
  • Maintainance manual/
  • Operating systems/
  • Payloads/
  • Releases/
  • Targets/
    • ARM Chromebooks/
    • Emulation/
    • Other/
    • X86/
      • AMD pitfalls
      • Boards/
        • Acer G43T-AM3
        • ASUS KCMA-D8 Desktop/Workstation
        • ASUS KFSN4-DRE Server/Workstation
        • ASUS KGPE-D16 Server/Workstation
        • Dell Latitude flashing
        • Dell Latitude thermal throttling
        • Dell OptiPlex 3050 Micro
        • Dell OptiPlex 7010/9010 MT
        • Dell OptiPlex 7010/9010 SFF
        • Dell OptiPlex 7020/9020 SFF/MT, and XE2 MT/SFF
        • Dell OptiPlex 780 MT/USFF
        • Dell Precision T1650
        • Gigabyte GA-G41M-ES2L Desktop
        • HP Compaq Elite 8300 USDT
        • HP Elite 8200 SFF/MT and 6200 Pro Business
        • HP EliteBook 2170p
        • HP EliteBook 2560p
        • HP EliteBook 2570p
        • HP EliteBook 820 G2
        • HP EliteBook 8460p
        • HP EliteBook 8470p
        • HP EliteBook 8560w
        • HP EliteBook Folio 9470m
        • Intel D510MO/D410PT
        • Intel D945GCLF Desktop
        • MacBook 1,1 and 2,1
        • ThinkPad R400
        • ThinkPad T400 external flashing
        • ThinkPad T420 external flashing
        • ThinkPad T440p external flashing
        • ThinkPad T480/T480s
        • ThinkPad T500 external flashing
        • ThinkPad T60 recovery guide
        • ThinkPad W541/W540 external flashing
        • ThinkPad X200 first-time flashing
        • ThinkPad X220/X220T
        • ThinkPad X230/X230T external flashing
        • ThinkPad X60 recovery
        • ThinkPad X60 Tablet recovery
        • ThinkPad X60/X60T/T60 internal flashing
      • Changing the MAC address
      • Disabling /dev/mem protections
      • Disabling Intel Boot Guard on MEv11
      • EC firmware updates
      • Generic internal flashing
      • Insert vendor files
      • Intel pitfalls
      • Ivybridge internal flashing
      • Microcode
      • nvmutil import
      • nvmutil manual
  • UNCATEGORIZED/
Site license: GFDL v1.3 with disclaimer

Dell OptiPlex 7010/9010 SFF

This is only for the SFF variant. The MT variant is also supported, but for the MT variant, you must flash the T1650 ROM image instead.

Dell OptiPlex 7010 SFF Dell OptiPlex 7010 SFF
Specifications
Manufacturer Dell
Name OptiPlex 7010 SFF
Variants OptiPlex 9010 SFF
Released 2012
Chipset Intel C216
CPU Intel Ivy Bridge
Graphics Discrete graphics, or Intel HD Graphics model
depending on CPU model
Memory DDR3 DIMMs (max 32GB, 4x8GB)
Architecture x86_64
Original boot firmware Dell UEFI firmware
Intel ME/AMD PSP Present. Can be disabled with me_cleaner.
Flash chip SOIC-16 and/or SOIC-8 12MiB (96Mbit)
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+
Payloads supported
GRUB (libgfxinit only) Works
SeaBIOS Works
SeaBIOS with GRUB Works
## Introduction

Processor specificatoins

Build ROM image from source

The build target, when building from source, is thus:

./mk -b coreboot dell7010sff_12mb

NOTE: The same 7010 SFF image also works on 9010 SFF. It’s the same motherboard.

Installation

Insert binary files

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)

Libreboot’s build system automatically downloads and processes these files if you build Libreboot from source, but the same logic that it uses must be re-run if you’re using a release image.

Set MAC address

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.

WARNING about CPU/GPU compatibility

If you want to use onboard graphics, you must have a CPU that has a GPU built into it. See the Ivy Bridge Wikipedia for details.

Coreboot has libre initialisation code for Intel graphics, but libre initialisation code is not available for most graphics cards. This machine can take any graphics card that fits in the PCI-E slot. When a graphics card is used, SeaBIOS executes its VGA ROM which provides video init, instead of coreboot’s native Intel video init. GRUB piggybacks off of what SeaBIOS did, so the GRUB payload will also work.

Flash a ROM image (software)

If you’re already running Libreboot, and you don’t have flash protection turned on, internal flashing is possible.

Dell OptiPlex 7010 SFF service mode jumper set Insides of Dell Optiplex 7010 SFF

If you have factory firmware (Dell), you can short the service jumper. It’s near the RAM, under where the HDD goes (click the photos shown above). Just put a short on it when booting, and all flash protection is disabled; the factory firmware write might EFI variables to flash during shutdown sequence, so you should pull the plug to shut it down (remove the power by pulling the plug) after flashprog says VERIFIED.

Flash a ROM image (hardware)

For general information, please refer to 25xx NOR flash instructions - that page refers to use of socketed flash.

This machine is somewhat cumbersome to flash, because it has a SOIC-16 flash for the first 8MB part, and 4MB SOIC8. You can split up your 12MB ROM image like so:

dd if=libreboot.rom of=4mb.rom bs=1M skip=8
dd if=libreboot.rom of=8mb.rom bs=1M count=8

The side cover comes off easily, and you can find the flash ICs next to the RAM.

No photos yet, but the two flash ICs are next to each other, and near to where the PCH is.