aboutsummaryrefslogtreecommitdiff
path: root/docs/install
diff options
context:
space:
mode:
Diffstat (limited to 'docs/install')
-rw-r--r--docs/install/bbb_setup.md92
-rw-r--r--docs/install/c201.md107
-rw-r--r--docs/install/d510mo.md3
-rw-r--r--docs/install/d945gclf.md2
-rw-r--r--docs/install/ga-g41m-es2l.md17
-rw-r--r--docs/install/images/x200/disassembly/0006.1.jpgbin0 -> 32364 bytes
-rw-r--r--docs/install/index.md163
-rw-r--r--docs/install/kcma-d8.md14
-rw-r--r--docs/install/kgpe-d16.md16
-rw-r--r--docs/install/r400_external.md58
-rw-r--r--docs/install/rpi_setup.md130
-rw-r--r--docs/install/t400_external.md55
-rw-r--r--docs/install/t500_external.md49
-rw-r--r--docs/install/t60_unbrick.md39
-rw-r--r--docs/install/x200_external.md138
-rw-r--r--docs/install/x60_unbrick.md29
-rw-r--r--docs/install/x60tablet_unbrick.md29
17 files changed, 452 insertions, 489 deletions
diff --git a/docs/install/bbb_setup.md b/docs/install/bbb_setup.md
index 1182bb16..18f0c7be 100644
--- a/docs/install/bbb_setup.md
+++ b/docs/install/bbb_setup.md
@@ -8,15 +8,15 @@ flash chip with the BeagleBone Black, using the
rev. C was used when creating this guide, but earlier revisions may also
work.
-**NOTE: this documentation may be outdated, and discusses configuring
+*NOTE: this documentation may be outdated, and discusses configuring
SPI flashing on the default Debian system that the BBB sometimes comes
with. If you want an easier time, just use [BBB
ScrewDriver](https://www.coreboot.org/BBB_screwdriver) which comes
-pre-configured.**
+pre-configured.*
-**This guide is written for Debian Wheezy 7.5, which is what came on the
+*This guide is written for Debian Wheezy 7.5, which is what came on the
BBB at the time this guide was written. This one:
-<https://debian.beagleboard.org/images/bone-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz>**
+<https://debian.beagleboard.org/images/bone-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz>*
There was no justification for a further section for the Teensy. Simply
refer to [this page on
@@ -28,7 +28,7 @@ flashing on the ThinkPad X200, but it should work for other targets.
here is a photo of the setup for the teensy:
<http://h5ai.swiftgeek.net/IMG_20160601_120855.jpg>
-Onto the Beaglebone black\...
+Onto the Beaglebone black...
Hardware requirements
=====================
@@ -36,7 +36,7 @@ Hardware requirements
Shopping list (pictures of this hardware is shown later):
- A [Flashrom](http://flashrom.org)-compatible external SPI
- programmer: **BeagleBone Black**, sometimes referred to as 'BBB',
+ programmer: *BeagleBone Black*, sometimes referred to as 'BBB',
(rev. C) is highly recommended. You can buy one from
[Adafruit](https://www.adafruit.com) (USA),
[ElectroKit](http://electrokit.com) (Sweden) or any of the
@@ -52,30 +52,30 @@ Shopping list (pictures of this hardware is shown later):
bottom half of a [hammond plastic
enclosure](http://www.hammondmfg.com/1593HAM.htm#BeagleBoneBlack).
- Clip for connecting to the flash chip: if you have a SOIC-16 flash
- chip (16 pins), you will need the **Pomona 5252** or equivalent. For
- SOIC-8 flash chips (8 pins), you will need the **Pomona 5250** or
+ chip (16 pins), you will need the *Pomona 5252* or equivalent. For
+ SOIC-8 flash chips (8 pins), you will need the *Pomona 5250* or
equivalent. Do check which chip you have, before ordering a clip.
Also, you might as well buy two clips or more since they break
easily. [Farnell element 14](http://farnell.com/) sells these and
ships to many countries. Some people find these clips difficult to
get hold of, especially in South America. If you know of any good
suppliers, please contact the libreboot project with the relevant
- information. **If you can't get hold of a pomona clip, some other
+ information. *If you can't get hold of a pomona clip, some other
clips might work, e.g. 3M, but they are not always reliable. You can
also directly solder the wires to the chip, if that suits you; the
- clip is just for convenience, really.**
-- **External 3.3V DC power supply**, for powering the flash chip: an
+ clip is just for convenience, really.*
+- *External 3.3V DC power supply*, for powering the flash chip: an
ATX power supply / PSU (common on Intel/AMD desktop computers) will
work for this. A lab PSU (DC) will also work (adjusted to 3.3V).
- Getting a multimeter might be worthwhile, to verify that it's
supplying 3.3V.
-- **External 5V DC power supply** (barrel connector), for powering the
+- *External 5V DC power supply* (barrel connector), for powering the
BBB: the latter can have power supplied via USB, but a dedicated
power supply is recommended. These should be easy to find in most
- places that sell electronics. **OPTIONAL. Only needed if not
+ places that sell electronics. OPTIONAL. Only needed if not
powering with the USB cable, or if you want to use [EHCI
- debug](../misc/bbb_ehci.md)**.
-- **Pin header / jumper cables** (2.54mm / 0.1" headers): you should
+ debug](../misc/bbb_ehci.md).
+- *Pin header / jumper cables* (2.54mm / 0.1" headers): you should
get male--male, male--female and female--female cables in 10cm
size. Just get a load of them. Other possible names for these
cables/wires/leads are as follows:
@@ -84,20 +84,20 @@ Shopping list (pictures of this hardware is shown later):
- You might also be able to make these cables yourself.
[Adafruit](https://www.adafruit.com) sell them, as do many others.
- **Some people find them difficult to buy. Please contact the
- libreboot project if you know of any good sellers.** You might also
+ *Some people find them difficult to buy. Please contact the
+ libreboot project if you know of any good sellers.* You might also
be able to make these cables yourself. For PSU connections, using
long cables, e.g. 20cm, is fine, and you can extend them longer than
that if needed.
-- **Mini USB A-B cable** (the BeagleBone probably already comes with
- one.) - **OPTIONAL - only needed for [EHCI
+- *Mini USB A-B cable* (the BeagleBone probably already comes with
+ one.) - *OPTIONAL - only needed for [EHCI
debug](../misc/bbb_ehci.md) or for serial/ssh access without
- ethernet cable (g\_multi kernel module)**
-- **FTDI TTL cable or debug board**: used for accessing the serial
+ ethernet cable (g\_multi kernel module)*
+- *FTDI TTL cable or debug board*: used for accessing the serial
console on the BBB. [This
page](http://elinux.org/Beagleboard:BeagleBone_Black_Serial)
- contains a list. **OPTIONAL\---only needed for serial console on
- the BBB, if not using SSH via ethernet cable.**
+ contains a list. *OPTIONAL\---only needed for serial console on
+ the BBB, if not using SSH via ethernet cable.*
Setting up the 3.3V DC PSU
==========================
@@ -112,13 +112,13 @@ Short PS\_ON\# / Power on (green wire; pin 16 on 24-pin ATX PSU, or pin
it) using a wire/paperclip/jumper, then power on the PSU by grounding
PS\_ON\# (this is also how an ATX motherboard turns on a PSU).
-**DO \*\*NOT\*\* use pin 4, 6, do \*\*NOT\*\* use pin 19 or 20 (on a
-20-pin ATX PSU), and DO \*\*NOT\*\* use pin 21, 22 or 23 (on a 24-pin
-ATX PSU). Those wires (the red ones) are 5V, and they \*\*WILL\*\* kill
-your flash chip. \*\*\*NEVER\*\*\* supply more than 3.3V to your flash
+*DO NOT use pin 4, 6, do NOT use pin 19 or 20 (on a
+20-pin ATX PSU), and DO NOT use pin 21, 22 or 23 (on a 24-pin
+ATX PSU). Those wires (the red ones) are 5V, and they WILL kill
+your flash chip. NEVER supply more than 3.3V to your flash
chip (that is, if it's a 3.3V flash chip; 5V and 1.8V SPI flash chips
do exist, but they are rare. Always check what voltage your chip takes.
-Most of them take 3.3V).**
+Most of them take 3.3V).*
You only need one 3.3V supply and one ground for the flash chip, after
grounding PS\_ON\#.
@@ -150,12 +150,14 @@ Alternatives to SSH (in case SSH fails)
You can also use a serial FTDI debug board with GNU Screen, to access
the serial console.
# screen /dev/ttyUSB0 115200
+
Here are some example photos:\
![](images/x200/ftdi.jpg) ![](images/x200/ftdi_port.jpg)\
You can also connect the USB cable from the BBB to another computer and
a new network interface will appear, with its own IP address. This is
directly accessible from SSH, or screen:
+
# screen /dev/ttyACM0 115200
You can also access the uboot console, using the serial method instead
@@ -197,19 +199,21 @@ contents of this file with:
/usr/bin/led_acc &
fi
-Run **apt-get update** and **apt-get upgrade** then reboot the BBB,
+Run `apt-get update` and `apt-get upgrade` then reboot the BBB,
before continuing.
Check that the firmware exists:
- # ls /lib/firmware/BB-SPI0-01-00A0.\*
+ # ls /lib/firmware/BB-SPI0-01-00A0.
+
Output:
/lib/firmware/BB-SPI0-01-00A0.dtbo
Then:
- # echo BB-SPI0-01 > /sys/devices/bone\_capemgr.\*/slots
- # cat /sys/devices/bone\_capemgr.\*/slots
+ # echo BB-SPI0-01 > /sys/devices/bone_capemgr./slots
+ # cat /sys/devices/bone_capemgr./slots
+
Output:
0: 54:PF---
@@ -222,15 +226,16 @@ Output:
Verify that the spidev device now exists:
- # ls -al /dev/spid\*
+ # ls -al /dev/spid
+
Output:
crw-rw---T 1 root spi 153, 0 Nov 19 21:07 /dev/spidev1.0
Now the BBB is ready to be used for flashing. Make this persist across
reboots:\
-In /etc/default/capemgr add **CAPE=BB-SPI0-01** at the end (or change
-the existing **CAPE=** entry to say that, if an entry already exists.
+In /etc/default/capemgr add `CAPE=BB-SPI0-01` at the end (or change
+the existing `CAPE=` entry to say that, if an entry already exists.
Get flashrom from the libreboot\_util release archive, or build it from
libreboot\_src/git if you need to. An ARM binary (statically compiled)
@@ -246,7 +251,8 @@ your BBB.
Now test flashrom:
- # ./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
+
Output:
Calibrating delay loop... OK.
@@ -311,18 +317,18 @@ for SOIC-8 (clip: Pomona 5250):
WP 3-6 SCK
GND 4-5 MOSI
-**NC = no connection**
+`NC = no connection`
-**DO NOT connect 3.3V (PSU) yet. ONLY connect this once the pomona is
-connected to the flash chip.**
+*DO NOT connect 3.3V (PSU) yet. ONLY connect this once the pomona is
+connected to the flash chip.*
-**You also need to connect the BLACK wire (ground/earth) from the 3.3V
+*You also need to connect the BLACK wire (ground/earth) from the 3.3V
PSU to pin 2 on the BBB (P9 header). It is safe to install this now
(that is, before you connect the pomona to the flash chip); in fact, you
-should.**
+should.*
if you need to extend the 3.3v psu leads, just use the same colour M-F
-leads, **but** keep all other leads short (10cm or less)
+leads, *but* keep all other leads short (10cm or less)
You should now have something that looks like this:\
![](images/x200/5252_bbb0.jpg) ![](images/x200/5252_bbb1.jpg)
@@ -331,8 +337,6 @@ Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
Copyright © 2015 Patrick "P. J." McDermott <pj@pehjota.net>\
Copyright © 2015 Albin Söderqvist\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/c201.md b/docs/install/c201.md
index 2e1d23b8..4bb0583b 100644
--- a/docs/install/c201.md
+++ b/docs/install/c201.md
@@ -1,5 +1,6 @@
---
title: ASUS Chromebook C201 installation guide
+x-toc-enable: true
...
These instructions are for installing Libreboot to the ASUS Chromebook
@@ -7,44 +8,32 @@ C201. Since the device ships with Coreboot, the installation
instructions are the same before and after flashing Libreboot for the
first time.
-**If you are using libreboot\_src or git, then make sure that you built
-the sources first (see [../git/\#build](../git/#build)).**
+*If you are using libreboot\_src or git, then make sure that you built
+the sources first (see [../git/\#build](../git/#build)).*
Look at the [list of ROM images](#rom) to see which image is compatible
with your device.
Libreboot can be installed internally from the device, with sufficient
-privileges. The installation process requires using **Google's modified
-version of flashrom**, that has support for reflashing the Chromebook's
+privileges. The installation process requires using *Google's modified
+version of flashrom*, that has support for reflashing the Chromebook's
SPI flash. Otherwise, flashing externally will work with the upstream
flashrom version.
-**Google's modified version of flashrom** is free software and its
+*Google's modified version of flashrom* is free software and its
source code is made available by Google:
[flashrom](https://chromium.googlesource.com/chromiumos/third_party/flashrom/).\
It is not distributed along with Libreboot yet. However, it is
preinstalled on the device, with ChromeOS.
-Installing Libreboot internally requires sufficient privileges on the
-system installed on the device.\
-When the device has ChromeOS installed (as it does initially), it is
-necessary to gain root privileges in ChromeOS, to be able to access a
-root shell.
-
-- [Gaining root privileges on ChromeOS](#root_chromeos)
-- [Preparing the device for the installation](#preparing_device)
- - [Configuring verified boot
- parameters](#configuring_verified_boot_parameters)
- - [Removing the write protect
- screw](#removing_write_protect_screw)
-- [Installing Libreboot to the SPI flash]()
- - [Installing Libreboot internally, from the
- device](#installing_libreboot_internally)
- - [Installing Libreboot externally, with a SPI flash
- programmer](#installing_libreboot_externally)
-- [Debian GNU+Linux is recommended for this device](#debian)
+Installing Libreboot internally requires sufficient privileges on the system
+installed on the device. When the device has ChromeOS installed (as it does
+initially), it is necessary to gain root privileges in ChromeOS, to be able to
+access a root shell.
Gaining root privileges on ChromeOS
+--------------------------------
+
In order to gain root privileges on ChromeOS, developer mode has to be
enabled from the recovery mode screen and debugging features have to be
enabled in ChromeOS.
@@ -57,25 +46,25 @@ dedicated to [depthcharge](../depthcharge/).
Once developer mode is enabled, the device will boot to the [developer
mode screen](../depthcharge/#developer_mode_screen). ChromeOS can be
booted by waiting for 30 seconds (the delay is shortened in Libreboot)
-or by pressing **Ctrl + D**
+or by pressing *Ctrl + D*
After the system has booted, root access can be enabled by clicking on
-the **Enable debugging features** link. A confirmation dialog will ask
+the *Enable debugging features* link. A confirmation dialog will ask
whether to proceed.\
-After confirming by clicking **Proceed**, the device will reboot and ask
+After confirming by clicking *Proceed*, the device will reboot and ask
for the root password to set. Finally, the operation has to be confirmed
-by clicking **Enable**.
+by clicking *Enable*.
After setting the root password, it becomes possible to log-in as root.
-A tty prompt can be obtained by pressing **Ctrl + Alt + Next**. The
-**Next** key is the one on the top left of the keyboard.
+A tty prompt can be obtained by pressing *Ctrl + Alt + Next*. The
+*Next* key is the one on the top left of the keyboard.
Preparing the device for the installation
Before installing Libreboot on the device, both its software and
hardware has to be prepared to allow the installation procedure and to
ensure that security features don't get in the way.
-Configuring verified boot parameters {#configuring_verified_boot_parameters}
+Configuring verified boot parameters
------------------------------------
It is recommended to have access to the [developer mode
@@ -89,7 +78,7 @@ parameters](../depthcharge/#configuring_verified_boot_parameters):
Those changes can be reverted later, when the device is known to be in a
working state.
-Removing the write protect screw {#removing_write_protect_screw}
+Removing the write protect screw
--------------------------------
Since part of the SPI flash is write-protected by a screw, it is
@@ -99,8 +88,8 @@ writing Libreboot to the *read-only* part of the flash.
To access the screw, the device has to be opened. There are 8 screws to
remove from the bottom of the device, as shown on the picture below. Two
are hidden under the top pads. After removing the screws, the keyboard
-plastic part can be carefully detached from the rest. **Beware: there
-are cables attached to it!** It is advised to flip the keyboard plastic
+plastic part can be carefully detached from the rest. *Beware: there
+are cables attached to it!* It is advised to flip the keyboard plastic
part over, as shown on the picture below. The write protect screw is
located next to the SPI flash chip, circled in red in the picture below.
It has to be removed.
@@ -111,7 +100,7 @@ screw](images/c201/wp-screw.jpg)](images/c201/wp-screw.jpg)
The write protect screw can be put back in place later, when the device
is known to be in a working state.
-Installing Libreboot to the SPI flash {#installing_libreboot_spi_flash}
+Installing Libreboot to the SPI flash
=====================================
The SPI flash (that holds Libreboot) is divided into various partitions
@@ -119,28 +108,32 @@ that are used to implement parts of the CrOS security system. Libreboot
is installed in the *read-only* coreboot partition, that becomes
writable after removing the write-protect screw.
-Installing Libreboot internally, from the device {#installing_libreboot_internally}
+Installing Libreboot internally, from the device
------------------------------------------------
Before installing Libreboot to the SPI flash internally, the device has
to be reassembled.
-All the files from the **veyron\_speedy** release (or build) have to be
+All the files from the `veyron_speedy` release (or build) have to be
transferred to the device.
The following operations have to be executed with root privileges on the
-device (e.g. using the *root* account). In addition, the
-**cros-flash-replace** script has to be made executable:
+device (e.g. using the `root` account). In addition, the
+`cros-flash-replace` script has to be made executable:
+
# chmod a+x cros-flash-replace
The SPI flash has to be read first:
- # flashrom -p host -r flash.img\
-**Note: it might be a good idea to copy the produced flash.img file at
-this point and store it outside of the device for backup purposes.**
-Then, the **cros-flash-replace** script has to be executed as such:
+ # flashrom -p host -r flash.img
+
+*Note: it might be a good idea to copy the produced flash.img file at
+this point and store it outside of the device for backup purposes.*
+
+Then, the `cros-flash-replace` script has to be executed as such:
# ./cros-flash-replace flash.img coreboot ro-frid
+
If any error is shown, it is definitely a bad idea to go further than
this point.
@@ -148,12 +141,13 @@ The resulting flash image can then be flashed back:
# flashrom -p host -w flash.img
-You should also see within the output the following:\
-**"Verifying flash\... VERIFIED."**
+You should also see within the output the following:
+
+ Verifying flash... VERIFIED.
Shut down. The device will now boot to Libreboot.
-Installing Libreboot externally, with a SPI flash programmer {#installing_libreboot_externally}
+Installing Libreboot externally, with a SPI flash programmer
------------------------------------------------------------
Before installing Libreboot to the SPI flash internally, the device has
@@ -161,7 +155,7 @@ to be opened.
The SPI flash is located next to the write protect screw. Its layout is
indicated in the picture below. Note that it is not necessary to connect
-**WP\#** since removing the screw already connects it to ground. Before
+`WP#` since removing the screw already connects it to ground. Before
writing to the chip externally, the battery connector has to be
detached. It is located under the heat spreader, that has to be
unscrewed from the rest of the case. The battery connector is located on
@@ -172,24 +166,26 @@ layout](images/c201/spi-flash-layout.jpg)](images/c201/spi-flash-layout.jpg)
[![Battery
connector](images/c201/battery-connector.jpg)](images/c201/battery-connector.jpg)
-All the files from the **veyron\_speedy** release (or build) have to be
+All the files from the `veyron_speedy` release (or build) have to be
transferred to the host.
The following operations have to be executed with root privileges on the
-host (e.g. using the *root* account). In addition, the
-**cros-flash-replace** script has to be made executable:
+host (e.g. using the `root` account). In addition, the
+`cros-flash-replace` script has to be made executable:
# chmod a+x cros-flash-replace
The SPI flash has to be read first (using the right spi programmer):
# flashrom -p *programmer* -r flash.img
-**Note: it might be a good idea to copy the produced flash.img file at
-this point and store it outside of the device for backup purposes.**
-Then, the **cros-flash-replace** script has to be executed as such:
+*Note: it might be a good idea to copy the produced flash.img file at
+this point and store it outside of the device for backup purposes.*
+
+Then, the `cros-flash-replace` script has to be executed as such:
# ./cros-flash-replace flash.img coreboot ro-frid
+
If any error is shown, it is definitely a bad idea to go further than
this point.
@@ -198,8 +194,9 @@ programmer):
# flashrom -p *programmer* -w flash.img
-You should also see within the output the following:\
-**"Verifying flash\... VERIFIED."**
+You should also see within the output the following:
+
+ Verifying flash... VERIFIED.
The device will now boot to Libreboot.
@@ -211,8 +208,6 @@ See <https://wiki.debian.org/InstallingDebianOn/Asus/C201>.
Copyright © 2015 Paul Kocialkowski <contact@paulk.fr>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/d510mo.md b/docs/install/d510mo.md
index 818b5464..4a03c29c 100644
--- a/docs/install/d510mo.md
+++ b/docs/install/d510mo.md
@@ -9,6 +9,7 @@ Flash chip size {#flashchips}
===============
Use this to find out:
+
# flashrom -p internal -V
Flashing instructions {#clip}
@@ -22,8 +23,6 @@ This is an image of the flash chip, for reference:\
Copyright © 2016 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/d945gclf.md b/docs/install/d945gclf.md
index 4a87b1c3..ddb52a64 100644
--- a/docs/install/d945gclf.md
+++ b/docs/install/d945gclf.md
@@ -19,8 +19,6 @@ Here is an image of the flash chip:\
Copyright © 2016 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/ga-g41m-es2l.md b/docs/install/ga-g41m-es2l.md
index a11364ed..0330c076 100644
--- a/docs/install/ga-g41m-es2l.md
+++ b/docs/install/ga-g41m-es2l.md
@@ -9,17 +9,18 @@ Flash chip size {#flashchips}
===============
Use this to find out:
+
# flashrom -p internal -V
Flashing instructions {#clip}
=====================
Refer to [bbb\_setup.md](bbb_setup.md) for how to set up the BBB for
-external flashing. **You can only externally reprogram one of the chips
+external flashing. *You can only externally reprogram one of the chips
at a time, and you need to disable the chip that you're not flashing,
by connecting 3v3 to /CS of that chip, so you will actually need 2 test
clips (you also need to connect GND on the chip that you're
-disabling).**
+disabling).*
Here is an image of the flash chip:\
![](../images/ga-g41m-es2l/ga-g41m-es2l.jpg)
@@ -27,11 +28,13 @@ Here is an image of the flash chip:\
Internal flashing is possible. Boot with the proprietary BIOS and
GNU+Linux. There are 2 flash chips (one is backup).
-Flash the first chip:\
-**./flashrom -p internal:dualbiosindex=0 -w libreboot.rom**
+Flash the first chip:
+
+ ./flashrom -p internal:dualbiosindex=0 -w libreboot.rom
+
+Flash the second chip:
-Flash the second chip:\
-**./flashrom -p internal:dualbiosindex=1 -w libreboot.rom**
+ ./flashrom -p internal:dualbiosindex=1 -w libreboot.rom
NOTE: you can still boot the system with just the main flash chip
connected, after desoldering the backup chip. This has been tested while
@@ -46,8 +49,6 @@ operating system.
Copyright © 2016 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/images/x200/disassembly/0006.1.jpg b/docs/install/images/x200/disassembly/0006.1.jpg
new file mode 100644
index 00000000..1888012b
--- /dev/null
+++ b/docs/install/images/x200/disassembly/0006.1.jpg
Binary files differ
diff --git a/docs/install/index.md b/docs/install/index.md
index 4bd14cf1..70dd554e 100644
--- a/docs/install/index.md
+++ b/docs/install/index.md
@@ -4,10 +4,10 @@ title: Installation instructions
This section relates to installing Libreboot on supported targets.
-**NOTE: if running flashrom -p internal for software based flashing, and
-you get an error related to /dev/mem access, you should reboot with
-iomem=relaxed kernel parameter before running flashrom, or use a kernel
-that has CONFIG\_STRICT\_DEVMEM not enabled.**
+NOTE: if running `flashrom -p internal` for software based flashing, and you
+get an error related to `/dev/mem` access, you should reboot with
+`iomem=relaxed` kernel parameter before running flashrom, or use a kernel that
+has `CONFIG_STRICT_DEVMEM` not enabled.
Which systems are Libreboot compatible with?
--------------------------------------------
@@ -28,14 +28,11 @@ Flashing via software methods, on system:
- [Apple MacBook2,1](#flashrom_macbook21)
- [ASUS Chromebook C201](c201.md)
-Setting up programmers, for external flashing via hardware method
+Setting up programmers, for external SPI flashing
-----------------------------------------------------------------
-- [How to program an SPI flash chip with the BeagleBone
- Black](bbb_setup.md)
-
-- [How to program an SPI flash chip with the Raspberry
- Pi](rpi_setup.md)
+- [BeagleBone Black Setup](bbb_setup.md)
+- [Raspberry Pi Setup](rpi_setup.md)
Flashing via hardware methods, on system:
-----------------------------------------
@@ -63,15 +60,14 @@ source code. These images are provided for user convenience, so that
they don't have to build anything from source on their own.
The ROM images in each archive use the following at the end of the file
-name, if they are built with the GRUB payload:
-**\_*keymap*\_*mode*.rom**
+name, if they are built with the GRUB payload: `*_*keymap*_*mode*.rom`
-Available *modes*: **vesafb** or **txtmode**. The *vesafb* ROM images
-are recommended, in most cases; *txtmode* ROM images come with
+Available `modes`: `vesafb` or `txtmode`. The `vesafb` ROM images
+are recommended, in most cases; `txtmode` ROM images come with
MemTest86+, which requires text-mode instead of the usual framebuffer
used by coreboot native graphics initialization.
-*keymap* can be one of several keymaps that keyboard supports (there are
+`keymap` can be one of several keymaps that keyboard supports (there are
quite a few), which affects the keyboard layout configuration that is
used in GRUB. It doesn't matter which ROM image you choose here, as far
as the keymap in GNU+Linux is concerned.
@@ -87,12 +83,10 @@ Libreboot comes with ROM images built for QEMU, by default:
Examples of how to use libreboot ROM images in QEMU:
-- \$ **qemu-system-i386 -M q35 -m 512 -bios
- qemu\_q35\_ich9\_keymap\_mode.rom**
-- \$ **qemu-system-i386 -M pc -m 512 -bios
- qemu\_i440fx\_piix4\_keymap\_mode.rom**
+ $ qemu-system-i386 -M q35 -m 512 -bios qemu_q35_ich9_keymap_mode.rom
+ $ qemu-system-i386 -M pc -m 512 -bios qemu_i440fx_piix4_keymap_mode.rom
-You can optionally specify the **-serial stdio** argument, so that QEMU
+You can optionally specify the `-serial stdio` argument, so that QEMU
will emulate a serial terminal on the standard input/output (most likely
your terminal emulator or TTY).
@@ -108,8 +102,8 @@ any dedicated hardware. In other words, you can do everything entirely
in software, directly from the OS that is running on your libreboot
system.
-**If you are using libreboot\_src or git, then make sure that you built
-the sources first (see [../git/\#build](../git/#build)).**
+*If you are using `libreboot_src` or git, then make sure that you built the
+sources first (see [../git/\#build](../git/#build)).*
Look at the [list of ROM images](#rom) to see which image is compatible
with your device.
@@ -149,9 +143,9 @@ now have a backup of the old image).
Keeping at least one spare LPC PLCC chip with working firmware on it is
highly recommended, in case of bricks.
-**DO NOT hot-swap the chip with your bare hands. Use a PLCC chip
+*DO NOT hot-swap the chip with your bare hands. Use a PLCC chip
extractor. These can be found online. See
-<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>**
+<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>*
Do check the HCL entry: [../hardware/kfsn4-dre.md](../hardware/kfsn4-dre.md)
@@ -165,9 +159,9 @@ If you already have coreboot or libreboot installed, without write
protection on the flash chip, then you can do it in software (otherwise,
see link above).
-**DO NOT hot-swap the chip with your bare hands. Use a PDIP-8 chip
+*DO NOT hot-swap the chip with your bare hands. Use a PDIP-8 chip
extractor. These can be found online. See
-<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>**
+<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>*
Do check the HCL entry: [../hardware/kgpe-d16.md](../hardware/kgpe-d16.md)
@@ -181,9 +175,9 @@ If you already have coreboot or libreboot installed, without write
protection on the flash chip, then you can do it in software (otherwise,
see link above).
-**DO NOT hot-swap the chip with your bare hands. Use a PDIP-8 chip
+*DO NOT hot-swap the chip with your bare hands. Use a PDIP-8 chip
extractor. These can be found online. See
-<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>**
+<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>*
Do check the HCL entry: [../hardware/kcma-d8.md](../hardware/kcma-d8.md)
@@ -215,13 +209,13 @@ write-protected SPI flash requires external re-flashing, as is also the
case when running the proprietary firmware).
If you did not write-protect the flash chip, or it came to you without
-any write-protection (***libreboot does not write-protect the flash chip
-by default, so this probably applies to you***), read on!
+any write-protection (*libreboot does not write-protect the flash chip
+by default, so this probably applies to you*), read on!
MAC address on GM45 (X200/R400/T400/T500/W500)
-----------------------------------------
-**Users of the X200/R400/T400/T500/W500 take note:** The MAC address for the
+*Users of the X200/R400/T400/T500/W500 take note:* The MAC address for the
onboard ethernet chipset is located inside the flash chip. Libreboot ROM
images for these laptops contain a generic MAC address by default, but
this is not what you want. *Make sure to change the MAC address inside
@@ -241,20 +235,21 @@ Apple iMac 5,2?
Internal flashing works, even when flashing from Apple EFI to libreboot.
Continue reading the instructions below.
-**NOTE: If you're flashing an older version of Libreboot, the iMac5,2
+*NOTE: If you're flashing an older version of Libreboot, the iMac5,2
motherboard is compatible with the MacBook2,1. Simply flash a MacBook2,1
-ROM image, and it should work.**
+ROM image, and it should work.*
Flash chip size
---------------
Use this to find out:
+
# flashrom -p internal -V
All good?
---------
-Excellent! Moving on\...
+Excellent! Moving on...
Download the *libreboot\_util.tar.xz* archive, and extract it. Inside,
you will find a directory called *flashrom*. This contains statically
@@ -268,6 +263,7 @@ appropriate executable. It is also possible for you to build these
executables from the libreboot source code archives.
How to update the flash chip contents:
+
$ sudo ./flash update [yourrom.rom](#rom)
Ocassionally, coreboot changes the name of a given board. If flashrom
@@ -276,88 +272,100 @@ correct ROM image, then run this alternative command:
$ sudo ./flash forceupdate [yourrom.rom](#rom)
-You should see **"Verifying flash\... VERIFIED."** written at the end
-of the flashrom output. **Shut down** after you see this, and then boot
+You should see `Verifying flash... VERIFIED.` written at the end
+of the flashrom output. *Shut down* after you see this, and then boot
up again after a few seconds.
ThinkPad X60/T60: Initial installation guide (if running the proprietary firmware) {#flashrom_lenovobios}
==================================================================================
-**This is for the ThinkPad X60 and T60 while running Lenovo BIOS. If you
+*This is for the ThinkPad X60 and T60 while running Lenovo BIOS. If you
already have coreboot or libreboot running, then go to
-[\#flashrom](#flashrom) instead!**
+[\#flashrom](#flashrom) instead!*
-**If you are flashing a Lenovo ThinkPad T60, be sure to read
-[../hardware/\#supported\_t60\_list](../hardware/#supported_t60_list)**
+*If you are flashing a Lenovo ThinkPad T60, be sure to read
+[../hardware/\#supported\_t60\_list](../hardware/#supported_t60_list)*
-**If you are using libreboot\_src or git, then make sure that you built
-the sources first (see [../git/\#build](../git/#build)).**
+*If you are using libreboot\_src or git, then make sure that you built
+the sources first (see [../git/\#build](../git/#build)).*
-**Warning: this guide will not instruct the user how to backup the
+*Warning: this guide will not instruct the user how to backup the
original Lenovo BIOS firmware. These backups are tied to each system,
and will not work on any other. For that, please refer to
-<http://www.coreboot.org/Board:lenovo/x60/Installation>.**
+<http://www.coreboot.org/Board:lenovo/x60/Installation>.*
+
+*If you're using libreboot 20150518, note that there is a mistake in
+the flashing script. do this: *
-**If you're using libreboot 20150518, note that there is a mistake in
-the flashing script. do this: *rm -f patch && wget -O flash
-https://notabug.org/libreboot/libreboot/raw/9d850543ad90b72e0e333c98075530b31e5d23f1/flash
-&& chmod +x flash***
+ rm -f patch
+ wget -O flash https://notabug.org/libreboot/libreboot/raw/9d850543ad90b72e0e333c98075530b31e5d23f1/flash
+ chmod +x flash
The first half of the procedure is as follows:
$ sudo ./flash i945lenovo\_firstflash [yourrom.rom](#rom).
-You should see within the output the following:\
-**"Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000
-are swapped"**.
+You should see within the output the following:
+
+ Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are
+ swapped
+
+You should also see within the output the following:
+
+ Your flash chip is in an unknown state
+ ...
+ FAILED
+ ...
+ DO NOT REBOOT OR POWEROFF
-You should also see within the output the following:\
-**"Your flash chip is in an unknown state"**, **"FAILED"** and
-**"DO NOT REBOOT OR POWEROFF"**\
-Seeing this means that the operation was a **resounding** success!
-**DON'T PANIC**.
+Seeing this means that the operation was a *resounding* success!
+*DON'T PANIC*.
See this link for more details:
<http://thread.gmane.org/gmane.linux.bios.flashrom/575>.
-If the above is what you see, then **SHUT DOWN**. Wait a few seconds,
+If the above is what you see, then *SHUT DOWN*. Wait a few seconds,
and then boot; libreboot is running, but there is a 2nd procedure
-**\*needed\*** (see below).
+needed (see below).
When you have booted up again, you must also do this:
$ sudo ./flash i945lenovo\_secondflash [yourrom.rom](#rom)
-If flashing fails at this stage, try the following:\
-\$ **sudo ./flashrom/i686/flashrom -p
-internal:laptop=force\_I\_want\_a\_brick -w [yourrom.rom](#rom)**
+If flashing fails at this stage, try the following:
-You should see within the output the following:\
-**"Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is
-untranslated"**
+ # sudo ./flashrom/i686/flashrom -p
-You should also see within the output the following:\
-**"Verifying flash\... VERIFIED."**
+internal:laptop=force\_I\_want\_a\_brick -w [yourrom.rom](#rom)
+
+You should see within the output the following:
+
+ Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is
+ untranslated
+
+You should also see within the output the following:
+
+ Verifying flash... VERIFIED.
MacBook2,1: Initial installation guide (if running the proprietary firmware) {#flashrom_macbook21}
============================================================================
-**If you have a MacBook1,1, refer to
-[../hardware/\#macbook11](../hardware/#macbook11) for flashing instructions.**
+*If you have a MacBook1,1, refer to
+[../hardware/\#macbook11](../hardware/#macbook11) for flashing instructions.*
-**This is for the MacBook2,1 while running Apple EFI firmware. If you
+*This is for the MacBook2,1 while running Apple EFI firmware. If you
already have coreboot or libreboot running, then go to
-[\#flashrom](#flashrom) instead!**
+[\#flashrom](#flashrom) instead!*
Be sure to read the information in
[../hardware/\#macbook21](../hardware/#macbook21).
-**Warning: this guide will not instruct the user how to backup the
+*Warning: this guide will not instruct the user how to backup the
original Apple EFI firmware. For that, please refer to
-<http://www.coreboot.org/Board:apple/macbook21>.**
+<http://www.coreboot.org/Board:apple/macbook21>.*
-**If you are using libreboot\_src or git, then make sure that you built
-the sources first (see [../git/\#build](../git/#build)).**
+*If you are using libreboot\_src or git, then make sure that you built
+the sources first (see [../git/\#build](../git/#build)).*
Look at the [list of ROM images](#rom) to see which image is compatible
with your device.
@@ -366,15 +374,14 @@ Use this flashing script, to install libreboot:
$ sudo ./flash i945apple\_firstflash [yourrom.rom](#rom)
-You should also see within the output the following:\
-**"Verifying flash\... VERIFIED."**
+You should also see within the output the following:
+
+ Verifying flash... VERIFIED.
Shut down.
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/kcma-d8.md b/docs/install/kcma-d8.md
index 5c2f8d47..8f9ecfc1 100644
--- a/docs/install/kcma-d8.md
+++ b/docs/install/kcma-d8.md
@@ -1,5 +1,6 @@
---
title: KCMA-D8 external flashing instructions
+x-toc-enable: true
...
Initial flashing instructions for kcma-d8.
@@ -9,19 +10,14 @@ motherboard, while they still have the proprietary ASUS BIOS present.
This guide can also be followed (adapted) if you brick you board, to
know how to recover.
-**Memory initialization is still problematic, for some modules. We
-recommend avoiding Kingston modules.**
+*Memory initialization is still problematic, for some modules. We
+recommend avoiding Kingston modules.*
For more general information about this board, refer to
[../hardware/kcma-d8.md](../hardware/kcma-d8.md).
TODO: show photos here, and other info.
-- [kcma-d8 boards (and full systems) with libreboot
- preinstalled](#preinstall)
-
-- [External programmer](#programmer)
-
External programmer {#programmer}
===================
@@ -30,13 +26,11 @@ an external SPI programmer.
The flash chip is in a PDIP 8 socket (SPI flash chip) on the
motherboard, which you take out and then re-flash with libreboot, using
-the programmer. **DO NOT** remove the chip with your hands. Use a chip
+the programmer. *DO NOT* remove the chip with your hands. Use a chip
extractor tool.
Copyright © 2016 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/kgpe-d16.md b/docs/install/kgpe-d16.md
index ab73cdea..9810179f 100644
--- a/docs/install/kgpe-d16.md
+++ b/docs/install/kgpe-d16.md
@@ -1,5 +1,6 @@
---
title: KGPE-D16 external flashing instructions
+x-toc-enable: true
...
Initial flashing instructions for KGPE-D16.
@@ -9,20 +10,15 @@ motherboard, while they still have the proprietary ASUS BIOS present.
This guide can also be followed (adapted) if you brick you board, to
know how to recover.
-**Memory initialization is still problematic, for some modules. We
-recommend avoiding Kingston modules.**
+*Memory initialization is still problematic, for some modules. We
+recommend avoiding Kingston modules.*
For more general information about this board, refer to
[../hardware/kgpe-d16.md](../hardware/kgpe-d16.md).
TODO: show photos here, and other info.
-- [KGPE-D16 boards (and full systems) with libreboot
- preinstalled](#preinstall)
-
-- [External programmer](#programmer)
-
-External programmer {#programmer}
+External programmer
===================
Refer to [bbb\_setup.md](bbb_setup.md) for a guide on how to set up
@@ -30,13 +26,11 @@ an external SPI programmer.
The flash chip is in a PDIP 8 socket (SPI flash chip) on the
motherboard, which you take out and then re-flash with libreboot, using
-the programmer. **DO NOT** remove the chip with your hands. Use a chip
+the programmer. *DO NOT* remove the chip with your hands. Use a chip
extractor tool.
Copyright © 2015 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/r400_external.md b/docs/install/r400_external.md
index 7d5721aa..366896cb 100644
--- a/docs/install/r400_external.md
+++ b/docs/install/r400_external.md
@@ -32,8 +32,8 @@ A note about CPUs
[ThinkWiki](http://www.thinkwiki.org/wiki/Category:R400) has a list of
CPUs for this system. The Core 2 Duo P8400 and P8600 are believed to
work in libreboot. The Core 2 Duo T9600 was confirmed to work, so the
-T9400 probably also works. **The Core 2 Duo T5870/5670 and Celeron M
-575/585 are untested!**
+T9400 probably also works. *The Core 2 Duo T5870/5670 and Celeron M
+575/585 are untested!*
Quad-core CPUs
--------------
@@ -62,6 +62,7 @@ Flash chip size {#flashchips}
===============
Use this to find out:
+
# flashrom -p internal -V
MAC address {#macaddress}
@@ -214,7 +215,9 @@ Log in as root on your BBB, using the instructions in
[bbb\_setup.html\#bbb\_access](bbb_setup.html#bbb_access).
Test that flashrom works:
- # ./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512\
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512\
+
In this case, the output was:
flashrom v0.9.7-r1854 on Linux 3.8.13-bone47 (armv7l)
@@ -227,19 +230,28 @@ In this case, the output was:
Please specify which chip definition to use with the -c <chipname> option.
How to backup factory.rom (change the -c option as neeed, for your flash
-chip):\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory.rom**\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory1.rom**\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory2.rom**\
-Note: the **-c** option is not required in libreboot's patched
+chip):
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r
+
+factory.rom
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r
+
+factory1.rom
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r
+
+factory2.rom
+
+Note: the `-c` option is not required in libreboot's patched
flashrom, because the redundant flash chip definitions in *flashchips.c*
-have been removed.\
+have been removed.
+
Now compare the 3 images:
- # sha512sum factory\*.rom
+ # sha512sum factory*.rom
+
If the hashes match, then just copy one of them (the factory.rom) to a
safe place (on a drive connected to another system, not the BBB). This
is useful for reverse engineering work, if there is a desirable
@@ -250,19 +262,21 @@ Follow the instructions at
[../hardware/gm45\_remove\_me.html\#ich9gen](../hardware/gm45_remove_me.html#ich9gen)
to change the MAC address inside the libreboot ROM image, before
flashing it. Although there is a default MAC address inside the ROM
-image, this is not what you want. **Make sure to always change the MAC
-address to one that is correct for your system.**
+image, this is not what you want. *Make sure to always change the MAC
+address to one that is correct for your system.*
-Now flash it:\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -w
-path/to/libreboot/rom/image.rom -V**
+Now flash it:
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w
+
+path/to/libreboot/rom/image.rom -V
![](images/x200/disassembly/0015.jpg)
-You might see errors, but if it says **Verifying flash\... VERIFIED** at
+You might see errors, but if it says `Verifying flash... VERIFIED` at
the end, then it's flashed and should boot. If you see errors, try
-again (and again, and again); the message **Chip content is identical to
-the requested image** is also an indication of a successful
+again (and again, and again); the message `Chip content is identical to
+the requested image` is also an indication of a successful
installation.
Example output from running the command (see above):
@@ -352,8 +366,6 @@ Now [install GNU+Linux](../gnulinux/).
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/rpi_setup.md b/docs/install/rpi_setup.md
index 64389a78..e74432d4 100644
--- a/docs/install/rpi_setup.md
+++ b/docs/install/rpi_setup.md
@@ -2,33 +2,29 @@
title: How to program an SPI flash chip with the Raspberry Pi
...
-This document exists as a guide for reading from or writing to an SPI
-flash chip with the Raspberry Pi, using the
-[flashrom](http://flashrom.org/Flashrom) software. Most revisions of the
-RPi should work.
+This document exists as a guide for reading from or writing to an SPI flash
+chip with the Raspberry Pi, using the [flashrom](http://flashrom.org/Flashrom)
+software. Most revisions of the RPi should work.
The Libreboot project recommends using
[blobless GNU+Linux](https://blog.rosenzweig.io/blobless-linux-on-the-pi.html)
-on the Raspberry Pi, to avoid having to run non-free software. This
-only became possible in February 2017 and the instructions below are
-not yet updated with the necessary steps, so please do not follow the
-steps below unless you are willing to run non-free software on your
-Raspberry Pi.
+on the Raspberry Pi, to avoid having to run non-free software. This only became
+possible in February 2017 and the instructions below are not yet updated with
+the necessary steps, so please do not follow the steps below unless you are
+willing to run non-free software on your Raspberry Pi.
-This only covers SOIC-8 flash chips, for now. SOIC-16 guide coming later
-(for now, it should be easy enough for you to figure this out for
-SOIC-16).
+This only covers SOIC-8 flash chips, for now. SOIC-16 guide coming later (for
+now, it should be easy enough for you to figure this out for SOIC-16).
-[](#raspberry-pi-thinkpad-x60t60-and-macbook-21){#user-content-raspberry-pi-thinkpad-x60t60-and-macbook-21 .anchor}Raspberry Pi (ThinkPad X60/T60 and Macbook 2,1)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Raspberry Pi (ThinkPad X60/T60 and Macbook 2,1)
+------------------------------------------------
The Raspberry Pi (a multipurpose \$25 GNU+Linux computer) can be used as
a BIOS flashing tool, thanks to its GPIO pins and SPI support.
-> **Note:** The Raspberry Pi Model A is not supported, since it has no
-> GPIO pins.
+Note: The Raspberry Pi Model A is not supported, since it has no GPIO pins.
-### [](#disassembling-the-thinkpad){#user-content-disassembling-the-thinkpad .anchor}Disassembling the ThinkPad
+### Disassembling the ThinkPad
Follow the [X60 Hardware Maintenance
Manual](http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/42x3550_04.pdf)
@@ -45,7 +41,7 @@ Guide](t60_unbrick.md).
- On the T60, the BIOS chip is just under the palmrest, but blocked by
a magnesium frame (which you will have to remove).
-### [](#pomona-clip-pinout){#user-content-pomona-clip-pinout .anchor}Pomona Clip Pinout
+### Pomona Clip Pinout
Diagram of the 26 GPIO Pins of the Raspberry Pi Model B (for the Model
B+ with 40 pins, start counting from the right and leave 14 pins):
@@ -78,7 +74,7 @@ detect a chip, or it will "detect" a `0x0` chip. Finally, make sure
that the Pomona clip makes contact with the metal wires of the chip. It
can be a challenge, but keep trying.
-### [](#how-to-supply-power-to-the-flashchip){#user-content-how-to-supply-power-to-the-flashchip .anchor}How to supply power to the flashchip
+### How to supply power to the flashchip
There are two ways to supply power to the chip: plugging in an AC
adapter (without turning the laptop on), and using the 8th 3.3v pin.
@@ -86,12 +82,12 @@ adapter (without turning the laptop on), and using the 8th 3.3v pin.
I have found that the SST chips work best with the 8th pin, while the
Macronix chips require an AC Adapter to power up.
-**Never connect both the 8th pin and the AC adapter at the same time.**
+*Never connect both the 8th pin and the AC adapter at the same time.*
Your results may vary.
-[](#reading-the-flashchip){#user-content-reading-the-flashchip .anchor}Reading the Flashchip
---------------------------------------------------------------------------------------------
+Reading the Flashchip
+----------------------
First, visually inspect (with a magnifying glass) the type of flashchip
on the motherboard.
@@ -99,7 +95,7 @@ on the motherboard.
Next, download and compile the latest Flashrom source code on the
Raspberry Pi.
- sudo apt-get install build-essential pciutils usbutils libpci-dev libusb-dev libftdi1 libftdi-dev zlib1g-dev subversion
+ sudo apt-get install build-essential pciutils usbutils libpci-dev libusb-dev libftdi1 libftdi-dev zlib1g-dev subversion libusb-1.0-0-dev
svn co svn://flashrom.org/flashrom/trunk flashrom
cd flashrom
make
@@ -127,11 +123,11 @@ If the md5sums match after three tries, `flashrom` has managed to read
the flashchip precisely (but not always accurately). You may try and
flash Libreboot now.
-[](#flashing-libreboot){#user-content-flashing-libreboot .anchor}Flashing Libreboot
------------------------------------------------------------------------------------
+Flashing Libreboot
+-------------------
-> **Note:** replace `/path/to/libreboot.rom` with the location of your
-> chosen ROM, such as `../bin/x60/libreboot_usqwerty.rom`):
+Note: replace `/path/to/libreboot.rom` with the location of your chosen ROM,
+such as `../bin/x60/libreboot_usqwerty.rom`):
If your chip is an SST, run this command:
@@ -148,14 +144,14 @@ successfully. If not, just flash again.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
-### [](#sources){#user-content-sources .anchor}Sources
+### Sources
- [Scruss - Simple ADC with the Raspberry
Pi](http://scruss.com/blog/2013/02/02/simple-adc-with-the-raspberry-pi/)
- [Flashing coreboot on a T60 with a Raspberry Pi -
the\_unconventional's
blog](https://blogs.fsfe.org/the_unconventional/2015/05/08/flashing-coreboot-on-a-t60-with-a-raspberry-pi/)
-- **Pomona SOIC Clip flashing**
+- *Pomona SOIC Clip flashing*
- [Arch Linux Wiki - Installing Arch Linux on
Chromebook](https://wiki.archlinux.org/index.php/Chromebook)
- [Google Drive - Raspberry Pi SOIC Clip
@@ -163,7 +159,7 @@ successfully. If not, just flash again.
- [rPI with Flashrom and SOIC Clip
Powerpoint](http://satxhackers.org/wp/hack-content/uploads/2013/04/rPI_flashrom.pdf)
-### [](#raspberry-pi-pinout-diagrams){#user-content-raspberry-pi-pinout-diagrams .anchor}Raspberry Pi Pinout Diagrams
+### Raspberry Pi Pinout Diagrams
MCP 3008 Pin Pi GPIO Pin \# Pi Pin Name
----- ---------- ---------------- --------------------
@@ -179,10 +175,10 @@ successfully. If not, just flash again.
- Source: [Perl & Raspberry Pi - Raspberry Pi GPIO
Pinout](http://raspberrypi.znix.com/hipidocs/topic_gpiopins.htm)
-[](#raspberry-pi-thinkpad-x200){#user-content-raspberry-pi-thinkpad-x200 .anchor}Raspberry Pi (ThinkPad X200)
--------------------------------------------------------------------------------------------------------------
+Raspberry Pi (ThinkPad X200)
+-----------------------------
-### [](#requirements){#user-content-requirements .anchor}Requirements:
+### Requirements:
- An x86, x86\_64, or arm7l (for changing the libreboot.rom image mac
address)
@@ -196,16 +192,12 @@ Follow the [ThinkPad X200: Initial installation
guide](x200_external.md) to
disassemble the laptop, and access the BIOS rom chip.
-> **Note:** `x86#` refers to commands to be run on the x86 computer, and
-> `pi#` refers to commands to be run on the pi. A good practice is to
-> make a work directory to keep your libreboot stuff inside.
+Note: `x86#` refers to commands to be run on the x86 computer, and `pi#` refers
+to commands to be run on the pi. A good practice is to make a work directory to
+keep your libreboot stuff inside.
x86# mkdir ~/work
-Download NOOBS from [The Raspberry Pi
-Foundation.](https://www.raspberrypi.org/downloads/) Torrent download
-recommended, and remember to seed. :)
-
If you're running Raspian, you can do **sudo raspi-config**, enable SPI
under Advanced and then spidev will be enabled. Simple, eh?
@@ -217,43 +209,9 @@ GPG signature as well.
x86# for signature in $(ls *.sig); do gpg --verify $signature; done
-Extract NOOBS and libreboot.
-
- x86# mkdir ~/work/noobs
-
- x86# unzip ~/Downloads/NOOBS_v1_4_1.zip -d ~/work/noobs/
-
- x86# cd ~/work && tar -xvJf ~/Downloads/libreboot_bin.tar.xz
-
-Install Noobs to your fat32 formatted SD card
-
- x86# cp -R ~/work/noobs/* /path/to/mounted/SDcard/
-
-### [](#set-up-noobs-on-raspberry-pi){#user-content-set-up-noobs-on-raspberry-pi .anchor}Set up NOOBS on Raspberry Pi
-
-Plug in the NOOBs SDCard to your Raspberry Pi, and enable the following
-under 'Advanced Options':
-
-SSH server
-
-SPI
-
-I2C
-
-On first boot
-
- pi# sudo apt-get update && sudo apt-get dist-upgrade && reboot
-
-On second boot
-
- pi# sudo apt-get update && sudo apt-get install libftdi1 libftdi-dev libusb-dev libpci-dev subversion
-
-Other dependencies that should already be installed with the noobs base
-install include:
-
-pciutils, zlib, libusb, build-essential
+Install dependencies:
-If they are missing then install them.
+ pi# sudo apt-get update && sudo apt-get install libftdi1 libftdi-dev libusb-dev libpci-dev subversion libusb-1.0-0-dev pciutils, zlib, libusb, build-essential
Download and build flashrom.
@@ -309,10 +267,10 @@ text.
15 S1/SIO0 19
16 SCLK 23
-> **Note:** The raspberry pi 3.3V rail should be sufficient to power the
-> chip during flashing, so no external power supply should be required;
-> however, at the time of writing that has only been tested and
-> confirmed for one chip, the MX25L6405D.
+Note: The raspberry pi 3.3V rail should be sufficient to power the chip during
+flashing, so no external power supply should be required; however, at the time
+of writing that has only been tested and confirmed for one chip, the
+MX25L6405D.
Macronix Spec sheet so you can adjust your pinout for 8 pin 4Mb chips as
necessary
@@ -353,8 +311,8 @@ done.
Shut down your pi, put your box back together, and install a libre OS
for great good!
-[](#raspberry-pi-c720-chromebook){#user-content-raspberry-pi-c720-chromebook .anchor}Raspberry Pi (C720 Chromebook)
--------------------------------------------------------------------------------------------------------------------
+Raspberry Pi (C720 Chromebook)
+-------------------------------
The Raspberry Pi (a multipurpose \$25 GNU+Linux computer) can be used as
a BIOS flashing tool, thanks to its GPIO pins and SPI support.
@@ -408,14 +366,14 @@ Finally, put the Pomona SOIC clip on the chip:
![Pomona Clip Connected](images/rpi/0008.jpg)
-### [](#flashrom){#user-content-flashrom .anchor}Flashrom
+### Flashrom
[Once it's all set up, flashrom works out of the
box.](http://www.flashrom.org/RaspberryPi)
-### [](#sources-1){#user-content-sources-1 .anchor}Sources
+### Sources
-- **Pomona SOIC Clip flashing**
+- *Pomona SOIC Clip flashing*
- [Arch Linux Wiki - Installing Arch Linux on
Chromebook](https://wiki.archlinux.org/index.php/Chromebook)
- [Google Drive - Raspberry Pi SOIC Clip
@@ -424,7 +382,7 @@ box.](http://www.flashrom.org/RaspberryPi)
Powerpoint](http://satxhackers.org/wp/hack-content/uploads/2013/04/rPI_flashrom.pdf)
- [Tnhh - Unbricking Chromebook with
Beaglebone](http://www.tnhh.net/2014/08/25/unbricking-chromebook-with-beaglebone.md)
-- **Use a DIY DIP System to flash an desoldered BIOS chip**
+- *Use a DIY DIP System to flash an desoldered BIOS chip*
- [Viktak - How to recover laptop after failed BIOS
flash](http://diy.viktak.com/2014/07/how-to-recover-laptop-after-failed-bios.md)
- [Win-Raid - Recover from Failed BIOS Flashing using Raspberry
diff --git a/docs/install/t400_external.md b/docs/install/t400_external.md
index b3773c34..d48c15d4 100644
--- a/docs/install/t400_external.md
+++ b/docs/install/t400_external.md
@@ -59,6 +59,7 @@ Flash chip size {#flashchips}
===============
Use this to find out:
+
# flashrom -p internal -V
MAC address {#macaddress}
@@ -212,7 +213,9 @@ Log in as root on your BBB, using the instructions in
[bbb\_setup.html\#bbb\_access](bbb_setup.html#bbb_access).
Test that flashrom works:
- # ./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
+
In this case, the output was:
flashrom v0.9.7-r1854 on Linux 3.8.13-bone47 (armv7l)
@@ -225,19 +228,27 @@ In this case, the output was:
Please specify which chip definition to use with the -c <chipname> option.
How to backup factory.rom (change the -c option as neeed, for your flash
-chip):\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory.rom**\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory1.rom**\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory2.rom**\
-Note: the **-c** option is not required in libreboot's patched
-flashrom, because the redundant flash chip definitions in *flashchips.c*
-have been removed.\
+chip):
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r
+
+factory.rom
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r
+
+factory1.rom
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r
+
+factory2.rom
+
+Note: the `-c` option is not required in libreboot's patched flashrom, because
+the redundant flash chip definitions in `flashchips.c` have been removed.
+
Now compare the 3 images:
- # sha512sum factory\*.rom
+ # sha512sum factory*.rom
+
If the hashes match, then just copy one of them (the factory.rom) to a
safe place (on a drive connected to another system, not the BBB). This
is useful for reverse engineering work, if there is a desirable
@@ -248,19 +259,21 @@ Follow the instructions at
[../hardware/gm45\_remove\_me.html\#ich9gen](../hardware/gm45_remove_me.html#ich9gen)
to change the MAC address inside the libreboot ROM image, before
flashing it. Although there is a default MAC address inside the ROM
-image, this is not what you want. **Make sure to always change the MAC
-address to one that is correct for your system.**
+image, this is not what you want. *Make sure to always change the MAC
+address to one that is correct for your system.*
-Now flash it:\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -w
-path/to/libreboot/rom/image.rom -V**
+Now flash it:
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w
+
+path/to/libreboot/rom/image.rom -V
![](images/x200/disassembly/0015.jpg)
-You might see errors, but if it says **Verifying flash\... VERIFIED** at
+You might see errors, but if it says `Verifying flash... VERIFIED` at
the end, then it's flashed and should boot. If you see errors, try
-again (and again, and again); the message **Chip content is identical to
-the requested image** is also an indication of a successful
+again (and again, and again); the message `Chip content is identical to
+the requested image` is also an indication of a successful
installation.
Example output from running the command (see above):
@@ -350,8 +363,6 @@ Now [install GNU+Linux](../gnulinux/).
Copyright © 2015 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/t500_external.md b/docs/install/t500_external.md
index 567f9159..5490744f 100644
--- a/docs/install/t500_external.md
+++ b/docs/install/t500_external.md
@@ -61,6 +61,7 @@ Flash chip size {#flashchips}
===============
Use this to find out:
+
# flashrom -p internal -V
MAC address {#macaddress}
@@ -229,7 +230,9 @@ Log in as root on your BBB, using the instructions in
[bbb\_setup.html\#bbb\_access](bbb_setup.html#bbb_access).
Test that flashrom works:
- # ./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
+
In this case, the output was:
flashrom v0.9.7-r1854 on Linux 3.8.13-bone47 (armv7l)
@@ -242,19 +245,27 @@ In this case, the output was:
Please specify which chip definition to use with the -c <chipname> option.
How to backup factory.rom (change the -c option as neeed, for your flash
-chip):\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory.rom**\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory1.rom**\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory2.rom**\
-Note: the **-c** option is not required in libreboot's patched
+chip):
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r
+
+factory.rom
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r
+
+factory1.rom
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r
+
+factory2.rom
+
+Note: the `-c` option is not required in libreboot's patched
flashrom, because the redundant flash chip definitions in *flashchips.c*
have been removed.\
Now compare the 3 images:
# sha512sum factory\*.rom
+
If the hashes match, then just copy one of them (the factory.rom) to a
safe place (on a drive connected to another system, not the BBB). This
is useful for reverse engineering work, if there is a desirable
@@ -265,19 +276,21 @@ Follow the instructions at
[../hardware/gm45\_remove\_me.html\#ich9gen](../hardware/gm45_remove_me.html#ich9gen)
to change the MAC address inside the libreboot ROM image, before
flashing it. Although there is a default MAC address inside the ROM
-image, this is not what you want. **Make sure to always change the MAC
-address to one that is correct for your system.**
+image, this is not what you want. *Make sure to always change the MAC
+address to one that is correct for your system.*
+
+Now flash it:
-Now flash it:\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -w
-path/to/libreboot/rom/image.rom -V**
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w
+
+path/to/libreboot/rom/image.rom -V
![](images/x200/disassembly/0015.jpg)
-You might see errors, but if it says **Verifying flash\... VERIFIED** at
+You might see errors, but if it says `Verifying flash... VERIFIED` at
the end, then it's flashed and should boot. If you see errors, try
-again (and again, and again); the message **Chip content is identical to
-the requested image** is also an indication of a successful
+again (and again, and again); the message `Chip content is identical to
+the requested image` is also an indication of a successful
installation.
Example output from running the command (see above):
@@ -367,8 +380,6 @@ Now [install GNU+Linux](../gnulinux/).
Copyright © 2015 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/t60_unbrick.md b/docs/install/t60_unbrick.md
index 98c0be51..c61c3a5e 100644
--- a/docs/install/t60_unbrick.md
+++ b/docs/install/t60_unbrick.md
@@ -1,30 +1,23 @@
---
title: ThinkPad T60 Recovery guide
+x-toc-enable: true
...
This section documents how to recover from a bad flash that prevents
your ThinkPad T60 from booting.
-Table of Contents
------------------
-
-- Types of brick:
- - [Brick type 1: bucts not reset](#bucts_brick)
- - [Brick type 2: bad rom (or user error), system won't
- boot](#recovery)
-
Brick type 1: bucts not reset. {#bucts_brick}
==============================
You still have Lenovo BIOS, or you had libreboot running and you flashed
another ROM; and you had bucts 1 set and the ROM wasn't dd'd.\* or if
Lenovo BIOS was present and libreboot wasn't flashed.\
-\
+
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
yellow cmos coin (it's a battery) and putting it back after a minute or
two:\
![](../images/t60_dev/0006.JPG)\
-\
+
\*Those dd commands should be applied to all newly compiled T60 ROM
images (the ROM images in libreboot binary archives already have this
applied!):\
@@ -116,20 +109,24 @@ Remove these screws, placing them on a steady surface in the same layout
as they were in before you removed them. Also, you should mark each
screw hole after removing the screw (a permanent marker pen will do),
this is so that you have a point of reference when re-assembling the
-system:\
+system:
+
![](../images/t60_dev/0027.JPG) ![](../images/t60_dev/0028.JPG)
![](../images/t60_dev/0029.JPG) ![](../images/t60_dev/0031.JPG)
![](../images/t60_dev/0032.JPG) ![](../images/t60_dev/0033.JPG)
Now wire up the BBB and the Pomona with your PSU.\
Refer to [bbb\_setup.md](bbb_setup.md) for how to setup the BBB for
-flashing.\
-**Note, the guide mentions a 3.3v DC PSU but you don't need this on the
+flashing.
+
+*Note, the guide mentions a 3.3v DC PSU but you don't need this on the
T60: if you don't have or don't want to use an external PSU, then make
sure not to connect the 3.3v leads mentioned in the guide; instead,
connect the AC adapter (the one that normally charges your battery) so
-that the board has power (but don't boot it up)**\
-![](../images/t60_dev/0030.JPG)\
+that the board has power (but don't boot it up)*
+
+![](../images/t60_dev/0030.JPG)
+
Correlate the following with the BBB guide linked above:
POMONA 5250:
@@ -148,11 +145,13 @@ Flashrom binaries for ARM (tested on a BBB) are distributed in
libreboot\_util. Alternatively, libreboot also distributes flashrom
source code which can be built.
-SSH'd into the BBB:\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -w
-yourrom.rom**
+SSH'd into the BBB:
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w
-It should be **Verifying flash\... VERIFIED** at the end. If flashrom
+yourrom.rom
+
+It should be `Verifying flash... VERIFIED` at the end. If flashrom
complains about multiple flash chip definitions detected, then choose
one of them following the instructions in the output.
@@ -205,8 +204,6 @@ replacing cpu paste/heatsink:\
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/x200_external.md b/docs/install/x200_external.md
index cf4f74c7..6414fe7c 100644
--- a/docs/install/x200_external.md
+++ b/docs/install/x200_external.md
@@ -1,42 +1,31 @@
---
-title: Flashing the X200 with a BeagleBone Black
+title: Flashing the X200 with a BeagleBone Black
+x-toc-enable: true
...
-Initial flashing instructions for X200.
-
This guide is for those who want libreboot on their ThinkPad X200 while
they still have the original Lenovo BIOS present. This guide can also be
followed (adapted) if you brick your X200, to know how to recover.
-- [X200 laptops with libreboot pre-installed](#preinstall)
-- [Flash chips](#flashchips)
-- [MAC address](#macaddress)
-- [Initial BBB configuration and installation procedure](#clip)
-- [Boot it!](#boot)
-- [Wifi](#wifi)
-- [wwan](#wwan)
-- [Memory](#memory)
-- [X200S and X200 Tablet users: GPIO33 trick will not work.](#gpio33)
-
-X200 laptops with libreboot pre-installed {#preinstall}
+X200 laptops with libreboot pre-installed
=========================================
If you don't want to install libreboot yourself, companies exist that
sell these laptops with libreboot pre-installed, along with a free
GNU+Linux distribution.
-Flash chip size {#flashchips}
+Flash chip size
===============
Use this to find out:
+
# flashrom -p internal -V
-The X200S and X200 Tablet will use a WSON-8 flash chip, on the bottom of
-the motherboard (this requires removal of the motherboard). **Not all
-X200S/X200T are supported; see
-[../hardware/x200.html\#x200s](../hardware/x200.html#x200s).**
+The X200S and X200 Tablet will use a WSON-8 flash chip, on the bottom of the
+motherboard (this requires removal of the motherboard). Not all X200S/X200T are
+supported; see [here](../hardware/x200.html#x200s).
-MAC address {#macaddress}
+MAC address
===========
On the X200/X200S/X200T, the MAC address for the onboard gigabit
@@ -50,7 +39,7 @@ image before flashing it. It will be written in one of these locations:
![](images/x200/disassembly/0002.jpg)
![](images/x200/disassembly/0001.jpg)
-Initial BBB configuration {#clip}
+Initial BBB configuration
=========================
Refer to [bbb\_setup.md](bbb_setup.md) for how to set up the BBB for
@@ -73,8 +62,6 @@ header), for SOIC-16 (clip: Pomona 5252):
This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.
Here is a photo of the SOIC-16 flash chip. Pins are labelled:
-
-
The following shows how to connect the clip to the BBB (on the P9
header), for SOIC-8 (clip: Pomona 5250):
@@ -91,12 +78,15 @@ header), for SOIC-8 (clip: Pomona 5250):
Look at the pads in that photo, on the left and right. Those are for SOIC-16. Would it be possible to remove the SOIC-8 and solder a SOIC-16
chip on those pins?
-**On the X200S and X200 Tablet the flash chip is underneath the board,
-in a WSON package. The pinout is very much the same as a SOIC-8, but such package makes it impossible to use testclip.
-In order to enable external flashing of device, chip has to be changed to SOIC-8 one. Such procedure requires hot air station and soldering station (with "knife" K-Tip to easily solder SOIC-8).\
-Check the list of SOIC-8 flash chips at
-[List of supported flash chips](https://www.flashrom.org/Supported_hardware#Supported_flash_chips)\
-25XX series SPI NOR Flash in 8/16MiB sizes will work fine with libreboot.
+On the X200S and X200 Tablet the flash chip is underneath the board, in a WSON
+package. The pinout is very much the same as a SOIC-8, but such package makes
+it impossible to use testclip. In order to enable external flashing of device,
+chip has to be changed to SOIC-8 one. Such procedure requires hot air station
+and soldering station (with "knife" K-Tip to easily solder SOIC-8).
+
+Check the list of SOIC-8 flash chips at [List of supported flash
+chips](https://www.flashrom.org/Supported_hardware#Supported_flash_chips)\ 25XX
+series SPI NOR Flash in 8/16MiB sizes will work fine with libreboot.
The procedure
-------------
@@ -108,13 +98,14 @@ completely, since the flash chip is on the other side of the board).
Remove these screws:\
![](images/x200/disassembly/0003.jpg)
-Push the keyboard forward, gently, then lift it off and disconnect it
-from the board:\
+Gently push the keyboard towards the screen, then lift it off, and optionally
+disconnect it from the board:\
![](images/x200/disassembly/0004.jpg)
![](images/x200/disassembly/0005.jpg)
-Pull the palm rest off, lifting from the left and right side at the back
-of the palm rest:\
+Disconnect the cable of the fingerpring reader, and then pull up the palm rest,
+lifting up the left and right side of it:\
+![](images/x200/disassembly/0006.1.jpg)
![](images/x200/disassembly/0006.jpg)
Lift back the tape that covers a part of the flash chip, and then
@@ -127,19 +118,10 @@ to your PSU:\
![](images/x200/disassembly/0009.jpg)
![](images/x200/disassembly/0010.jpg)
-Connect the 3.3V supply from your PSU to the flash chip (via the clip):\
+Connect the 3.3V DC supply from your PSU to the flash chip (via the clip):\
![](images/x200/disassembly/0011.jpg)
![](images/x200/disassembly/0012.jpg)
-Of course, make sure that your PSU is also plugged in and turn on:\
-![](images/x200/disassembly/0013.jpg)
-
-This tutorial tells you to use an ATX PSU, for the 3.3V DC supply. The
-PSU used when taking these photos is actually not an ATX PSU, but a PSU
-that is designed specifically for providing 3.3V DC (an ATX PSU will
-also work):\
-![](images/x200/disassembly/0014.jpg)
-
Now, you should be ready to install libreboot.
Flashrom binaries for ARM (tested on a BBB) are distributed in
@@ -150,7 +132,9 @@ Log in as root on your BBB, using the instructions in
[bbb\_setup.html\#bbb\_access](bbb_setup.html#bbb_access).
Test that flashrom works:
- # ./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
+
In this case, the output was:
flashrom v0.9.7-r1854 on Linux 3.8.13-bone47 (armv7l)
@@ -162,20 +146,20 @@ In this case, the output was:
Multiple flash chip definitions match the detected chip(s): "MX25L6405(D)", "MX25L6406E/MX25L6436E", "MX25L6445E/MX25L6473E"
Please specify which chip definition to use with the -c <chipname> option.
-How to backup factory.rom (change the -c option as neeed, for your flash
-chip):\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory.rom**\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory1.rom**\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -r
-factory2.rom**\
-Note: the **-c** option is not required in libreboot's patched
+Here is how to backup factory.rom:
+
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r factory.rom
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r factory1.rom
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r factory2.rom
+
+Note: the `-c` option is not required in libreboot's patched
flashrom, because the redundant flash chip definitions in *flashchips.c*
-have been removed.\
+have been removed.
+
Now compare the 3 images:
- # sha512sum factory\*.rom
+ # sha512sum factory*.rom
+
If the hashes match, then just copy one of them (the factory.rom) to a
safe place (on a drive connected to another system, not the BBB). This
is useful for reverse engineering work, if there is a desirable
@@ -186,19 +170,19 @@ Follow the instructions at
[../hardware/gm45\_remove\_me.html\#ich9gen](../hardware/gm45_remove_me.html#ich9gen)
to change the MAC address inside the libreboot ROM image, before
flashing it. Although there is a default MAC address inside the ROM
-image, this is not what you want. **Make sure to always change the MAC
-address to one that is correct for your system.**
+image, this is not what you want. Make sure to always change the MAC
+address to one that is correct for your system.
+
+Now flash it:
-Now flash it:\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -w
-path/to/libreboot/rom/image.rom -V**
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w path/to/libreboot/rom/image.rom -V
![](images/x200/disassembly/0015.jpg)
-You might see errors, but if it says **Verifying flash\... VERIFIED** at
+You might see errors, but if it says `Verifying flash... VERIFIED` at
the end, then it's flashed and should boot. If you see errors, try
-again (and again, and again); the message **Chip content is identical to
-the requested image** is also an indication of a successful
+again (and again, and again); the message `Chip content is identical to
+the requested image` is also an indication of a successful
installation.
Example output from running the command (see above):
@@ -231,7 +215,8 @@ whitelist of approved chips, and it will refuse to boot if you use an
'unauthorized' wifi card.
The following photos show an Atheros AR5B95 being installed, to replace
-the Intel chip that this X200 came with:\
+the Intel chip that this X200 came with:
+
![](images/x200/disassembly/0016.jpg)
![](images/x200/disassembly/0017.jpg)
@@ -245,6 +230,17 @@ track your movements.
Not to be confused with wifi (wifi is fine).
+Intel Turbo Memory
+==================
+
+Some X200 devices were sold with Intel Turbo Memory installed in the top-most
+mini PCI-e slot. This has been [shown to be
+ineffective](http://www.anandtech.com/show/2252) at disk caching or battery
+saving in most use cases. While there are [Linux
+drivers](https://github.com/yarrick/turbomem) available, it is blacklisted in
+at least GNU+Trisquel, and possibly other free operating systems. It should
+probably be removed.
+
Memory
======
@@ -257,10 +253,11 @@ work in some cases.
Make sure that the RAM you buy is the 2Rx8 density.
-In this photo, 8GiB of RAM (2x4GiB) is installed:\
+In this photo, 8GiB of RAM (2x4GiB) is installed:
+
![](images/x200/disassembly/0018.jpg)
-Boot it! {#boot}
+Boot it!
--------
You should see something like this:
@@ -269,7 +266,7 @@ You should see something like this:
Now [install GNU+Linux](../gnulinux/).
-X200S and X200 Tablet users: GPIO33 trick will not work. {#gpio33}
+X200S and X200 Tablet users: GPIO33 trick will not work.
--------------------------------------------------------
sgsit found out about a pin called GPIO33, which can be grounded to
@@ -277,7 +274,8 @@ disable the flashing protections by the descriptor and stop the ME from
starting (which itself interferes with flashing attempts). The theory
was proven correct; however, it is still useless in practise.
-Look just above the 7 in TP37 (that's GPIO33):\
+Look just above the 7 in TP37 (that's GPIO33):
+
![](../hardware/images/x200/gpio33_location.jpg)
By default we would see this in lenovobios, when trying flashrom -p
@@ -310,9 +308,7 @@ On a related note, libreboot has a utility that could help with
investigating this:
[../hardware/gm45\_remove\_me.html\#demefactory](../hardware/gm45_remove_me.md#demefactory)
-Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-
-
+Copyright © 2014, 2015 Leah Rowe <info@minifree.org>
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
diff --git a/docs/install/x60_unbrick.md b/docs/install/x60_unbrick.md
index e1c9098a..0f215302 100644
--- a/docs/install/x60_unbrick.md
+++ b/docs/install/x60_unbrick.md
@@ -1,30 +1,23 @@
---
title: ThinkPad X60 Recovery guide
+x-toc-enable: true
...
This section documents how to recover from a bad flash that prevents
your ThinkPad X60 from booting.
-Table of Contents
-=================
-
-- Types of brick:
- - [Brick type 1: bucts not reset](#bucts_brick)
- - [Brick type 2: bad rom (or user error), system won't
- boot](#recovery)
-
Brick type 1: bucts not reset. {#bucts_brick}
==============================
You still have Lenovo BIOS, or you had libreboot running and you flashed
another ROM; and you had bucts 1 set and the ROM wasn't dd'd.\* or if
Lenovo BIOS was present and libreboot wasn't flashed.\
-\
+
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
yellow cmos coin (it's a battery) and putting it back after a minute or
two:\
![](../images/x60_unbrick/0004.jpg)\
-\
+
\*Those dd commands should be applied to all newly compiled X60 ROM
images (the ROM images in libreboot binary archives already have this
applied!):\
@@ -108,11 +101,11 @@ flash chip:\
Now wire up the BBB and the Pomona with your PSU.\
Refer to [bbb\_setup.md](bbb_setup.md) for how to setup the BBB for
flashing.\
-**Note, the guide mentions a 3.3v DC PSU but you don't need this on the
+*Note, the guide mentions a 3.3v DC PSU but you don't need this on the
X60: if you don't have or don't want to use an external PSU, then make
sure not to connect the 3.3v leads mentioned in the guide; instead,
connect the AC adapter (the one that normally charges your battery) so
-that the board has power (but don't boot it up)**
+that the board has power (but don't boot it up)*
![](../images/x60_unbrick/0017.jpg)\
Correlate the following with the BBB guide linked above:
@@ -133,11 +126,13 @@ Flashrom binaries for ARM (tested on a BBB) are distributed in
libreboot\_util. Alternatively, libreboot also distributes flashrom
source code which can be built.
-SSH'd into the BBB:\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -w
-yourrom.rom**
+SSH'd into the BBB:
-It should be **Verifying flash\... VERIFIED** at the end. If flashrom
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w
+
+yourrom.rom
+
+It should be `Verifying flash... VERIFIED` at the end. If flashrom
complains about multiple flash chip definitions detected, then choose
one of them following the instructions in the output.
@@ -217,8 +212,6 @@ Operating system:\
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation
diff --git a/docs/install/x60tablet_unbrick.md b/docs/install/x60tablet_unbrick.md
index d11e7cbb..f4baebf4 100644
--- a/docs/install/x60tablet_unbrick.md
+++ b/docs/install/x60tablet_unbrick.md
@@ -1,30 +1,23 @@
---
title: ThinkPad X60 Tablet Recovery guide
+x-toc-enable: true
...
This section documents how to recover from a bad flash that prevents
your ThinkPad X60 Tablet from booting.
-Table of Contents
------------------
-
-- Types of brick:
- - [Brick type 1: bucts not reset](#bucts_brick)
- - [Brick type 2: bad rom (or user error), system won't
- boot](#recovery)
-
Brick type 1: bucts not reset. {#bucts_brick}
==============================
You still have Lenovo BIOS, or you had libreboot running and you flashed
another ROM; and you had bucts 1 set and the ROM wasn't dd'd.\* or if
Lenovo BIOS was present and libreboot wasn't flashed.\
-\
+
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
yellow cmos coin (it's a battery) and putting it back after a minute or
two:\
![](../images/x60t_unbrick/0008.JPG)\
-\
+
\*Those dd commands should be applied to all newly compiled X60 ROM
images (the ROM images in libreboot binary archives already have this
applied!):\
@@ -87,11 +80,11 @@ Remove that screw and then remove the board:\
Now wire up the BBB and the Pomona with your PSU.\
Refer to [bbb\_setup.md](bbb_setup.md) for how to setup the BBB for
flashing.\
-**Note, the guide mentions a 3.3v DC PSU but you don't need this on the
+*Note, the guide mentions a 3.3v DC PSU but you don't need this on the
X60 Tablet: if you don't have or don't want to use an external PSU,
then make sure not to connect the 3.3v leads mentioned in the guide;
instead, connect the AC adapter (the one that normally charges your
-battery) so that the board has power (but don't boot it up)**
+battery) so that the board has power (but don't boot it up)*
![](../images/x60t_unbrick/0011.JPG)\
Correlate the following with the BBB guide linked above:
@@ -112,11 +105,13 @@ Flashrom binaries for ARM (tested on a BBB) are distributed in
libreboot\_util. Alternatively, libreboot also distributes flashrom
source code which can be built.
-SSH'd into the BBB:\
-\# **./flashrom -p linux\_spi:dev=/dev/spidev1.0,spispeed=512 -w
-yourrom.rom**
+SSH'd into the BBB:
-It should be **Verifying flash\... VERIFIED** at the end. If flashrom
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w
+
+yourrom.rom
+
+It should be `Verifying flash... VERIFIED` at the end. If flashrom
complains about multiple flash chip definitions detected, then choose
one of them following the instructions in the output.
@@ -124,8 +119,6 @@ Reverse the steps to re-assemble your system.
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-
-
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License Version 1.3 or any later
version published by the Free Software Foundation