From 93c1b8d11ae231681c58d8672a6251be57c778c7 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 7 Oct 2024 02:46:24 +0100 Subject: [PATCH] 3050 micro install guide Signed-off-by: Leah Rowe --- site/docs/install/dell3050.md | 160 ++++++++++++++++++++++++++++++++++ site/docs/install/dell7010.md | 2 +- site/docs/install/index.md | 10 ++- 3 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 site/docs/install/dell3050.md diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md new file mode 100644 index 0000000..ace7d89 --- /dev/null +++ b/site/docs/install/dell3050.md @@ -0,0 +1,160 @@ +--- +title: Dell OptiPlex 3050 Micro +x-toc-enable: true +... + +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), +OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** + +
+
+Dell OptiPlex 3050 Micro +
+ +| ***Specifications*** | | +|----------------------------|------------------------------------------------| +| **Manufacturer** | Dell | +| **Name** | OptiPlex 3050 Micro | +| **Variants** | OptiPlex 3050 Micro | +| **Released** | 2017 | +| **Chipset** | Intel Kaby Lake | +| **CPU** | Intel Kaby Lake | +| **Graphics** | Intel HD graphics | +| **Memory** | DDR4 SODIMMs (max 32GB, 2x16GB) | +| **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 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** | W+ | +| **Display (if Intel GPU)** | W+ | +| **Audio** | W+ | +| **RAM Init** | W+ | + +| ***Payloads supported*** | | +|----------------------------|-----------| +| **GRUB (libgfxinit only)** | Works | +| **SeaBIOS** | Broken | +
+Introduction +============ + +**Unavailable in Libreboot 20240612 or earlier. You must [compile from +source](../build/), or use a version newer than Libreboot 20240612.** + +Official information about the computer can be found here: + + +Build ROM image from source +--------------------------- + +The build target, when building from source, is thus: + + ./mk -b coreboot dell3050micro_fsp_16mb + +Mate Kukri's *deguard* utility disables the Intel Boot Guard on this +machine. Libreboot uses this by default, along with `me_cleaner` to provide +a neutered ME setup; unlike on other platforms, arbitrary code execution is also +possible inside the ME on this mainboard, giving it much higher potential for +software freedom in the future. + +Issues +====== + +Before flashing, you must know that this board is still a work-in-progress. It +is using this patchset from the author, Mate Kukri: + + (libreboot uses patch set 14) + +Issues, as per Libreboot's testing, are as follows: + +* Although USB ports seem to work, the Gerrit page linked above says that the + config is incorrect; need to investigate. +* HDA Verb: Libreboot patches the board to support this, which fixes the + headphone jack among other things. +* VBT: Libreboot patches the board to support this, though it's largely + optional on Linux/BSD. +* ACPI-based shutdown seems to falter a lot; sometimes the board will not turn + off after shut down, so you have hold the button down. Also, the button does + not seem to signal the OS that a shutdown must occur. +* PWM fan controls broken, so the system always run in a low-rpm state, even + under stress conditions, which could lead to overheating under stress. + +To mitigate the PWM bug, simply cut the blue wire on the fan connector, and +cut the red wire but jump the cut (on red) with a 100ohm resistor or so; cutting +the blue one bypasses PWM, so the fan runs at full speed (very loud), and the +red wire powers it, so the resistor on the red wire will slow the fan down, but +leave it running fastr than on idle. You can also cap the CPU speed however you +wish, via the `intel_pstate` driver. + +Note that HDMI audio *does* work, but you have to select it in your audio +server e.g. pipework. The `pavucontrol` utility in Linux (with pipewire) lets +you have a lot of control over audio I/O. Libreboot patches the board to add +a verb, so headphones should work. + +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). + +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. + +Dell OptiPlex 3050 Micro service jumper + +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](../install/spi.md) - that page refers to use of socketed flash. + +The side cover comes off easily, and you can find the flash ICs next to the RAM. +Simply remove the screw at the back. The top panel then slides forward, and you +can remove the SSD caddy; from then on, the flash is accossible. + +Observe the following photo of the flash (SOIC-8): + +Dell OptiPlex 3050 Micro flash IC + +You can otherwise flash internally, including from factory firmware(if the +service jumper is set). diff --git a/site/docs/install/dell7010.md b/site/docs/install/dell7010.md index c320e2b..dc4fb1e 100644 --- a/site/docs/install/dell7010.md +++ b/site/docs/install/dell7010.md @@ -62,7 +62,7 @@ Introduction **Unavailable in Libreboot 20240612 or earlier. You must [compile from source](../build/), or use a version newer than Libreboot 20240612.** -Official information about the laptop can be found here: +Official information about the computer can be found here: Build ROM image from source diff --git a/site/docs/install/index.md b/site/docs/install/index.md index 7f8f082..72e9e57 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -83,7 +83,8 @@ Desktops (AMD, Intel, x86) - Dell OptiPlex 7010 **MT** (known to work, using the T1650 ROM, but more research is needed) - 9010 also known to work. No GPIO changes, so it should be safe to flash. -- [Dell OptiPlex 7010/9010 SFF](dell7010.md) **(for MT, please use the T1650 image)** +- [Dell OptiPlex 3050 Micro](dell3050.md) +- [Dell OptiPlex 7010/9010 SFF](dell7010.md) **(for MT, please use the T1650 image)** - [Dell Precision T1650](t1650.md) **(the same ROM works on 7010/9010 MT variant)** - [Gigabyte GA-G41M-ES2L motherboard](ga-g41m-es2l.md) - [HP Elite 8200 SFF/MT](hp8200sff.md) (HP 6200 Pro Business probably works too) @@ -375,6 +376,13 @@ Intel D945GCLF (vendor BIOS) See: [Intel D945GCLF flashing guide](d945gclf.md) +Dell OptiPlex 3050 Micro (vendor BIOS) +--------------------- + +Refer to the [3050 Micro page](dell3050.md). Internal flashing also possible. +This has the Intel Boot Guard, but Libreboot uses the *deguard* utility to +disable the Boot Guard on this Intel 7th gen board. + Dell OptiPlex 7010/9010 SFF (vendor BIOS) ---------------------