Browse Source

README: add table of contents and move flashing sections up a bit

pull/35/head
Martin Kepplinger 6 years ago
parent
commit
d3b3a3507f
1 changed files with 29 additions and 18 deletions
  1. +29
    -18
      README.md

+ 29
- 18
README.md View File

@ -20,12 +20,14 @@ That's the preferred way to use coreboot. The git revision we use is always incl
### SeaBIOS ### SeaBIOS
* version [1.11.0](https://seabios.org/Releases#SeaBIOS_1.11.0) from 2017-11-10 (part of coreboot upstream) * version [1.11.0](https://seabios.org/Releases#SeaBIOS_1.11.0) from 2017-11-10 (part of coreboot upstream)
## When do we do a release?
Either when
* There is a new SeaBIOS release,
* There is a new Intel microcode release (for our CPU model),
* There is a coreboot issue that affects us, or
* We change the config
## table of contents
* [TL;DR](#tl-dr)
* [Flashing for the first time](#flashing-for-the-first-time)
* [How to update](#how-to-update)
* [When do we do a release?](#when-do-we-do-a-release)
* [How we build](#how-we-build)
* [Why does this work](#why-does-this-work)
* [Alternatives](#alternatives)
## TL;DR ## TL;DR
Download a released image, connect your hardware SPI flasher to the "upper" Download a released image, connect your hardware SPI flasher to the "upper"
@ -38,6 +40,8 @@ Raspberry Pi. A [Bus Pirate](http://dangerousprototypes.com/docs/Bus_Pirate) wit
`buspirate_spi` or others connected to the host directly should be fine too. `buspirate_spi` or others connected to the host directly should be fine too.
## Flashing for the first time ## Flashing for the first time
Especially for the first time, you must flash externally. See below for the details
for using a Rapberry Pi, for example.
### flashrom chip config ### flashrom chip config
We use [flashrom](https://flashrom.org/) for flashing. Run `flashrom -p <your_hardware>` We use [flashrom](https://flashrom.org/) for flashing. Run `flashrom -p <your_hardware>`
@ -63,7 +67,7 @@ if it isn't. The EC cannot be upgraded when coreboot is installed. (In case a ne
version should ever be available (I doubt it), you could temporarily flash back your version should ever be available (I doubt it), you could temporarily flash back your
original Lenovo BIOS image) original Lenovo BIOS image)
### me_cleaner (optional)
### ifd unlock (necessary for internal flashing) and me_cleaner (optional)
The Intel Management Engine resides on the 8MB chip. We don't need to touch it The Intel Management Engine resides on the 8MB chip. We don't need to touch it
for coreboot-upgrades in the future, but while opening up the Thinkpad anyways, for coreboot-upgrades in the future, but while opening up the Thinkpad anyways,
we can save it and run [ifdtool](https://github.com/coreboot/coreboot/tree/master/util/ifdtool) we can save it and run [ifdtool](https://github.com/coreboot/coreboot/tree/master/util/ifdtool)
@ -91,18 +95,13 @@ the 8MB chip. It's important to keep this image somewhere safe:
diff top1.rom top2.rom diff top1.rom top2.rom
## Flashing the coreboot / SeaBIOS image
When __upgrading__ to a new version, for example when a new [SeaBIOS](https://seabios.org/Releases)
version is available, only the "upper" 4MB chip has to be written.
Download the latest release image we provide here and flash it:
flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=128 -c "MX25L3206E" -w x230_coreboot_seabios_example_top.rom
## How to update
When __upgrading__ to a new release, only the "upper" 4MB chip has to be written.
Download the latest release image we provide and flash it:
### Example: Raspberry Pi 3
## How to flash
We flash externally, using a "Pomona 5250 8-pin SOIC test clip". You'll find
Here you'll flash externally, using a "Pomona 5250 8-pin SOIC test clip". You'll find
one easily. This is how the X230's SPI connection looks on both chips: one easily. This is how the X230's SPI connection looks on both chips:
@ -116,7 +115,12 @@ one easily. This is how the X230's SPI connection looks on both chips:
Edge (closest to you) Edge (closest to you)
### Example: Raspberry Pi 3
and the flashrom command you need, looks like so:
flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=128 -c "MX25L3206E" -w x230_coreboot_seabios_example_top.rom
We run [Raspbian](https://www.raspberrypi.org/downloads/raspbian/) We run [Raspbian](https://www.raspberrypi.org/downloads/raspbian/)
and have the following setup and have the following setup
* [Serial connection](https://elinux.org/RPi_Serial_Connection) using a "USB to Serial" UART Adapter and picocom or minicom * [Serial connection](https://elinux.org/RPi_Serial_Connection) using a "USB to Serial" UART Adapter and picocom or minicom
@ -174,6 +178,13 @@ CAUTION: THIS IS NOT ENCOURAGED
* download a released 4MB "top" rom image * download a released 4MB "top" rom image
* run `prepare_internal_flashing.sh` for generating all necessary files and instructions * run `prepare_internal_flashing.sh` for generating all necessary files and instructions
## When do we do a release?
Either when
* There is a new SeaBIOS release,
* There is a new Intel microcode release (for our CPU model),
* There is a coreboot issue that affects us, or
* We change the config
## How we build ## How we build
* Everything necessary to build coreboot (while only the top 4MB are usable of course) is included here * Everything necessary to build coreboot (while only the top 4MB are usable of course) is included here
* The task of [building coreboot](https://www.coreboot.org/Build_HOWTO) is not too difficult * The task of [building coreboot](https://www.coreboot.org/Build_HOWTO) is not too difficult


Loading…
Cancel
Save