lbwww/site/docs/install/e6400.md

105 lines
3.8 KiB
Markdown
Raw Normal View History

2023-04-19 16:45:48 +00:00
---
title: Flashing the Dell Latitude E6400
2023-04-19 16:45:48 +00:00
x-toc-enable: true
...
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/).
2023-04-19 16:45:48 +00:00
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.
Blob-free initialisation!
=========================
2023-04-19 16:45:48 +00:00
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.
2023-04-19 16:45:48 +00:00
No-microcode setup feasible
----------------------------
2023-04-19 16:45:48 +00:00
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.
2023-04-19 16:45:48 +00:00
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.
2023-04-19 16:45:48 +00:00
A note about GPUs
-----------------
2023-04-19 16:45:48 +00:00
We *believe* the dGPU models are PM45, and therefore will require a VGA
blob for initialisation. This is currently unsupported in Libreboot.
2023-04-19 16:45:48 +00:00
Models with iGPU (Intel graphics) are GM45, and fully supported in Libreboot
with native initialisation.
2023-04-19 16:45:48 +00:00
Flash chip size {#flashchips}
===============
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.
2023-04-19 16:45:48 +00:00
MAC address {#macaddress}
===========
Refer to [mac\_address.md](../hardware/mac_address.md).
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
2023-04-19 18:20:36 +00:00
is included in that program's directory, or you can read it online here:
2023-04-19 18:20:36 +00:00
<https://browse.libreboot.org/lbmk.git/plain/util/e6400-flash-unlock/README.md>
2023-04-19 16:45:48 +00:00
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.
2023-04-19 16:45:48 +00:00
With this method, you can probably flash it within 5 minutes. Again, zero
disassembly required!
2023-04-19 16:45:48 +00:00
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.