From 9f2ec6abf0acd2b959c5daf2f1867c6bbe826931 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 19 Apr 2023 19:09:55 +0100 Subject: [PATCH] fix e6400 instructions remove all the lenovo stuff just a basic stub for now. i'll let nicholas have at it later on --- site/docs/hardware/e6400.md | 70 +++++++------- site/docs/hardware/hp8200sff.md | 6 ++ site/docs/install/e6400.md | 156 ++++++++++++-------------------- 3 files changed, 104 insertions(+), 128 deletions(-) diff --git a/site/docs/hardware/e6400.md b/site/docs/hardware/e6400.md index 224daa1..7d2e20b 100644 --- a/site/docs/hardware/e6400.md +++ b/site/docs/hardware/e6400.md @@ -47,20 +47,51 @@ P*: Partially works with blobs | ***Payloads supported*** | | |---------------------------|-----------| -| **GRUB** | Works | +| **GRUB** | Not yet | | **SeaBIOS** | Works | -| **SeaBIOS with GRUB** | Works | +| **SeaBIOS with GRUB** | Not yet | Introduction ============ -It is believed that all or most laptops of the model T400 are compatible. See notes -about [CPU -compatibility](../install/t400_external.html#cpu_compatibility) for -potential incompatibilities. +ROM images for Dell Latitude E6400 will be available in the next Libreboot +release after 20230413, or you can compile a ROM image for installation via +lbmk, see: [build instructions](../build/) + +We believe all models with iGPU are GM45 and will work perfectly. We suspect +that the dGPU models are PM45 and won't work yet, because Libreboot currently +supports just the iGPU (Intel graphics) on these machines. There are two possible flash chip sizes for the E6400: 4MiB (32Mbit) or -2+4MiB (64Mbit). +2+4MiB (64Mbit). Libreboot presently supports the 4MiB version, and provides +8MiB images for those who upgrade their flash to 8MiB or 16MiB. + +Most people will want to use the 4MiB images. + +SeaBIOS-only +------------ + +At the time of publishing this port, keyboard initialisation is +broken in the GRUB payload (it *works fine* in BIOS GRUB, loaded +from SeaBIOS, but not *coreboot* GRUB provided by Libreboot - see +build targets `i386-coreboot` and `i386-pc` in GRUB). + +This is being investigated. For the time being, SeaBIOS payload works +very well and it is provided by Libreboot. + +Blob-free setup (no-ME possible) +--------------- + +This is a GM45/PM45 platform, so completely libre initialisation in +coreboot is possible, provided by default in Libreboot. + +Management Engine (ME) firmware removed +------------------------- + +This port in Libreboot makes use of `ich9gen` from ich9utils, which +you can read about in the [ich9utils manual](../install/ich9utils.md) - this +creates a no-ME setup. The Intel Management Engine firmware (ME) is completely +removed, and the ME disabled, just like on ThinkPad X200, T400 and so on. *The E6400 laptops may come with the ME (and sometimes AMT in addition) before flashing libreboot. Dell also sold configurations with the ME completely @@ -70,28 +101,3 @@ region almost entirely to 1's, with the occasional 32-bit value (likely not executable). libreboot disables and removes it by using a modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)* (contains notes, plus instructions) - -Flashing instructions can be found at -[../install/\#flashrom](../install/#flashrom) - -EC update {#ecupdate} -========= - -It is recommended that you update to the latest EC firmware version. The -[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from -libreboot, so we don't actually provide that, but if you still have -Lenovo BIOS then you can just run the Lenovo BIOS update utility, which -will update both the BIOS and EC version. See: - -- [../install/#flashrom](../install/#flashrom) -- - -NOTE: this can only be done when you are using Lenovo BIOS. How to -update the EC firmware while running libreboot is unknown. libreboot -only replaces the BIOS firmware, not EC. - -Updated EC firmware has several advantages e.g. bettery battery -handling. - -The T400 is almost identical to the X200, code-wise. See -[x200.md](x200.md). diff --git a/site/docs/hardware/hp8200sff.md b/site/docs/hardware/hp8200sff.md index 7458466..495fb1c 100644 --- a/site/docs/hardware/hp8200sff.md +++ b/site/docs/hardware/hp8200sff.md @@ -22,6 +22,12 @@ Here's the [Technical Reference Manual](https://web.archive.org/web/201601091432 Installation of Libreboot ------------------------- +TODO: this patch is now in coreboot gerrit:\ +\ +(more notes about internal flashing)\ +also:\ + - see notes about 8300 + You can actually just compile the Libreboot ROM for this, and flash the entire ROM, then flash it. The *coreboot* project proper, has information about this: diff --git a/site/docs/install/e6400.md b/site/docs/install/e6400.md index af45ee8..9dc4372 100644 --- a/site/docs/install/e6400.md +++ b/site/docs/install/e6400.md @@ -1,65 +1,45 @@ --- -title: Flashing the Latitude E6400 +title: Flashing the Dell Latitude E6400 x-toc-enable: true ... -Initial flashing instructions for the E6400. +Introduction +============ + +Initial flashing instructions for the E6400. ROM images for this board will be +available in Libreboot releases *after* Libreboot 20230413, or you can [build +ROM images from source via lbmk](../build/). This guide is for those who want libreboot on their Latitude E6400 while they still have the original Dell BIOS present. This guide can also be followed (adapted) if you brick your E6400, to know how to recover. -A -["HMM"](https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/43y6629_05.pdf#page=386) -(Hardware Maintenance Manual) detailing the process of [dis]assembly -is available for this model. Be careful when reassembling the laptop as -the screws on page 114 (with title "1130 Keyboard bezel") are swapped -and if you follow the HMM you will punch a hole through the bezel in the -upper right corner. +Blob-free initialisation! +========================= -Serial port {#serial_port} ------------ +This board can boot entirely blob-free in the flash. The hardware is similar +to that of ThinkPad X200, T400 etc where no-ME setup is possible. -EHCI debug might not be needed. It has been reported that the docking -station for this laptop has a serial port, so it might be possible to -use that instead. +No-microcode setup feasible +---------------------------- -A note about CPUs -================= - -[ThinkWiki](http://www.thinkwiki.org/wiki/Category:T400) has a list of -CPUs for this system. The Core 2 Duo P8400, P8600 and P8700 are believed -to work in libreboot. - -T9600, T9500, T9550 and T9900 are all compatible, as reported by users. - -Quad-core CPUs --------------- - -Very likely to be compatible, but requires hardware modification. -Based on info from German forum post about installing Core Quad CPU on T500 found in coreboot mailing list. Currently work in progress and no guide available. - -- [Coreboot mailing list post](https://mail.coreboot.org/pipermail/coreboot/2016-November/082463.html) -- [German forum post about install Core Quad on T500](https://thinkpad-forum.de/threads/199129) +The +[microcode bugfixes/mitigations added for GM45](../../news/gm45microcode.md) +are also applicable to this board, for users who are interested. Read that +article for more information. +Libreboot still recommends that boot with CPU microcode updates, by default, +for all the reasons described by Libreboot's [Binary Blobs Reductions +Policy](../../news/policy.md) but this board run reasonably well without them. A note about GPUs -================= +----------------- -Some models have an Intel GPU, while others have both an ATI and an -Intel GPU; this is referred to as "switchable graphics". In the *BIOS -setup* program for lenovobios, you can specify that the system will use -one or the other (but not both). +We *believe* the dGPU models are PM45, and therefore will require a VGA +blob for initialisation. This is currently unsupported in Libreboot. -libreboot is known to work on systems with only the Intel GPU, using -native graphics initialization. On systems with switchable graphics, the -Intel GPU is used and the ATI GPU is disabled, so native graphics -initialization works all the same. - -CPU paste required -================== - -See [\#paste](#paste). +Models with iGPU (Intel graphics) are GM45, and fully supported in Libreboot +with native initialisation. Flash chip size {#flashchips} =============== @@ -68,15 +48,46 @@ Use this to find out: flashrom -p internal +We believe most/all are 4MB (32Mb) flash sizes, but larger ROM images are +provided for people who wish to upgrade. + MAC address {#macaddress} =========== Refer to [mac\_address.md](../hardware/mac_address.md). -How to flash internally -======================== +How to flash internally (no diassembly) +======================================= +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. +Check `util/e6400-flash-unlock` in the `lbmk.git` repository, or in release +archives for Libreboot releases *after* 20230413. + +Go in there: + + cd util/e6400-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 only here: + + + +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. 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 - Dell's BIOS doesn't set any +other type of protection either, such as writing to Protected Range registers. + +With this method, you can probably flash it within 5 minutes. Again, zero +disassembly required! How to flash externally ========================= @@ -89,52 +100,5 @@ 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. -The procedure -------------- - -Thermal paste (IMPORTANT) -========================= - -Because part of this procedure involved removing the heatsink, you will -need to apply new paste. Arctic MX-4 is ok. You will also need isopropyl -alcohol and an anti-static cloth to clean with. - -When re-installing the heatsink, you must first clean off all old paste -with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much -better than the default paste used on these systems. - -![](https://av.libreboot.org/t400/paste.jpg) - -NOTE: the photo above is for illustration purposes only, and does not -show how to properly apply the thermal paste. Other guides online detail -the proper application procedure. - -Memory -====== - -In DDR3 machines with Cantiga (GM45/GS45/PM45), northbridge requires sticks -that will work as PC3-8500 (faster PC3/PC3L sticks can work as PC3-8500). -Non-matching pairs may not work. Single module (meaning, one of the slots -will be empty) will currently only work in slot 0. - -NOTE: according to users reports, non matching pairs (e.g. 1+2 GiB) might -work in some cases. - -Make sure that the RAM you buy is the 2Rx8 configuration when buying 4GiB sticks -(In other words: maximum of 2GiB per rank, 2 ranks per card). - -[This page](http://www.forum.thinkpads.com/viewtopic.php?p=760721) might -be useful for RAM compatibility info (note: coreboot raminit is -different, so this page might be BS) - -The following photo shows 8GiB (2x4GiB) of RAM installed:\ -![](https://av.libreboot.org/t400/memory.jpg) - -Boot it! --------- - -You should see something like this: - -![](https://av.libreboot.org/t400/boot0.jpg) ![](https://av.libreboot.org/t400/boot1.jpg) - -Now [install Linux](../linux/). +Have a look online for videos showing how to disassemble, if you wish to +externally re-flash.