From 887817240a7f0dbdfcc57bf2019316d49ec72038 Mon Sep 17 00:00:00 2001 From: Leah Rowe <leah@libreboot.org> Date: Fri, 20 Oct 2023 16:56:58 +0100 Subject: [PATCH] installation notes for dell latitude e6430 Signed-off-by: Leah Rowe <leah@libreboot.org> --- site/contrib.md | 6 +- site/docs/hardware/e6430.md | 75 +++++++++++++ site/docs/hardware/index.md | 14 +-- site/docs/hardware/index.zh-cn.md | 1 + site/docs/install/e6400.md | 11 +- site/docs/install/e6430.md | 174 ++++++++++++++++++++++++++++++ site/docs/install/index.md | 9 ++ 7 files changed, 276 insertions(+), 14 deletions(-) create mode 100644 site/docs/hardware/e6430.md create mode 100644 site/docs/install/e6430.md diff --git a/site/contrib.md b/site/contrib.md index 074becf..1560e7e 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -291,7 +291,11 @@ Made the libreboot logo. Nicholas Chin ------------- -[Ported Dell Latitude E6400 to Libreboot](news/e6400.md). +[Ported Dell Latitude E6400 to Libreboot](news/e6400.md) +and also [Dell Latitude E6430](hardware/e6430.md) - author of +the `dell-flash-unlock` (formerly `e6400-flash-unlock`) utility, which +can unlock the flash on these boards, allowing internal flashing of +Libreboot directly from host OS running under the original Dell firmware. Patrick "P. J." McDermott --------------------------- diff --git a/site/docs/hardware/e6430.md b/site/docs/hardware/e6430.md new file mode 100644 index 0000000..ef0f701 --- /dev/null +++ b/site/docs/hardware/e6430.md @@ -0,0 +1,75 @@ +--- +title: Dell Latitude E6430 +x-toc-enable: true +... + +<div class="specs"> +<center> +Dell Latitude E6430 +</center> + +| ***Specifications*** | | +|----------------------------|------------------------------------------------| +| **Manufacturer** | Dell | +| **Name** | Latitude E6430 | +| **Variants** | E6430 with Intel GPU supported | +| **Released** | 2012 | +| **Chipset** | Intel Ivy Bridge | +| **CPU** | Intel Core i3, i5 or i7 . | +| **Graphics** | Intel HD 4000 and unsupported NVidia NVS 5200M | +| **Display** | 1366x768/1600x900 TFT | +| **Memory** | 4 or 8GB (Upgradable to 16GB) | +| **Architecture** | x86_64 | +| **EC** | SMSC MEC5055 with proprietary firmware | +| **Original boot firmware** | Dell UEFI | +| **Intel ME/AMD PSP** | Present. Can be completely disabled. | +| **Flash chip** | 2xSOIC-8, 12MiB (8MiB and 4MiB in combination) | + + +``` +W+: Works without blobs; +N: Doesn't work; +W*: Works with blobs; +U: Untested; +P+: Partially works; +P*: Partially works with blobs +``` + +| ***Features*** | | +|---------------------------------------------------|----| +| **Internal flashing with original boot firmware** | W+ | +| **Display (if Intel GPU)** | W+ | +| **Display (if Nvidia GPU)** | U | +| **Audio** | W+ | +| **RAM Init** | W+ | +| **External output** | W+ | +| **Display brightness** | P+ | + +| ***Payloads supported*** | | +|---------------------------|-----------| +| **GRUB** | FAIL | +| **SeaBIOS** | Works | +| **SeaBIOS with GRUB** | Works | +</div> +Introduction +============ + +ROM images for Dell Latitude E6430 are available for flashing in the Libreboot +releases *after* 20230625, or you can compile a ROM image for installation via +lbmk, see: [build instructions](../build/) + +Only the Intel GPU variants are supported, currently. All models with Intel GPU +are assumed to work. + +Unlike the E6400, this one does require a neutered Intel ME image to run. This +means running it through `me_cleaner` before flashing; the Libreboot build +system does this automatically, during build, or you can insert a neutered +ROM image using the vendor scripts, see guide: + +[Insert vendor files](../install/ivy_has_common.md) + +As with the E6400, this one is flashable in software, from Dell UEFI firmware +to Libreboot. Please refer to the installation instructions. + +**To install Libreboot, see: [E6430 installation +instructions](../install/e6430.md)** diff --git a/site/docs/hardware/index.md b/site/docs/hardware/index.md index 01f5f8c..de0763d 100644 --- a/site/docs/hardware/index.md +++ b/site/docs/hardware/index.md @@ -50,19 +50,21 @@ libreboot currently supports the following systems in this release: - [Acer G43T-AM3](acer_g43t-am3.md) - [Apple iMac 5,2](imac52.md) - [ASUS KCMA-D8 motherboard](kcma-d8.md) -- [Dell Precision T1650](t1650.md) +- [Dell Precision T1650](t1650.md) (**easy to flash without disassembly**) - [Gigabyte GA-G41M-ES2L motherboard](ga-g41m-es2l.md) - [HP Elite 8200 SFF/MT](hp8200sff.md) (HP 6200 Pro Business probably works too) -- [HP Elite 8300 USDT](hp8300usdt.md) + (**easy to flash without disassembly**) +- [HP Elite 8300 USDT](hp8300usdt.md) (**easy to flash without disassembly**) - [Intel D510MO and D410PT motherboards](d510mo.md) ### Laptops (Intel, x86) -- [Apple MacBook1,1 and MacBook2,1](macbook21.md) +- [Apple MacBook1,1 and MacBook2,1](macbook21.md) (2,1 flashable without disassembly) - [Dell Latitude E6400, E6400 XFR and E6400 ATG, all with Nvidia or Intel GPU](e6400.md) **(easy to flash, no disassembly, similar hardware to X200/T400)** -- [HP EliteBook 2170p](hp2170p.md) +- [Dell Latitude E6430 (Intel GPU](e6430.md) **(easy to flash, no disassembly)** +- [HP EliteBook 2170p](hp2170p.md) (**socketed flash IC**) - [HP EliteBook 2560p](hp2560p.md) - [HP EliteBook 2570p](hp2570p.md) - [HP EliteBook 8470p](hp8470p.md) @@ -76,7 +78,7 @@ libreboot currently supports the following systems in this release: - [Lenovo ThinkPad T440p](../install/t440p_external.md) - [Lenovo ThinkPad T500](t500.md) - [Lenovo ThinkPad T530 / W530](../install/ivy_has_common.md) (no install -- Lenovo ThinkPad T60 (with Intel GPU) +- Lenovo ThinkPad T60 (with Intel GPU) (**easy to flash without disassembly**) - [Lenovo ThinkPad W500](t500.md) - [Lenovo ThinkPad W541](../install/ivy_has_common.md) (no install docs yet) - [Lenovo ThinkPad X200 / X200S / X200 Tablet](x200.md) @@ -86,7 +88,7 @@ libreboot currently supports the following systems in this release: - [Lenovo Thinkpad X230](../install/x230_external.md) - [Lenovo Thinkpad X230t](../install/x230_external.md) - Lenovo ThinkPad X301 -- Lenovo ThinkPad X60 / X60S / X60 Tablet +- Lenovo ThinkPad X60 / X60S / X60 Tablet (**easy to flash without disassembly**) ### Laptops (ARM, with U-Boot payload) diff --git a/site/docs/hardware/index.zh-cn.md b/site/docs/hardware/index.zh-cn.md index 3ddd169..804640f 100644 --- a/site/docs/hardware/index.zh-cn.md +++ b/site/docs/hardware/index.zh-cn.md @@ -47,6 +47,7 @@ x-toc-enable: true - [Apple MacBook1,1 åŠ MacBook2,1](macbook21.md) - [Dell Latitude E6400, E6400 XFR åŠ E6400 ATGï¼Œçš†æ”¯æŒ Nvidia 或 Intel GPU](e6400.md) **(刷入简å•ï¼Œæ— 需拆解,硬件类似 X200/T400)** +- [Dell Latitude E6430, Intel GPU](e6430.md) **(刷入简å•ï¼Œæ— 需拆解)** - [HP EliteBook 2170p](hp2170p.md) - [HP EliteBook 2560p](hp2560p.md) - [HP EliteBook 2570p](hp2570p.md) diff --git a/site/docs/install/e6400.md b/site/docs/install/e6400.md index 2a5fefd..2144d72 100644 --- a/site/docs/install/e6400.md +++ b/site/docs/install/e6400.md @@ -167,13 +167,10 @@ was previously called `e6400-flash-unlock`. Links have been updated.** BSD *boots* and works properly on these machines, but take note: Nicholas's [dell-flash-unlock](https://browse.libreboot.org/lbmk.git/plain/util/dell-flash-unlock/dell_flash_unlock.c) -utility has not yet been ported to BSD systems. The `flashrom` software is -available on BSD systems. Libreboot's build system has not yet been ported to -the BSDs. - -BSD users could run Linux from USB to run `flashrom` and `dell-flash-unlock`. -Virtualisation is available in BSDs, where it should be feasible to run the -Libreboot build system, in Linux, under virtualisation. +utility has been ported to OpenBSD, but *other* BSDs are assumed unsupported for +now. The `flashrom` software is available on BSD systems. Libreboot's build +system has *itself* not yet been ported to the BSDs, but you can use the +flash unlock utility. NOTE: BSD is mentioned above, but the only BSD tested for `dell-flash-unlock` is OpenBSD, as of 15 October 2023. diff --git a/site/docs/install/e6430.md b/site/docs/install/e6430.md new file mode 100644 index 0000000..1fd879c --- /dev/null +++ b/site/docs/install/e6430.md @@ -0,0 +1,174 @@ +--- +title: Flashing the Dell Latitude E6430 +x-toc-enable: true +... + +Introduction +============ + +This guide is for those who want libreboot on their Latitude E6430 while +they still have the original Dell firmware present. This guide can also be +followed (adapted) if you brick your E6430, and you want to recover it. + +**The Intel video initialisation is libre, implemented with publicly available +source code via libgfxinit, from the coreboot project.** + +Only the intel GPU variants are supported. The Nvidia GPU variants are untested +and should be assumed *broken* by default. + +Flash chip size {#flashchips} +=============== + +Use this to find out: + + flashrom -p internal + +The internal flash size is 12MiB on this board; physically, an 8MiB and 4MiB +chip (two chips) but this distinction only matters for external flashing. + +MAC address {#macaddress} +=========== + +The MAC address is part of the ROM image that you're flashing. You can change +it at any time, before or after you've flashed Libreboot; you can also change +it in the *Dell* BIOS, if you really want to. This is for the onboard gigabit +ethernet device. + +Refer to [mac\_address.md](../hardware/mac_address.md). + +It is recommended that you run *nvmutil*. See: + +[nvmutil usage manual](nvmutil.md) + +The `nvmutil` software is specifically designed for changing MAC addresses, +and it implements a few more safeguards (e.g. prevents multicast/all-zero +MAC addresses) and features (MAC address randomisation, ability to correct or +intententionally corrupt(disable) GbE sections if you wish, swap GbE parts, +etc). - **it is also the only software available for this. Please do not +use ich9gen on this board. This is an ivybridge board, not ICH9M.** + +Intel GPU: libre video initialisation available +=============================================== + +Libreboot uses coreboot's native `libgfxinit` on this platform, for +variants with Intel graphics. + +Libreboot releases after 20230625 will support this board, otherwise you can +refer to the [build instructions](../build/) + +Nvidia GPU: Video BIOS Option ROM required +========================================== + +UNSUPPORTED. DO NOT BUY THE NVIDIA VARIANT. + +Only the Intel GPU variants are supported. It is believed that the Nvidia +variants still have Intel GPUs in them, configured via hardware mux, but this +has not yet been configured or tested in the coreboot code; you should assume +that the Nvidia models do not work. + +How to flash internally (no diassembly) +======================================= + +Warning for BSD users +--------------------- + +**NOTE (15 October 2023): The util is now called `dell-flash-unlock`, but it +was previously called `e6400-flash-unlock`. Links have been updated.** + +BSD *boots* and works properly on these machines, but take note: + +Nicholas's [dell-flash-unlock](https://browse.libreboot.org/lbmk.git/plain/util/dell-flash-unlock/dell_flash_unlock.c) +utility has been ported to OpenBSD, but *other* BSDs are assumed unsupported for +now. The `flashrom` software is available on BSD systems. Libreboot's build +system has *itself* not yet been ported to the BSDs, but you can use the +flash unlock utility. + +NOTE: BSD is mentioned above, but the only BSD tested for `dell-flash-unlock` +is OpenBSD, as of 15 October 2023. + +Flashing from Linux +------------------- + +MAKE SURE you boot with this Linux kernel parameter: `iomem=relaxed` - this +disables memory protections, permitting `/dev/mem` access needed by flashrom. +The flash is memory mapped and flashrom accesses it via `/dev/mem`. + +You can flash Libreboot directly from the vendor (Dell) BIOS, without taking +the machine apart. It can be done entirely from Linux. It will probably also +work on BSD systems, but it has only been testing on Linux thus far. + +**NOTE (15 October 2023): The util is now called `dell-flash-unlock`, but it +was previously called `e6400-flash-unlock`. Links have been updated.** + +Check `util/dell-flash-unlock` in the `lbmk.git` repository, or in release +archives for Libreboot releases from 20230423 onwards. + +Go in there: + + cd util/dell-flash-unlock + make + +With this program, you can unlock the flash in such a way where everything +is writeable. Information about how to use it is in the `README.md` file which +is included in that program's directory, or you can read it online here: + +<https://browse.libreboot.org/lbmk.git/plain/util/dell-flash-unlock/README.md> + +Literally just run that program, and do what it says. You run it once, and shut +down, and when you do, the system brings itself back up automatically. Then +you run it and flash it unlocked. Then you run it again. The source code is +intuitive enough that you can easily get the gist of it; it's writing some EC +commands and changing some chipset config bits. The EC on this machine is +hooked up to the `GPIO33` signal, sometimes called `HDA_DOCK_EN`, which sets +the flash descriptor override thus disabling any flash protection by the IFD. +It also bypasses the SMM BIOS lock protection by disabling SMIs, and Dell's +BIOS doesn't set any other type of protection either such as writing to +Protected Range registers. + +When you flash it, you can use this command: + + flashrom -p internal -w libreboot.rom + +Where `libreboot.rom` is your E6430 ROM. *Make sure* it's the right one. +If flashrom complains about multiple flash chips detected, just pick one of +them (doesn't matter which one), with the `-C` flag as directed; just pick one, +and if it doesn't work, try the next. + +When you see flashrom say `VERIFIED` at the end, that means the flash was +successful. If you don't see that, or you're unsure, please [contact the +Libreboot project via IRC](../../contact.md). + +BACK UP THE FACTORY BIOS +======================== + +The `-w` option flashes `libreboot.rom`. You may consider *backing up* the +original Dell BIOS first, using the -r option: + + flashrom -p internal -r backup.rom + +AGAIN: make sure to use `-C` accordingly, if you need to pick a chip (where +flashrom has detected multiple chip definitions). Just pick one, any of them +will probably work, if not try the next. + +Do this while in a flashable state, after the 2nd run of `dell-flash-unlock`. + +Make sure the `backup.rom` file gets backed up to an external storage media, +not the E6430 itself. + +With this method, you can probably flash it within 5 minutes. Again, zero +disassembly required! + +How to flash externally +========================= + +Refer to [spi.md](spi.md) as a guide for external re-flashing. + +The SPI flash chip shares a voltage rail with the ICH9 southbridge, which is +not isolated using a diode. As a result, powering the flash chip externally +causes the ICH9 to partially power up and attempt to drive the SPI clock pin +low, which can interfere with programmers such as the Raspberry Pi. See +[RPi Drive Strength](spi.md#rpi-drive-strength) for a workaround. + +Have a look online for videos showing how to disassemble, if you wish to +externally re-flash. + diff --git a/site/docs/install/index.md b/site/docs/install/index.md index 10e0f7c..deddc02 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -310,6 +310,10 @@ the sections below: See: [Dell Latitude E6400 Libreboot Installation Guide](e6400.md) +#### DELL Latitude E6430 laptop (easy to flash, no disassembly) + +See: [Dell Latitude E6430 Libreboot Installation Guide](e6430.md) + #### ThinkPad X200/T400/T500/W500/R400/R500 vendor BIOS If you're running one of these, it cannot be flashed internally if you're still @@ -554,6 +558,11 @@ DELL Latitude E6400 laptop (easy to flash, similar to X200/T400) See: [Dell Latitude E6400 Libreboot Installation Instructions](e6400.md) +DELL Latitude E6430 laptop (easy to flash, no disassembly) +------------------------- + +See: [Dell Latitude E6430 Libreboot Installation Instructions](e6430.md) + ASUS KFSN4-DRE -------------- -- GitLab