parent
04a8bd8f7b
commit
6f4e9fd028
|
@ -0,0 +1,173 @@
|
||||||
|
---
|
||||||
|
title: Dell OptiPlex 9020 SFF/MT (and 7020)
|
||||||
|
x-toc-enable: true
|
||||||
|
...
|
||||||
|
|
||||||
|
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||||
|
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||||
|
|
||||||
|
<div class="specs">
|
||||||
|
<center>
|
||||||
|
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020sff.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff.jpg" /></span>
|
||||||
|
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020sff_ports.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff_ports.jpg" /></span>
|
||||||
|
<br/>
|
||||||
|
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020sff_inside.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff_inside.jpg" /></span>
|
||||||
|
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020mt.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020mt.jpg" /></span>
|
||||||
|
<br/>
|
||||||
|
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020mt_ports.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020mt_ports.jpg" /></span>
|
||||||
|
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020mt_inside.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020mt_inside.jpg" /></span>
|
||||||
|
</center>
|
||||||
|
|
||||||
|
| ***Specifications*** | |
|
||||||
|
|----------------------------|------------------------------------------------|
|
||||||
|
| **Manufacturer** | Dell |
|
||||||
|
| **Name** | OptiPlex 9020 SFF/MT |
|
||||||
|
| **Variants** | OptiPlex 9020 SFF/MT |
|
||||||
|
| **Chipset** | Intel Q87 Express |
|
||||||
|
| **CPU** | Intel Haswell |
|
||||||
|
| **Graphics** | Intel HD Graphics |
|
||||||
|
| **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** | 2x SOIC-8, 12MiB (8+4) (96Mbit) |
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
W+: Works without blobs;
|
||||||
|
N: Doesn't work;
|
||||||
|
W*: Works with blobs;
|
||||||
|
U: Untested;
|
||||||
|
P+: Partially works;
|
||||||
|
P*: Partially works with blobs
|
||||||
|
?: UNKNOWN AT THIS TIME
|
||||||
|
```
|
||||||
|
|
||||||
|
| ***Features*** | |
|
||||||
|
|---------------------------------------------------|----|
|
||||||
|
| **Internal flashing with original boot firmware** | ? |
|
||||||
|
| **Display (if Intel GPU)** | W+ |
|
||||||
|
| **Display (discrete CPU, SeaBIOS payload only)** | W* |
|
||||||
|
| **Audio** | W+ |
|
||||||
|
| **RAM Init** | W+ |
|
||||||
|
|
||||||
|
| ***Payloads supported*** | |
|
||||||
|
|----------------------------|-----------|
|
||||||
|
| **GRUB (libgfxinit only)** | Works |
|
||||||
|
| **SeaBIOS** | Works |
|
||||||
|
| **SeaBIOS with GRUB** | Works |
|
||||||
|
</div>
|
||||||
|
Introduction
|
||||||
|
============
|
||||||
|
|
||||||
|
**Unavailable in Libreboot 20240126 or earlier. You must [compile from
|
||||||
|
source](../build/), or use a version newer than Libreboot 20240126**
|
||||||
|
|
||||||
|
Official information about the laptop can be found here:
|
||||||
|
<https://i.dell.com/sites/doccontent/shared-content/data-sheets/en/Documents/optiplex-9020-micro-technical-spec-sheet.pdf>
|
||||||
|
|
||||||
|
7020 compatibility
|
||||||
|
------------------
|
||||||
|
|
||||||
|
7020/9020 MT each have the same motherboard. Flash the 9020 ROM from Libreboot
|
||||||
|
on your 7020, and it will work.
|
||||||
|
|
||||||
|
Ditto 7020/9020 SFF, it's the same motherboard. However, Libreboot provides
|
||||||
|
separate targets for MT and SFF.
|
||||||
|
|
||||||
|
Build ROM image from source
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
For the MT variant (7020 MT and 9020 SFF):
|
||||||
|
|
||||||
|
./build roms dell9020mt_12mb
|
||||||
|
|
||||||
|
For the SFF variant (7020 MT and 7020 SFF):
|
||||||
|
|
||||||
|
./build roms dell9020sff_12mb
|
||||||
|
|
||||||
|
It is important that you choose the right one. The MT variant is the full
|
||||||
|
MTX tower.
|
||||||
|
|
||||||
|
Installation
|
||||||
|
============
|
||||||
|
|
||||||
|
Insert binary files
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
If you're using a release ROM, please ensure that you've inserted extra firmware
|
||||||
|
required refer to the [guide](../install/ivy_has_common.md) 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](../install/nvmutil.md).
|
||||||
|
|
||||||
|
WARNING about CPU/GPU compatibility
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
**NOTE: Graphics cards did not work when last tested; the rendering and output
|
||||||
|
is still handled by the intel graphics. Until this changes, you can only use
|
||||||
|
the onboard Intel graphics reliably, on these boards.**
|
||||||
|
|
||||||
|
At the time of testing this board, I didn't have a CPU with graphics built in,
|
||||||
|
so I could only use discrete graphics on the PCI-E slot (in my case, Nvidia
|
||||||
|
Quadro K420 running under the nouveau driver in Linux).
|
||||||
|
|
||||||
|
If you want to use onboard graphics, you must have a CPU that has a GPU built
|
||||||
|
into it. You can find a list here:
|
||||||
|
|
||||||
|
<https://en.wikipedia.org/wiki/Haswell_(microarchitecture)> (**must be LGA 1150 socket**)
|
||||||
|
|
||||||
|
Because of this, Libreboot currently only provides ROM images where SeaBIOS
|
||||||
|
is the first payload, and SeaBIOS is relied upon the execute the VGA ROM that's
|
||||||
|
stored on the graphics card. However, coreboot's libgfxinit is also enabled,
|
||||||
|
so onboard graphics *should* work if you don't have a graphics card installed.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
GRUB *also* works, from SeaBIOS when the machine is booted in text mode. Both
|
||||||
|
coreboot GRUB, and BIOS GRUB provided by your (Linux) distro. It's done this
|
||||||
|
way (SeaBIOS first) because Libreboot's configuration does not tell *coreboot*
|
||||||
|
to execute VGA Option ROMs, and it's important that we try to prevent bricks
|
||||||
|
whenever possible.
|
||||||
|
|
||||||
|
Flash a ROM image (software)
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
If you're already running Libreboot, and you don't have flash protection
|
||||||
|
turned on, [internal flashing](../install/) is possible.
|
||||||
|
|
||||||
|
Flash a ROM image (hardware)
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
**REMOVE all power sources and connectors from the machine, before doing this.
|
||||||
|
This is to prevent short circuiting and power surges while flashing.**
|
||||||
|
|
||||||
|
For general information, please refer to [25xx NOR flash
|
||||||
|
instructions](../install/spi.md) - 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.
|
||||||
|
|
||||||
|
Here's the SOIC8 ICs being flashed:
|
||||||
|
|
||||||
|
<img tabindex=1 alt="SOIC8 flash IC on 9020 SFF" style="max-width:35%" src="https://av.libreboot.org/9020/9020sff_flash1.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff_flash1.jpg" /></span>
|
||||||
|
<img tabindex=1 alt="SOIC8 flash IC on 9020 SFF" style="max-width:35%" src="https://av.libreboot.org/9020/9020sff_flash2.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff_flash2.jpg" /></span>
|
||||||
|
|
||||||
|
Enjoy!
|
|
@ -38,7 +38,7 @@ libreboot currently supports the following systems in this release:
|
||||||
|
|
||||||
### Desktops (AMD, Intel, x86)
|
### Desktops (AMD, Intel, x86)
|
||||||
|
|
||||||
- **Dell OptiPlex 7020/9020 MT and SFF (no guides yet) - [Available to buy
|
- [Dell OptiPlex 7020/9020 MT and SFF](dell9020.md) - Also [available to buy
|
||||||
with Libreboot preinstalled](https://minifree.org/product/libreboot-9020/)**
|
with Libreboot preinstalled](https://minifree.org/product/libreboot-9020/)**
|
||||||
- [Acer G43T-AM3](acer_g43t-am3.md)
|
- [Acer G43T-AM3](acer_g43t-am3.md)
|
||||||
- [Apple iMac 5,2](imac52.md)
|
- [Apple iMac 5,2](imac52.md)
|
||||||
|
|
|
@ -41,7 +41,7 @@ Refer to [mac\_address.md](../hardware/mac_address.md).
|
||||||
|
|
||||||
It is recommended that you run *nvmutil*. See:
|
It is recommended that you run *nvmutil*. See:
|
||||||
|
|
||||||
[nvmutil usage manual](nvmutil.md)
|
[nvmutil usage manual](nvmutil.md) - E5530 users don't need to run this.
|
||||||
|
|
||||||
The `nvmutil` software is specifically designed for changing MAC addresses,
|
The `nvmutil` software is specifically designed for changing MAC addresses,
|
||||||
and it implements a few more safeguards (e.g. prevents multicast/all-zero
|
and it implements a few more safeguards (e.g. prevents multicast/all-zero
|
||||||
|
|
Loading…
Reference in New Issue