aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/bsd/freebsd.md18
-rw-r--r--docs/bsd/index.md7
-rw-r--r--docs/bsd/netbsd.md31
-rw-r--r--docs/bsd/openbsd.md30
-rw-r--r--docs/depthcharge/index.md101
-rw-r--r--docs/fdl-1.3.md449
-rw-r--r--docs/git/index.md35
-rw-r--r--docs/gnulinux/configuring_parabola.md65
-rw-r--r--docs/gnulinux/encrypted_debian.md52
-rw-r--r--docs/gnulinux/encrypted_parabola.md210
-rw-r--r--docs/gnulinux/grub_boot_installer.md83
-rw-r--r--docs/gnulinux/grub_cbfs.md55
-rw-r--r--docs/gnulinux/grub_hardening.md24
-rw-r--r--docs/gnulinux/index.md7
-rw-r--r--docs/grub/index.md47
-rw-r--r--docs/hardware/c201.md35
-rw-r--r--docs/hardware/d510mo.md7
-rw-r--r--docs/hardware/d945gclf.md37
-rw-r--r--docs/hardware/ga-g41m-es2l.md7
-rw-r--r--docs/hardware/gm45_remove_me.md55
-rw-r--r--docs/hardware/imac52.md7
-rw-r--r--docs/hardware/index.md92
-rw-r--r--docs/hardware/kcma-d8.md7
-rw-r--r--docs/hardware/kfsn4-dre.md7
-rw-r--r--docs/hardware/kgpe-d16.md7
-rw-r--r--docs/hardware/r400.md7
-rw-r--r--docs/hardware/t400.md7
-rw-r--r--docs/hardware/t500.md10
-rw-r--r--docs/hardware/x200.md17
-rw-r--r--docs/index.md7
-rw-r--r--docs/install/bbb_setup.md39
-rw-r--r--docs/install/c201.md52
-rw-r--r--docs/install/d510mo.md8
-rw-r--r--docs/install/d945gclf.md7
-rw-r--r--docs/install/ga-g41m-es2l.md8
-rw-r--r--docs/install/images/x200/disassembly/0006.1.jpgbin0 -> 32364 bytes
-rw-r--r--docs/install/index.md72
-rw-r--r--docs/install/kcma-d8.md13
-rw-r--r--docs/install/kgpe-d16.md15
-rw-r--r--docs/install/r400_external.md44
-rw-r--r--docs/install/rpi_setup.md66
-rw-r--r--docs/install/t400_external.md49
-rw-r--r--docs/install/t500_external.md52
-rw-r--r--docs/install/t60_unbrick.md30
-rw-r--r--docs/install/x200_external.md149
-rw-r--r--docs/install/x60_unbrick.md30
-rw-r--r--docs/install/x60tablet_unbrick.md30
-rw-r--r--docs/misc/bbb_ehci.md7
-rw-r--r--docs/misc/index.md13
-rw-r--r--docs/release.md12
50 files changed, 1435 insertions, 784 deletions
diff --git a/docs/bsd/freebsd.md b/docs/bsd/freebsd.md
index a21e309b..0148cf2f 100644
--- a/docs/bsd/freebsd.md
+++ b/docs/bsd/freebsd.md
@@ -1,5 +1,6 @@
---
title: How to install FreeBSD on a libreboot system
+x-toc-enable: true
...
This section relates to preparing, booting and installing FreeBSD on
@@ -19,13 +20,6 @@ if it does not). Instructions are provided here, to boot and install
FreeBSD but we're not sure whether it is currently fully compatible
with libreboot.
-- [Prepare the USB drive (in FreeBSD)](#prepare)
-- [Installing FreeBSD without full disk encryption](#noencryption)
-- [Installing FreeBSD with full disk encryption](#encryption)
-- [Booting](#booting)
-- [Configuring Grub](#configuring_grub)
-- [Troubleshooting](#troubleshooting)
-
**This section is only for the GRUB payload. For depthcharge (used on
CrOS devices in libreboot), instructions have yet to be written in the
libreboot documentation.**
@@ -85,6 +79,7 @@ the bootable FreeBSD USB drive:
Connect the USB drive. Check dmesg:
$ dmesg
+
Check lsblk to confirm which drive it is:
$ lsblk
@@ -143,7 +138,7 @@ because it doesn't exist.
In most cases, you should use the vesafb ROM images. Example filename:
libreboot\_ukdvorak\_vesafb.rom.
-won't boot\...something about file not found
+won't boot...something about file not found
---------------------------------------------
Your device names (i.e. usb0, usb1, sd0, sd1, wd0, ahci0, hd0, etc) and
@@ -151,4 +146,9 @@ numbers may differ. Use TAB completion.
Copyright © 2016 Leah Rowe <info@minifree.org>\
Copyright © 2016 Scott Bonds <scott@ggr.com>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/bsd/index.md b/docs/bsd/index.md
index c313128d..6fc5d7e6 100644
--- a/docs/bsd/index.md
+++ b/docs/bsd/index.md
@@ -15,4 +15,9 @@ instructions have yet to be written.**
- [How to install FreeBSD on a libreboot system](freebsd.md)
Copyright © 2016 Scott Bonds <scott@ggr.com>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/bsd/netbsd.md b/docs/bsd/netbsd.md
index 2e52b376..226b3b96 100644
--- a/docs/bsd/netbsd.md
+++ b/docs/bsd/netbsd.md
@@ -1,5 +1,6 @@
---
title: How to install NetBSD on a libreboot system
+x-toc-enable: true
...
This section relates to preparing, booting and installing NetBSD on your
@@ -14,13 +15,6 @@ Thanks go to ioxcide in [this Reddit
post](https://www.reddit.com/r/BSD/comments/53jt70/libreboot_and_bsds/)
for the initial instructions.
-- [Prepare the USB drive (in NetBSD)](#prepare)
-- [Installing NetBSD without full disk encryption](#noencryption)
-- [Installing NetBSD with full disk encryption](#encryption)
-- [Booting](#booting)
-- [Configuring Grub](#configuring_grub)
-- [Troubleshooting](#troubleshooting)
-
**This section is only for the GRUB payload. For depthcharge (used on
CrOS devices in libreboot), instructions have yet to be written in the
libreboot documentation.**
@@ -81,6 +75,7 @@ the bootable NetBSD USB drive:
Connect the USB drive. Check dmesg:
$ dmesg
+
Check lsblk to confirm which drive it is:
$ lsblk
@@ -135,14 +130,13 @@ command to boot NetBSD every time, you can create a GRUB configuration
that's aware of your NetBSD installation and that will automatically be
used by libreboot.
-On your NetBSD root partition, create the **/grub** directory and add
-the file **libreboot\_grub.cfg** to it. Inside the
-**libreboot\_grub.cfg** add these lines:
+On your NetBSD root partition, create the `/grub` directory and add
+the file `libreboot_grub.cfg` to it. Inside the
+`libreboot_grub.cfg` add these lines:
-**default=0 timeout=3 menuentry "NetBSD" {\
-    knetbsd -r wd0a (ahci0,netbsd1)/netbsd\
-}\
-**
+ default=0 timeout=3 menuentry "NetBSD" {
+     knetbsd -r wd0a (ahci0,netbsd1)/netbsd
+ }
The next time you boot, you'll see the old Grub menu for a few seconds,
then you'll see the a new menu with only NetBSD on the list. After 3
@@ -160,7 +154,7 @@ because it doesn't exist.
In most cases, you should use the vesafb ROM images. Example filename:
libreboot\_ukdvorak\_vesafb.rom.
-won't boot\...something about file not found
+won't boot...something about file not found
---------------------------------------------
Your device names (i.e. usb0, usb1, sd0, sd1, wd0, ahci0, hd0, etc) and
@@ -168,4 +162,9 @@ numbers may differ. Use TAB completion.
Copyright © 2016 Leah Rowe <info@minifree.org>\
Copyright © 2016 Scott Bonds <scott@ggr.com>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/bsd/openbsd.md b/docs/bsd/openbsd.md
index c86eb39e..8c33e5df 100644
--- a/docs/bsd/openbsd.md
+++ b/docs/bsd/openbsd.md
@@ -1,5 +1,6 @@
---
title: How to install LibertyBSD or OpenBSD on a libreboot system
+x-toc-enable: true
...
NOTE: This guide was written for OpenBSD by the person who contributed
@@ -13,13 +14,6 @@ This section relates to preparing, booting and installing OpenBSD on
your libreboot system, using nothing more than a USB flash drive (and
*dd*). They've only been tested on a Lenovo ThinkPad x200.
-- [Prepare the USB drive (in OpenBSD)](#prepare)
-- [Installing OpenBSD without full disk encryption](#noencryption)
-- [Installing OpenBSD with full disk encryption](#encryption)
-- [Booting](#booting)
-- [Configuring Grub](#configuring_grub)
-- [Troubleshooting](#troubleshooting)
-
**This section is only for the GRUB payload. For depthcharge (used on
CrOS devices in libreboot), instructions have yet to be written in the
libreboot documentation.**
@@ -80,6 +74,7 @@ the bootable OpenBSD USB drive:
Connect the USB drive. Check dmesg:
$ dmesg
+
Check lsblk to confirm which drive it is:
$ lsblk
@@ -156,14 +151,12 @@ command to boot OpenBSD every time, you can create a GRUB configuration
that's aware of your OpenBSD installation and that will automatically
be used by libreboot.
-On your OpenBSD root partition, create the **/grub** directory and add
-the file **libreboot\_grub.cfg** to it. Inside the
-**libreboot\_grub.cfg** add these lines:
+On your OpenBSD root partition, create the `/grub` directory and add the file
+`libreboot_grub.cfg` to it. Inside the `libreboot_grub.cfg` add these lines:
-**default=0 timeout=3 menuentry "OpenBSD" {\
-    kopenbsd -r sd0a (ahci0,openbsd1)/bsd\
-}\
-**
+ default=0 timeout=3 menuentry "OpenBSD" {
+     kopenbsd -r sd0a (ahci0,openbsd1)/bsd
+ }
The next time you boot, you'll see the old Grub menu for a few seconds,
then you'll see the a new menu with only OpenBSD on the list. After 3
@@ -181,7 +174,7 @@ because it doesn't exist.
In most cases, you should use the vesafb ROM images. Example filename:
libreboot\_ukdvorak\_vesafb.rom.
-won't boot\...something about file not found
+Won't boot...something about file not found
---------------------------------------------
Your device names (i.e. usb0, usb1, sd0, sd1, wd0, ahci0, hd0, etc) and
@@ -189,4 +182,9 @@ numbers may differ. Use TAB completion.
Copyright © 2016 Scott Bonds <scott@ggr.com>\
Copyright © 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/depthcharge/index.md b/docs/depthcharge/index.md
index cd9a3943..1c0c8d13 100644
--- a/docs/depthcharge/index.md
+++ b/docs/depthcharge/index.md
@@ -1,24 +1,11 @@
---
title: Depthcharge payload
+x-toc-enable: true
...
This section relates to the depthcharge payload used in libreboot.
-- [CrOS security model](#cros_security_model)
-- [Developer mode screen](#developer_mode_screen)
- - Holding the developer mode screen
- - Booting normally
- - Booting from different mediums
- - Showing device information
- - Warnings
-
-- [Recovery mode screen](#recovery_mode_screen)
- - [Recovering from a bad state](#recovering_bad_state)
- - [Enabling developer mode](#enabling_developer_mode)
-- [Configuring verified boot
- parameters](#configuring_verified_boot_parameters)
-
-CrOS security model {#cros_security_model}
+CrOS security model
===================
CrOS (Chromium OS/Chrome OS) devices such as Chromebooks implement a
@@ -32,27 +19,24 @@ kernels without verifying their signature and booting from external
media or legacy payload unless explicitly allowed: see [configuring
verified boot parameters](#configuring_verified_boot_parameters).
-Developer mode screen {#developer_mode_screen}
+Developer mode screen
=====================
-The developer mode screen can be accessed in depthcharge when developer
-mode is enabled.\
-Developer mode can be enabled from the [recovery mode
-screen](#recovery_mode_screen).
+The developer mode screen can be accessed in depthcharge when developer mode is
+enabled. Developer mode can be enabled from the recovery mode screen.
It allows booting normally, booting from internal storage, booting from
-external media (when enabled), booting from legacy payload (when
-enabled), showing information about the device and disabling developer
-mode.
+external media (when enabled), booting from legacy payload (when enabled),
+showing information about the device and disabling developer mode.
-Holding the developer mode screen {#holding_developer_mode_screen}
+Holding the developer mode screen
---------------------------------
As instructed on the developer mode screen, the screen can be held by
pressing **Ctrl + H** in the first 3 seconds after the screen is shown.
After that delay, depthcharge will resume booting normally.
-Booting normally {#booting_normally}
+Booting normally
----------------
As instructed on the developer mode screen, a regular boot will happen
@@ -60,7 +44,7 @@ after **3 seconds** (if developer mode screen is not held).\
The default boot medium (internal storage, external media, legacy
payload) is shown on screen.
-Booting from different mediums {#booting_different_mediums}
+Booting from different mediums
------------------------------
Depthcharge allows booting from different mediums, when they are allowed
@@ -74,13 +58,12 @@ can be triggered by pressing various key combinations:
- External media: **Ctrl + U** (when enabled)
- Legacy payload: **Ctrl + L** (when enabled)
-Showing device information {#showing_device_information}
+Showing device information
--------------------------
-As instructed on the developer mode screen, showing device information
-can be triggered by pressing **Ctrl + I** or **Tab**.\
-Various information is shown, including vboot non-volatile data, TPM
-status, GBB flags and key hashes.\
+As instructed on the developer mode screen, showing device information can be
+triggered by pressing **Ctrl + I** or **Tab**. Various information is shown,
+including vboot non-volatile data, TPM status, GBB flags and key hashes.
Warnings
--------
@@ -91,7 +74,7 @@ The developer mode screen will show warnings when:
- Booting from external media is enabled
- Booting legacy payloads is enabled
-Recovery mode screen {#recovery_mode_screen}
+Recovery mode screen
====================
The recovery mode screen can be accessed in depthcharge, by pressing
@@ -101,7 +84,7 @@ It allows recovering the device from a bad state by booting from a
trusted recovery media. When accessed with the device in a good state,
it also allows enabling developer mode.
-Recovering from a bad state {#recovering_bad_state}
+Recovering from a bad state
---------------------------
When the device fails to verify the signature of a piece of the boot
@@ -127,15 +110,14 @@ replaced. When the recovery private key is available (e.g. when using
self-generated keys), it can be used to sign a kernel for recovery
purposes.
-Enabling developer mode {#enabling_developer_mode}
+Enabling developer mode
-----------------------
As instructed on the recovery mode screen, developer mode can be enabled
-by pressing **Ctrl + D**.\
-Instructions to confirm enabling developer mode are then shown on
-screen.
+by pressing **Ctrl + D**. Instructions to confirm enabling developer mode are
+then shown on screen.
-Configuring verified boot parameters {#configuring_verified_boot_parameters}
+Configuring verified boot parameters
====================================
Depthcharge's behavior relies on the verified boot (vboot) reference
@@ -161,37 +143,32 @@ security of the device.
The following parameters can be configured:
-- Kernels signature verification:
- - Enabled with:
+Kernels signature verification:
- \# **crossystem dev\_boot\_signed\_only=1**
- - Disabled with:
+ # crossystem dev_boot_signed_only=1 # enable
+ # crossystem dev_boot_signed_only=0 # disable
- \# **crossystem dev\_boot\_signed\_only=0**
-- External media boot:
- - Enabled with:
+External media boot:
- \# **crossystem dev\_boot\_usb=1**
- - Disabled with:
+ # crossystem dev_boot_usb=1 # enable
+ # crossystem dev_boot_usb=0 # disable
- \# **crossystem dev\_boot\_usb=0**
-- Legacy payload boot:
- - Enabled with:
+Legacy payload boot:
- \# **crossystem dev\_boot\_legacy=1**
- - Disabled with:
+ # crossystem dev_boot_legacy=1 # enable
+ # crossystem dev_boot_legacy=0 # disable
- \# **crossystem dev\_boot\_legacy=0**
-- Default boot medium:
- - Internal storage:
+Default boot medium:
- \# **crossystem dev\_default\_boot=disk**
- - External media:
+ # crossystem dev_default_boot=disk # internal storage
+ # crossystem dev_default_boot=usb # external media
+ # crossystem dev_default_boot=legacy # legacy payload
- \# **crossystem dev\_default\_boot=usb**
- - Legacy payload:
-
- \# **crossystem dev\_default\_boot=legacy**
Copyright © 2015 Paul Kocialkowski <contact@paulk.fr>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/fdl-1.3.md b/docs/fdl-1.3.md
new file mode 100644
index 00000000..0f883f0c
--- /dev/null
+++ b/docs/fdl-1.3.md
@@ -0,0 +1,449 @@
+---
+title: GNU Free Documentation License
+...
+
+Version 1.3, 3 November 2008
+
+Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation,
+Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+#### 0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals; it
+can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+#### 1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The "Document", below, refers
+to any such manual or work. Any member of the public is a licensee,
+and is addressed as "you". You accept the license if you copy, modify
+or distribute the work in a way requiring permission under copyright
+law.
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject. (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may be
+at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of
+the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+#### 2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no
+other conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+#### 3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify you
+as the publisher of these copies. The front cover must present the
+full title with all words of the title equally prominent and visible.
+You may add other material on the covers in addition. Copying with
+changes limited to the covers, as long as they preserve the title of
+the Document and satisfy these conditions, can be treated as verbatim
+copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to
+give them a chance to provide you with an updated version of the
+Document.
+
+#### 4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+- A. Use in the Title Page (and on the covers, if any) a title
+ distinct from that of the Document, and from those of previous
+ versions (which should, if there were any, be listed in the
+ History section of the Document). You may use the same title as a
+ previous version if the original publisher of that version
+ gives permission.
+- B. List on the Title Page, as authors, one or more persons or
+ entities responsible for authorship of the modifications in the
+ Modified Version, together with at least five of the principal
+ authors of the Document (all of its principal authors, if it has
+ fewer than five), unless they release you from this requirement.
+- C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+- D. Preserve all the copyright notices of the Document.
+- E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+- F. Include, immediately after the copyright notices, a license
+ notice giving the public permission to use the Modified Version
+ under the terms of this License, in the form shown in the
+ Addendum below.
+- G. Preserve in that license notice the full lists of Invariant
+ Sections and required Cover Texts given in the Document's
+ license notice.
+- H. Include an unaltered copy of this License.
+- I. Preserve the section Entitled "History", Preserve its Title,
+ and add to it an item stating at least the title, year, new
+ authors, and publisher of the Modified Version as given on the
+ Title Page. If there is no section Entitled "History" in the
+ Document, create one stating the title, year, authors, and
+ publisher of the Document as given on its Title Page, then add an
+ item describing the Modified Version as stated in the
+ previous sentence.
+- J. Preserve the network location, if any, given in the Document
+ for public access to a Transparent copy of the Document, and
+ likewise the network locations given in the Document for previous
+ versions it was based on. These may be placed in the "History"
+ section. You may omit a network location for a work that was
+ published at least four years before the Document itself, or if
+ the original publisher of the version it refers to
+ gives permission.
+- K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+- L. Preserve all the Invariant Sections of the Document, unaltered
+ in their text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
+- M. Delete any section Entitled "Endorsements". Such a section may
+ not be included in the Modified Version.
+- N. Do not retitle any existing section to be Entitled
+ "Endorsements" or to conflict in title with any Invariant Section.
+- O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties—for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+#### 5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all sections
+Entitled "Endorsements".
+
+#### 6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other
+documents released under this License, and replace the individual
+copies of this License in the various documents with a single copy
+that is included in the collection, provided that you follow the rules
+of this License for verbatim copying of each of the documents in all
+other respects.
+
+You may extract a single document from such a collection, and
+distribute it individually under this License, provided you insert a
+copy of this License into the extracted document, and follow this
+License in all other respects regarding verbatim copying of that
+document.
+
+#### 7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+#### 8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+#### 9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt otherwise
+to copy, modify, sublicense, or distribute it is void, and will
+automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
+
+#### 10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the
+GNU Free Documentation License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in
+detail to address new problems or concerns. See
+<http://www.gnu.org/copyleft/>.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation. If the Document specifies
+that a proxy can decide which future versions of this License can be
+used, that proxy's public statement of acceptance of a version
+permanently authorizes you to choose that version for the Document.
+
+#### 11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+"Massive Multiauthor Collaboration" (or "MMC") contained in the site
+means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in
+part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
+### ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (C) YEAR YOUR NAME.
+
+
+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;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with … Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License, to
+permit their use in free software.
diff --git a/docs/git/index.md b/docs/git/index.md
index ec1cfb04..c820bc69 100644
--- a/docs/git/index.md
+++ b/docs/git/index.md
@@ -1,5 +1,6 @@
---
title: Instructions for compiling from the source code
+x-toc-enable: true
...
Depthcharge is currently not documented, since it is in the new build
@@ -9,15 +10,7 @@ included in the BUILD\_HOWTO file in libreboot.git or \_src.
This section relates to building libreboot from source, and working with
the git repository.
-- [Install build dependencies](#build_dependencies)
-- [Get the full source code from metadata (git clone)](#build_meta)
-- [How to build "bucts" (for LenovoBIOS
- X60/X60S/X60T/T60)](#build_bucts)
-
-- [How to build "flashrom"](#build_flashrom)
-- [How to build the ROM images](#build)
-
-Install build dependencies {#build_dependencies}
+Install build dependencies
==========================
Before doing anything, you need the dependencies first. This is true if
@@ -28,17 +21,22 @@ statically compiled executables for the utilities are included.**
For Debian Stretch (may also work on Debian Jessie), you can run the
following command:
+
$ sudo ./oldbuild dependencies debian
+
(this will also work in Devuan)
For Parabola, you can run the following command:
+
$ sudo ./oldbuild dependencies parabola\
+
or:
+
# ./oldbuild dependencies parabola
For other GNU+Linux distributions, you can adapt the existing scripts.
-Get the full source code from metadata (git clone) {#build_meta}
+Get the full source code from metadata (git clone)
==================================================
If you downloaded libreboot from git, then there are some steps to
@@ -57,6 +55,7 @@ requirement is:
$ git config --global user.name "Your Name"
$ git config --global user.email your@emailaddress.com
+
This is what will also appear in git logs if you ever commit your own
changes to a given repository. For more information, see
<http://git-scm.com/doc>.
@@ -79,7 +78,7 @@ them. Read the script in a text editor to learn more.
To build the ROM images, see [\#build](#build).
-How to build "bucts" (for LenovoBIOS X60/X60S/X60T/T60) {#build_bucts}
+How to build "bucts" (for LenovoBIOS X60/X60S/X60T/T60)
=========================================================
**This is for Lenovo BIOS users on the ThinkPad X60/X60S, X60 Tablet and
@@ -136,7 +135,7 @@ To statically compile it, do this:
The "builddeps" script in libreboot\_src also makes use of
builddeps-bucts.
-How to build "flashrom" {#build_flashrom}
+How to build "flashrom"
=========================
Flashrom is the utility for flashing/dumping ROM images. This is what
@@ -177,7 +176,7 @@ executables:
The "builddeps" script in libreboot\_src also makes use of
builddeps-flashrom.
-How to build the ROM images {#build}
+How to build the ROM images
===========================
You don't need to do much, as there are scripts already written for you
@@ -211,12 +210,14 @@ modulename*. To see the possible values for *modulename*, use:
After that, build the ROM images (for all boards):
$ ./oldbuild roms withgrub
+
Alternatively, you can build for a specific board or set of boards. For
example:
$ ./oldbuild roms withgrub x60
$ ./oldbuild roms withgrub x200\_8mb
$ ./oldbuild roms withgrub x60 x200\_8mb
+
The list of board options can be found by looking at the directory names
in **resources/libreboot/config/grub/**.
@@ -314,6 +315,7 @@ The command that you used for generating the release archives will also
run the following command:
$ ./oldbuild release tobuild
+
The archive **tobuild.tar.xz** will have been created under
**release/oldbuildsystem/**, containing bucts, flashrom and all other
required resources for building them.
@@ -326,4 +328,9 @@ The ROM images will be stored in separate archives for each system,
under **release/oldbuildsystem/rom/**.
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/gnulinux/configuring_parabola.md b/docs/gnulinux/configuring_parabola.md
index f760c64b..2aef3624 100644
--- a/docs/gnulinux/configuring_parabola.md
+++ b/docs/gnulinux/configuring_parabola.md
@@ -1,5 +1,6 @@
---
title: Configuring Parabola (post-install)
+x-toc-enable: true
...
Post-installation configuration steps for Parabola GNU+Linux-libre.
@@ -7,38 +8,6 @@ Parabola is extremely flexible; this is just an example. This example
uses LXDE because it's lightweight, but we recommend the *MATE* desktop
(which is actually about as lightweight as LXDE).
-Table of Contents
-=================
-
-- [Configuring pacman](#pacman_configure)
- - [Updating Parabola](#pacman_update)
- - [Maintaining Parabola during system updates](#pacman_maintain)
- - [Clearing package cache after updating](#pacman_cacheclean)
- - [Pacman command equivalents (compared to other package
- managers)](#pacman_commandequiv)
- - [your-freedom](#yourfreedom)
-
-- [Add a user account](#useradd)
-- [System D](#systemd)
-- [Interesting repositories](#interesting_repos)
-- [Setup a network connection in Parabola](#network)
- - [Setting hostname](#network_hostname)
- - [Network status](#network_status)
- - [Network interface names](#network_devicenames)
- - [Network setup](#network_setup)
-- [System maintenance](#system_maintain) - important!
-- [Configuring the desktop](#desktop)
- - [Install Xorg](#desktop_xorg)
- - [Xorg keyboard layout](#desktop_kblayout)
- - [Install LXDE](#desktop_lxde)
- - [LXDE - clock](#lxde_clock)
- - [LXDE - font](#lxde_font)
- - [LXDE - screenlock](#lxde_screenlock)
- - [LXDE - automounting](#lxde_automount)
- - [LXDE - disable suspend](#lxde_suspend)
- - [LXDE - battery monitor](#lxde_battery)
- - [LXDE - network manager](#lxde_network)
-
While not strictly related to the libreboot project, this guide is
intended to be useful for those interested in installing Parabola on
their libreboot system.
@@ -86,9 +55,13 @@ careful about this when reading anything on the Arch wiki.
Some of these steps require internet access. I'll go into networking
later but for now, I just connected my system to a switch and did:
+
# systemctl start dhcpcd.service
+
You can stop it later by running:
+
# systemctl stop dhcpcd.service\
+
For most people this should be enough, but if you don't have DHCP on
your network then you should setup your network connection first:\
[Setup network connection in Parabola](#network)
@@ -114,6 +87,7 @@ In the end, I didn't change my configuration for pacman. When you are
updating, resync with the latest package names/versions:
# pacman -Syy
+
(according to the wiki, -Syy is better than Sy because it refreshes the
package list even if it appears to be up to date, which can be useful
when switching to another mirror).\
@@ -190,6 +164,7 @@ The wiki also mentions this method for removing everything from the
cache, including currently installed packages that are cached:
# pacman -Scc
+
This is inadvisable, since it means re-downloading the package again if
you wanted to quickly re-install it. This should only be used when disk
space is at a premium.
@@ -227,6 +202,7 @@ Read the entire document linked to above, and then continue.
Add your user:
# useradd -m -G wheel -s /bin/bash *yourusername*
+
Set a password:
# passwd *yourusername*
@@ -254,6 +230,7 @@ supplier) to use systemd.
The manpage should also help:
# man systemd
+
The section on 'unit types' is especially useful.
According to the wiki, systemd 'journal' keeps logs of a size up to
@@ -287,9 +264,11 @@ Finally, the wiki mentions 'temporary' files and the utility for
managing them.
# man systemd-tmpfiles
+
The command for 'clean' is:
# systemd-tmpfiles --clean
+
According to the manpage, this *"cleans all files and directories with
an age parameter"*. According to the Arch wiki, this reads information
in /etc/tmpfiles.d/ and /usr/lib/tmpfiles.d/ to know what actions to
@@ -301,6 +280,7 @@ However, /usr/lib/tmpfiles.d/ contained some files. The first one was
etc.conf, containing information and a reference to this manpage:
# man tmpfiles.d
+
Read that manpage, and then continue studying all the files.
The systemd developers tell me that it isn't usually necessary to touch
@@ -343,6 +323,7 @@ when installing Parabola. You can also do it with systemd (do so now, if
you like):
# hostnamectl set-hostname *yourhostname*
+
This writes the specified hostname to /etc/hostname. More information
can be found in these manpages:
@@ -430,6 +411,7 @@ non-free firmware inside, but it's transparent to you but the smart
data comes from it. Therefore, don't rely on it too much):
# pacman -S smartmontools
+
Read <https://wiki.archlinux.org/index.php/S.M.A.R.T.> to learn how to
use it.
@@ -449,6 +431,7 @@ Based on <https://wiki.archlinux.org/index.php/Xorg>.
Firstly, install it!
# pacman -S xorg-server
+
I also recommend installing this (contains lots of useful tools,
including *xrandr*):
@@ -458,9 +441,11 @@ Install the driver. For me this was *xf86-video-intel* on the ThinkPad
X60. T60 and macbook11/21 should be the same.
# pacman -S xf86-video-intel
+
For other systems you can try:
# pacman -Ss xf86-video- | less
+
Combined with looking at your *lspci* output, you can determine which
driver is needed. By default, Xorg will revert to xf86-video-vesa which
is a generic driver and doesn't provide true hardware acceleration.
@@ -566,6 +551,7 @@ I also like to install these:
Enable LXDM (the default display manager, providing a graphical login):
# systemctl enable lxdm.service
+
It will start when you boot up the system. To start it now, do:
# systemctl start lxdm.service
@@ -576,17 +562,20 @@ start lxde without lxdm. Read
<https://wiki.archlinux.org/index.php/Xinitrc>.
Open LXterminal:
+
$ cp /etc/skel/.xinitrc \~
+
Open .xinitrc and add the following plus a line break at the bottom of
the file.\
*\# Probably not needed. The same locale info that we set before\
\# Based on advice from the LXDE wiki export LC\_ALL=en\_GB.UTF-8\
export LANGUAGE=en\_GB.UTF-8\
export LANG=en\_GB.UTF-8\
-\
+
\# Start lxde desktop\
exec startlxde\
* Now make sure that it is executable:
+
$ chmod +x .xinitrc
### LXDE - clock {#lxde_clock}
@@ -643,6 +632,7 @@ Install Network Manager:
You will also want the graphical applet:
# pacman -S network-manager-applet
+
Arch wiki says that an autostart rule will be written at
*/etc/xdg/autostart/nm-applet.desktop*
@@ -657,6 +647,7 @@ LXDE uses openbox, so I refer to:\
It tells me for the applet I need:
# pacman -S xfce4-notifyd gnome-icon-theme
+
Also, for storing authentication details (wifi) I need:
# pacman -S gnome-keyring
@@ -665,6 +656,7 @@ I wanted to quickly enable networkmanager:
# systemctl stop dhcpcd
# systemctl start NetworkManager
+
Enable NetworkManager at boot time:
# systemctl enable NetworkManager
@@ -676,4 +668,9 @@ add a new applet). I also later changed the icons to use the gnome icon
theme, in *lxappearance*.
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/gnulinux/encrypted_debian.md b/docs/gnulinux/encrypted_debian.md
index 6041f1d0..2a1e2e79 100644
--- a/docs/gnulinux/encrypted_debian.md
+++ b/docs/gnulinux/encrypted_debian.md
@@ -22,17 +22,20 @@ tampering by someone with physical access to the system.
This guide is written for Debian net installer. You can download the ISO
from the homepage on [debian.org](https://www.debian.org/). Use this on
-the GRUB terminal to boot it from USB (for 64-bit Intel or AMD):\
-**set root='usb0'\
-linux /install.amd/vmlinuz\
-initrd /install.amd/initrd.gz\
-boot\
-** If you are on a 32-bit system (e.g. X60):\
-**set root='usb0'\
-linux /install.386/vmlinuz\
-initrd /install.386/initrd.gz\
-boot**
-
+the GRUB terminal to boot it from USB (for 64-bit Intel or AMD):
+
+ set root='usb0'
+ linux /install.amd/vmlinuz
+ initrd /install.amd/initrd.gz
+ boot
+
+If you are on a 32-bit system (e.g. X60):
+
+ set root='usb0'
+ linux /install.386/vmlinuz
+ initrd /install.386/initrd.gz
+ boot
+
[This guide](grub_boot_installer.md) shows how to create a boot USB
drive with the Debian ISO image.
@@ -165,13 +168,11 @@ Booting your system
===================
At this point, you will have finished the installation. At your GRUB
-payload, press C to get to the command line.
+payload, press C to get to the command line, and enter:
-Do that:\
grub> cryptomount -a
- grub> set root='lvm/matrix-rootvol'\
-grub> **linux /vmlinuz root=/dev/mapper/matrix-rootvol
-cryptdevice=/dev/mapper/matrix-rootvol:root**\
+ grub> set root='lvm/matrix-rootvol'
+ grub> linux /vmlinuz root=/dev/mapper/matrix-rootvolcryptdevice=/dev/mapper/matrix-rootvol:root
grub> initrd /initrd.img
grub> boot
@@ -182,6 +183,7 @@ If you didn't encrypt your home directory, then you can safely ignore
this section.
Immediately after logging in, do that:
+
$ sudo ecryptfs-unwrap-passphrase
This will be needed in the future if you ever need to recover your home
@@ -199,12 +201,11 @@ Modify your grub.cfg (in the firmware) [using this
tutorial](grub_cbfs.md); just change the default menu entry 'Load
Operating System' to say this inside:
-**cryptomount -a**\
-**set root='lvm/matrix-rootvol'**\
-**linux /vmlinuz root=/dev/mapper/matrix-rootvol
-cryptdevice=/dev/mapper/matrix-rootvol:root**\
-**initrd /initrd.img**
-
+ cryptomount -a
+ set root='lvm/matrix-rootvol'
+ linux /vmlinuz root=/dev/mapper/matrix-rootvolcryptdevice=/dev/mapper/matrix-rootvol:root
+ initrd /initrd.img
+
Without specifying a device, the *-a* parameter tries to unlock all
detected LUKS volumes. You can also specify -u UUID or -a (device).
@@ -301,4 +302,9 @@ problems. Removing that worked around the issue.
Does not write ultra high speed+ CD-RW media
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/gnulinux/encrypted_parabola.md b/docs/gnulinux/encrypted_parabola.md
index b88da31c..deb0ba4e 100644
--- a/docs/gnulinux/encrypted_parabola.md
+++ b/docs/gnulinux/encrypted_parabola.md
@@ -65,12 +65,14 @@ article](https://wiki.archlinux.org/index.php/Solid_State_Drives). Edit
whole article and keep all points in mind, adapting them for this guide.
Securely wipe the drive:
+
# dd if=/dev/urandom of=/dev/sda; sync
NOTE: If you have an SSD, only do this the first time. If it was already
LUKS-encrypted before, use the info below to wipe the LUKS header. Also,
check online for your SSD what the recommended erase block size is. For
example if it was 2MiB:
+
# dd if=/dev/urandom of=/dev/sda bs=2M; sync
If your drive was already LUKS encrypted (maybe you are re-installing
@@ -82,6 +84,7 @@ guide is recommending putting zero there. I'm going to use urandom. Do
this:
# head -c 3145728 /dev/urandom > /dev/sda; sync
+
(Wiping the LUKS header is important, since it has hashed passphrases
and so on. It's 'secure', but 'potentially' a risk).
@@ -93,6 +96,7 @@ list the available keymaps and use yours:
# localectl list-keymaps
# loadkeys LAYOUT
+
For me, LAYOUT would have been dvorak-uk.
Establish an internet connection
@@ -142,13 +146,14 @@ I am then directed to
Parabola forces you to RTFM. Do that.
-It tells me to run:
+To populate the list below, it tells me to run:
+
+ # cryptsetup benchmark
- # cryptsetup benchmark (for making sure the list below is
-populated)\
Then:
# cat /proc/crypto
+
This gives me crypto options that I can use. It also provides a
representation of the best way to set up LUKS (in this case, security is
a priority; speed, a distant second). To gain a better understanding, I
@@ -162,10 +167,14 @@ on
Reading through, it seems like Serpent (encryption) and Whirlpool (hash)
is the best option.
-I am initializing LUKS with the following:\
-\# **cryptsetup -v --cipher serpent-xts-plain64 --key-size 512 --hash
+I am initializing LUKS with the following:
+
+ # cryptsetup -v --cipher serpent-xts-plain64 --key-size 512 --hash
+
whirlpool --iter-time 500 --use-random --verify-passphrase luksFormat
-/dev/sda1** Choose a **secure** passphrase here. Ideally lots of
+/dev/sda1
+
+ Choose a **secure** passphrase here. Ideally lots of
lowercase/uppercase numbers, letters, symbols etc all in a random
pattern. The password length should be as long as you are able to handle
without writing it down or storing it anywhere.
@@ -178,14 +187,14 @@ Create LVM
Now I refer to <https://wiki.archlinux.org/index.php/LVM>.
-Open the LUKS partition:
+Open the LUKS partition at /dev/mapper/lvm:
# cryptsetup luksOpen /dev/sda1 lvm
-(it will be available at /dev/mapper/lvm)
Create LVM partition:
# pvcreate /dev/mapper/lvm
+
Show that you just created it:
# pvdisplay
@@ -194,22 +203,24 @@ Now I create the volume group, inside of which the logical volumes will
be created:
# vgcreate matrix /dev/mapper/lvm
+
(volume group name is 'matrix' - choose your own name, if you like)
Show that you created it:
# vgdisplay
-Now create the logical volumes:
+Now create the logical volumes (2G swap parittion named swapvol):
+
+ # lvcreate -L 2G matrix -n swapvol
- # lvcreate -L 2G matrix -n swapvol (2G swap partition, named
-swapvol)\
-Again, choose your own name if you like. Also, make sure to choose a
-swap size of your own needs. It basically depends on how much RAM you
-have installed. I refer to
+Again, choose your own name if you like. Also, make sure to choose a swap size
+of your own needs. It basically depends on how much RAM you have installed. I
+refer to
<http://www.linux.com/news/software/applications/8208-all-about-linux-swap-space>.
+This creates a single large partition in the rest of the space, named root:
+
+ # lvcreate -l +100%FREE matrix -n root
- # lvcreate -l +100%FREE matrix -n root (single large partition in
-the rest of the space, named root)\
You can also be flexible here, for example you can specify a /boot, a /,
a /home, a /var, a /usr, etc. For example, if you will be running a
web/mail server then you want /var in its own partition (so that if it
@@ -227,6 +238,7 @@ Create / and swap partitions, and mount
For the swapvol LV I use:
# mkswap /dev/mapper/matrix-swapvol
+
Activate swap:
# swapon /dev/matrix/swapvol
@@ -263,49 +275,70 @@ server)) and then did:
# pacman -Syy
# pacman -Syu
- # pacman -Sy pacman (and then I did the other 2 steps above,
-again)\
+ # pacman -Sy pacman
+
In my case I did the steps in the next paragraph, and followed the steps
in this paragraph again.
-<troubleshooting>\
-   The following is based on 'Verification of package signatures' in
-the Parabola install guide.\
-   Check there first to see if steps differ by now.\
-   Now you have to update the default Parabola keyring. This is used for
-signing and verifying packages:\
-   \# **pacman -Sy parabola-keyring**\
-   It says that if you get GPG errors, then it's probably an expired
-key and, therefore, you should do:\
-   \# **pacman-key --populate parabola**\
-   \# **pacman-key --refresh-keys**\
-   \# **pacman -Sy parabola-keyring**\
-   To be honest, you should do the above anyway. Parabola has a lot of
-maintainers, and a lot of keys. Really!\
-   If you get an error mentioning dirmngr, do:\
-   \# **dirmngr </dev/null**\
-   Also, it says that if the clock is set incorrectly then you have to
-manually set the correct time\
-   (if keys are listed as expired because of it):\
-   \# **date MMDDhhmm\[\[CC\]YY\]\[.ss\]**\
-   I also had to install:\
-   \# **pacman -S archlinux-keyring**\
-   \# **pacman-key --populate archlinux**\
-   In my case I saw some conflicting files reported in pacman, stopping
-me from using it.\
-   I deleted the files that it mentioned and then it worked.
-Specifically, I had this error:\
-   *licenses: /usr/share/licenses/common/MPS exists in filesystem*\
-   I rm -Rf'd the file and then pacman worked. I'm told that the
-following would have also made it work:\
-   \# **pacman -Sf licenses**\
-</troubleshooting>\
+Troubleshooting
+---------------
+
+The following is based on 'Verification of package signatures' in
+the Parabola install guide.
+
+Check there first to see if steps differ by now.
+
+Now you have to update the default Parabola keyring. This is used for
+signing and verifying packages:
+
+   # pacman -Sy parabola-keyring
+
+It says that if you get GPG errors, then it's probably an expired
+key and, therefore, you should do:
+
+   # pacman-key --populate parabola
+   # pacman-key --refresh-keys
+   # pacman -Sy parabola-keyring
+
+To be honest, you should do the above anyway. Parabola has a lot of
+maintainers, and a lot of keys. Really!
+
+If you get an error mentioning dirmngr, do:
+
+   # dirmngr < /dev/null
+
+Also, it says that if the clock is set incorrectly then you have to manually
+set the correct time
+
+   # date MMDDhhmm\[\[CC\]YY\]\[.ss\]
+
+I also had to install:
+
+   # pacman -S archlinux-keyring
+   # pacman-key --populate archlinux
+
+In my case I saw some conflicting files reported in pacman, stopping
+me from using it.
+I deleted the files that it mentioned and then it worked.
+Specifically, I had this error:
+
+   licenses: /usr/share/licenses/common/MPS exists in filesystem
+
+I rm -Rf'd the file and then pacman worked. I'm told that the
+following would have also made it work:
+
+ # pacman -Sf licenses
+
+More packages
+--------------
I also like to install other packages (base-devel, compilers and so on)
and wpa\_supplicant/dialog/iw/wpa\_actiond are needed for wireless after
-the install:\
-\# **pacstrap /mnt base base-devel wpa\_supplicant dialog iw
-wpa\_actiond**
+the install:
+
+ # pacstrap /mnt base base-devel wpa_supplicant dialog iw
+
+wpa\_actiond
Configure the system
--------------------
@@ -315,9 +348,11 @@ Generate an fstab - UUIDs are used because they have certain advantages
prefer labels instead, replace the -U option with -L):
# genfstab -U -p /mnt >> /mnt/etc/fstab
+
Check the created file:
# cat /mnt/etc/fstab
+
(If there are any errors, edit the file. Do **NOT** run the genfstab
command again!)
@@ -346,16 +381,18 @@ Parabola does not have wget. This is sinister. Install it:
Locale:
# vi /etc/locale.gen
+
Uncomment your needed localisations. For example en\_GB.UTF-8 (UTF-8 is
highly recommended over other options).
# locale-gen
- # echo LANG=en\_GB.UTF-8 > /etc/locale.conf
- # export LANG=en\_GB.UTF-8
+ # echo LANG=en_GB.UTF-8 > /etc/locale.conf
+ # export LANG=en_GB.UTF-8
Console font and keymap:
# vi /etc/vconsole.conf
+
In my case:
KEYMAP=dvorak-uk
@@ -364,6 +401,7 @@ In my case:
Time zone:
# ln -s /usr/share/zoneinfo/Europe/London /etc/localtime
+
(Replace Zone and Subzone to your liking. See /usr/share/zoneinfo)
Hardware clock:
@@ -374,6 +412,7 @@ Hostname: Write your hostname to /etc/hostname. For example, if your
hostname is parabola:
# echo parabola > /etc/hostname
+
Add the same hostname to /etc/hosts:
# vi /etc/hosts
@@ -392,6 +431,7 @@ Mkinitcpio: Configure /etc/mkinitcpio.conf as needed (see
information about each hook.) Specifically, for this use case:
# vi /etc/mkinitcpio.conf
+
Then modify the file like so:
- MODULES="i915"
@@ -418,9 +458,11 @@ with (this is different from Arch, specifying linux-libre instead of
linux):
# mkinitcpio -p linux-libre
+
Also do it for linux-libre-lts:
# mkinitcpio -p linux-libre-lts
+
Also do it for linux-libre-grsec:
# mkinitcpio -p linux-libre-grsec
@@ -430,9 +472,11 @@ default for its password hashing. I referred to
<https://wiki.archlinux.org/index.php/SHA_password_hashes>.
# vi /etc/pam.d/passwd
+
Add rounds=65536 at the end of the uncommented 'password' line.
# passwd root
+
Make sure to set a secure password! Also, it must never be the same as
your LUKS password.
@@ -457,7 +501,8 @@ file=/var/log/faillog*\
To unlock a user manually (if a password attempt is failed 3 times),
do:
- # pam\_tally --user *theusername* --reset What the above
+ # pam_tally --user *theusername* --reset What the above
+
configuration does is lock the user out for 10 minutes, if they make 3
failed login attempts.
@@ -487,6 +532,7 @@ Lock the encrypted partition (close it):
# cryptsetup luksClose lvm
# shutdown -h now
+
Remove the installation media, then boot up again.
Booting from GRUB
@@ -538,13 +584,18 @@ current firmware - where *libreboot.rom* is an example: make sure to
adapt:
# flashrom -p internal -r libreboot.rom
+
If flashrom complains about multiple flash chips detected, add a *-c*
option at the end, with the name of your chosen chip is quotes.\
You can check if everything is in there (*grub.cfg* and *grubtest.cfg*
would be really nice):
+
$ ./cbfstool libreboot.rom print
+
Extract grubtest.cfg:
+
$ ./cbfstool libreboot.rom extract -n grubtest.cfg -f grubtest.cfg\
+
And modify:
$ vi grubtest.cfg
@@ -578,20 +629,25 @@ Save your changes in grubtest.cfg, then delete the unmodified config
from the ROM image:
$ ./cbfstool libreboot.rom remove -n grubtest.cfg
-and insert the modified grubtest.cfg:\
-\$ **./cbfstool libreboot.rom add -n grubtest.cfg -f grubtest.cfg -t
-raw**\
+
+and insert the modified grubtest.cfg:
+
+ # ./cbfstool libreboot.rom add -n grubtest.cfg -f grubtest.cfg -t
+
+raw
Now refer to [../install/#flashrom](../install/#flashrom). Cd (up) to
the libreboot\_util directory and update the flash chip contents:
# ./flash update libreboot.rom
+
Ocassionally, coreboot changes the name of a given board. If flashrom
complains about a board mismatch, but you are sure that you chose the
correct ROM image, then run this alternative command:
# ./flash forceupdate libreboot.rom
-You should see "Verifying flash\... VERIFIED." written at the end of
+
+You should see "Verifying flash... VERIFIED." written at the end of
the flashrom output.
With this new configuration, Parabola can boot automatically and you
@@ -616,13 +672,17 @@ the main config still links (in the menu) to grubtest.cfg, so that you
don't have to manually switch to it, in case you ever want to follow
this guide again in the future (modifying the already modified config).
Inside libreboot\_util/cbfstool/{armv7l i686 x86\_64}, we can do this
-with the following command:\
-\$ **sed -e 's:(cbfsdisk)/grub.cfg:(cbfsdisk)/grubtest.cfg:g' -e
+with the following command:
+
+ # sed -e 's:(cbfsdisk)/grub.cfg:(cbfsdisk)/grubtest.cfg:g' -e
+
's:Switch to grub.cfg:Switch to grubtest.cfg:g' < grubtest.cfg >
-grub.cfg**\
+grub.cfg
+
Delete the grub.cfg that remained inside the ROM:
$ ./cbfstool libreboot.rom remove -n grub.cfg
+
Add the modified version that you just made:
$ ./cbfstool libreboot.rom add -n grub.cfg -f grub.cfg -t raw
@@ -632,7 +692,8 @@ Now you have a modified ROM. Once more, refer to
directory and update the flash chip contents:
# ./flash update libreboot.rom
-And wait for the "Verifying flash\... VERIFIED." Once you have done
+
+And wait for the "Verifying flash... VERIFIED." Once you have done
that, shut down and then boot up with your new configuration.
When done, delete GRUB (remember, we only needed it for the
@@ -656,26 +717,32 @@ will be asked to enter your passphrase a second time. A workaround is to
put a keyfile inside initramfs, with instructions for the kernel to use
it when booting. This is safe, because /boot/ is encrypted (otherwise,
putting a keyfile inside initramfs would be a bad idea).\
-Boot up and login as root or your user. Then generate the key file:\
-\# **dd bs=512 count=4 if=/dev/urandom of=/etc/mykeyfile
-iflag=fullblock**\
+Boot up and login as root or your user. Then generate the key file:
+
+ # dd bs=512 count=4 if=/dev/urandom of=/etc/mykeyfile
+
+iflag=fullblock
+
Insert it into the luks volume:
# cryptsetup luksAddKey /dev/sdX /etc/mykeyfile
+
and enter your LUKS passphrase when prompted. Add the keyfile to the
initramfs by adding it to FILES in /etc/mkinitcpio.conf. For example:
# FILES="/etc/mykeyfile"
+
Create the initramfs image from scratch:
# mkinitcpio -p linux-libre
# mkinitcpio -p linux-libre-lts
# mkinitcpio -p linux-libre-grsec
+
Add the following to your grub.cfg - you are now able to do that, see
above! -, or add it in the kernel command line for GRUB:
# cryptkey=rootfs:/etc/mykeyfile
-\
+
You can also place this inside the grub.cfg that exists in CBFS:
[grub\_cbfs.md](grub_cbfs.md).
@@ -774,4 +841,9 @@ problems. Removing that worked around the issue.
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
Copyright © 2015 Jeroen Quint <jezza@diplomail.ch>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/gnulinux/grub_boot_installer.md b/docs/gnulinux/grub_boot_installer.md
index e89bc99e..6137b5b7 100644
--- a/docs/gnulinux/grub_boot_installer.md
+++ b/docs/gnulinux/grub_boot_installer.md
@@ -1,18 +1,12 @@
---
title: How to install GNU+Linux on a libreboot system
+x-toc-enable: true
...
This section relates to preparing, booting and installing a GNU+Linux
distribution on your libreboot system, using nothing more than a USB
flash drive (and *dd*).
-- [Prepare the USB drive (in GNU+Linux)](#prepare)
-- [Installing GNU+Linux with full disk encryption](#encryption)
-- [Debian or Devuan net install?](#debian_netinstall)
-- [Booting ISOLINUX images (automatic method)](#parse_isolinux)
-- [Booting ISOLINUX images (manual method)](#manual_isolinux)
-- [Troubleshooting](#troubleshooting)
-
**This section is only for the GRUB payload. For depthcharge (used on
CrOS devices in libreboot), instructions have yet to be written in the
libreboot documentation.**
@@ -72,6 +66,7 @@ how to create the bootable GNU+Linux USB drive:
Connect the USB drive. Check dmesg:
$ dmesg | tail
+
Check to confirm which drive it is, for example, if you think its sd3:
$ disklabel sd3
@@ -92,10 +87,8 @@ Continue reading, for information about how to do that.
Installing GNU+Linux with full disk encryption
----------------------------------------------
-- [Installing Debian or Devuan GNU+Linux with full disk encryption
- (including /boot)](encrypted_debian.md)
-- [Installing Parabola GNU+Linux with full disk encryption (including
- /boot)](encrypted_parabola.md)
+- [Debian or Devuan GNU+Linux with full disk encryption](encrypted_debian.md)
+- [Parabola GNU+Linux with full disk encryption](encrypted_parabola.md)
Debian or Devuan net install?
-----------------------------
@@ -103,16 +96,21 @@ Debian or Devuan net install?
Download the Debian or Devuan net installer. You can download the ISO
from the homepage on [debian.org](https://www.debian.org/), or [the
Devuan homepage](https://www.devuan.org/) for Devuan. Use this on the
-GRUB terminal to boot it from USB (for 64-bit Intel or AMD):\
-**set root='usb0'\
-linux /install.amd/vmlinuz\
-initrd /install.amd/initrd.gz\
-boot\
-** If you are on a 32-bit system (e.g. X60):\
-**set root='usb0'\
-linux /install.386/vmlinuz\
-initrd /install.386/initrd.gz\
-boot**\
+GRUB terminal to boot it from USB (for 64-bit Intel or AMD):
+
+
+ set root='usb0'
+ linux /install.amd/vmlinuz
+ initrd /install.amd/initrd.gz
+ boot
+
+If you are on a 32-bit system (e.g. X60):
+
+ set root='usb0'
+ linux /install.386/vmlinuz
+ initrd /install.386/initrd.gz
+ boot
+
We recommend using the *MATE* desktop.
Booting ISOLINUX images (automatic method)
@@ -131,14 +129,21 @@ distribution. You must adapt them appropriately, for whatever GNU+Linux
distribution it is that you are trying to install.*
If the ISOLINUX parser or *Search for GRUB configuration* options won't
-work, then press C in GRUB to access the command line.\
+work, then press C in GRUB to access the command line.
+
grub> ls
-Get the device from above output, eg (usb0). Example:\
- grub> cat (usb0)/isolinux/isolinux.cfg\
+
+Get the device from above output, eg (usb0). Example:
+
+ grub> cat (usb0)/isolinux/isolinux.cfg
+
Either this will show the ISOLINUX menuentries for that ISO, or link to
-other .cfg files, for example /isolinux/foo.cfg.\
-If it did that, then you do:\
+other .cfg files, for example /isolinux/foo.cfg.
+
+If it did that, then you do:
+
grub> cat (usb0)/isolinux/foo.cfg
+
And so on, until you find the correct menuentries for ISOLINUX. **The
file */isolinux/foo.cfg* is a fictional example. Do not actually use
this example, unless you actually have that file, if it is
@@ -154,15 +159,17 @@ options in txt.cfg. This is important if you want 64-bit booting on your
system. Devuan versions based on Debian 8.x may also have the same
issue.
-Now look at the ISOLINUX menuentry. It'll look like:\
-**kernel /path/to/kernel\
-append PARAMETERS initrd=/path/to/initrd MAYBE\_MORE\_PARAMETERS\
-** GRUB works the same way, but in it's own way. Example GRUB
-commands:\
- grub> set root='usb0'\
+Now look at the ISOLINUX menuentry. It'll look like:
+
+ kernel /path/to/kernel append PARAMETERS initrd=/path/to/initrd ...
+
+GRUB works similarly. Example GRUB commands:
+
+ grub> set root='usb0'
grub> linux /path/to/kernel PARAMETERS MAYBE\_MORE\_PARAMETERS
grub> initrd /path/to/initrd
grub> boot
+
Note: *usb0* may be incorrect. Check the output of the *ls* command in
GRUB, to see a list of USB devices/partitions. Of course this will vary
from distro to distro. If you did all of that correctly, then it should
@@ -193,8 +200,9 @@ When using the ROM images that use coreboot's "text mode" instead of
the coreboot framebuffer, booting the Debian or Devuan net installer
results in graphical corruption because it is trying to switch to a
framebuffer which doesn't exist. Use that kernel parameter on the
-'linux' line when booting it:\
-**vga=normal fb=false**
+'linux' line when booting it:
+
+ vga=normal fb=false
This forces debian-installer to start in text-mode, instead of trying to
switch to a framebuffer.
@@ -210,4 +218,9 @@ debian-installer (text mode) net install method.
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
Copyright © 2016 Scott Bonds <scott@ggr.com>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/gnulinux/grub_cbfs.md b/docs/gnulinux/grub_cbfs.md
index 92d56095..01e4d3de 100644
--- a/docs/gnulinux/grub_cbfs.md
+++ b/docs/gnulinux/grub_cbfs.md
@@ -1,5 +1,6 @@
---
title: How to replace the default GRUB configuration file
+x-toc-enable: true
...
Libreboot on x86 uses the GRUB
@@ -27,20 +28,6 @@ Here is an excellent writeup about CBFS (coreboot filesystem):
**This guide is \*only\* for the GRUB payload. If you use the
depthcharge payload, ignore this section entirely.**
-Table of Contents
-=================
-
-- [Introduction](#introduction)
-- [1st option: don't re-flash](#option1_dont_reflash)
-- [2nd option: re-flash](#option2_reflash)
- - [Acquire the necessary utilities](#tools)
- - [Acquiring the correct ROM image](#rom)
- - [Extract grubtest from the ROM image](#extract_testconfig)
- - [Re-insert the modified grubtest.cfg into the ROM
- image](#reinsert_modified_testconfig)
- - [Testing](#testing)
- - [Final steps](#final_steps)
-
Introduction
------------
@@ -58,7 +45,7 @@ If you aren't up to that then don't worry; it is possible to use a
custom GRUB menu without flashing a new image, by loading a GRUB
configuration from a partition on the main storage instead.
-1st option: don't re-flash {#option1_dont_reflash}
+1st option: don't re-flash
---------------------------
By default, GRUB in libreboot is configured to scan all partitions on
@@ -94,22 +81,23 @@ of this page is irrelevant to you); **in libreboot\_grub.cfg on disk, if
you are adapting it based on grub.cfg from CBFS then remove the check
for libreboot\_grub.cfg otherwise it will loop.**.
-2nd option: re-flash {#option2_reflash}
+2nd option: re-flash
--------------------
You can modify what is stored inside the flash chip quite easily. Read
on to find out how.
-Acquire the necessary utilities {#tools}
+Acquire the necessary utilities
-------------------------------
Use ***cbfstool*** and ***flashrom***. There are available in the
*libreboot\_util* release archive, or they can be compiled (see
[../git/\#build\_flashrom](../git/#build_flashrom)). Flashrom is also
available from the repositories:
+
# pacman -S flashrom
-Acquiring the correct ROM image {#rom}
+Acquiring the correct ROM image
-------------------------------
You can either work directly with one of the ROM images already included
@@ -119,19 +107,22 @@ image file is named *libreboot.rom*, so please make sure to adapt.
ROM images are included pre-compiled in libreboot. You can also dump
your current firmware, using flashrom:
+
$ sudo flashrom -p internal -r libreboot.rom
# flashrom -p internal -r libreboot.rom
+
If you are told to specify the chip, add the option **-c {your chip}**
to the command, for example:
# flashrom -c MX25L6405 -p internal -r libreboot.rom
-Extract grubtest.cfg from the ROM image {#extract_testconfig}
+Extract grubtest.cfg from the ROM image
---------------------------------------
You can check the contents of the ROM image, inside CBFS:
- $ cd \.../libreboot\_util/cbfstool** $ ./cbfstool libreboot.rom
+ $ cd .../libreboot\_util/cbfstool** $ ./cbfstool libreboot.rom
+
print**
The files *grub.cfg* and *grubtest.cfg* should be present. grub.cfg is
@@ -145,7 +136,7 @@ Extract grubtest.cfg from the ROM image:
Modify the grubtest.cfg accordingly.
-Re-insert the modified grubtest.cfg into the ROM image {#reinsert_modified_testconfig}
+Re-insert the modified grubtest.cfg into the ROM image
------------------------------------------------------
Once your grubtest.cfg is modified and saved, delete the unmodified
@@ -164,11 +155,14 @@ Testing
[../install/\#flashrom](../install/#flashrom) for information on how to
flash it.
$ cd /libreboot\_util** \# **./flash update libreboot.rom\
+
Ocassionally, coreboot changes the name of a given board. If flashrom
complains about a board mismatch, but you are sure that you chose the
correct ROM image, then run this alternative command:
+
# ./flash forceupdate libreboot.rom
-You should see **"Verifying flash\... VERIFIED."** written at the end
+
+You should see **"Verifying flash... VERIFIED."** written at the end
of the flashrom output. Once you have done that, shut down and then boot
up with your new test configuration.**
@@ -180,7 +174,7 @@ sceptical in any way, then re-do the steps above until you get it right!
Do \*not\* proceed past this point unless you are 100% sure that your
new configuration is safe (or desirable) to use.**
-Final steps {#final_steps}
+Final steps
-----------
When you are satisfied booting from grubtest.cfg, you can create a copy
@@ -190,10 +184,12 @@ difference: the menuentry 'Switch to grub.cfg' will be changed to
grubtest.cfg. This is so that the main config still links (in the menu)
to grubtest.cfg, so that you don't have to manually switch to it, in
case you ever want to follow this guide again in the future (modifying
-the already modified config). From /libreboot\_util/cbfstool, do:\
-\$ **sed -e 's:(cbfsdisk)/grub.cfg:(cbfsdisk)/grubtest.cfg:g' -e
+the already modified config). From /libreboot\_util/cbfstool, do:
+
+ # sed -e 's:(cbfsdisk)/grub.cfg:(cbfsdisk)/grubtest.cfg:g' -e
+
's:Switch to grub.cfg:Switch to grubtest.cfg:g' < grubtest.cfg >
-grub.cfg**\
+grub.cfg
Delete the grub.cfg that remained inside the ROM:
@@ -210,4 +206,9 @@ boot up with your new configuration.**
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
Copyright © 2015 Jeroen Quint <jezza@diplomail.ch>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/gnulinux/grub_hardening.md b/docs/gnulinux/grub_hardening.md
index 1dd02844..c4843890 100644
--- a/docs/gnulinux/grub_hardening.md
+++ b/docs/gnulinux/grub_hardening.md
@@ -31,14 +31,10 @@ image:
Helpful links:
-- [GRUB manual
- \#security](https://www.gnu.org/software/grub/manual/html_node/Security.html#Security)
-- [GRUB info
- pages](http://git.savannah.gnu.org/cgit/grub.git/tree/docs/grub.texi)
-- [SATA connected storage considered dangerous until proven
- otherwise.](../../faq.md#firmware-hddssd)
-- [Coreboot GRUB security
- howto](https://www.coreboot.org/GRUB2#Security)
+- [GRUB manual](https://www.gnu.org/software/grub/manual/html_node/Security.html#Security)
+- [GRUB info pages](http://git.savannah.gnu.org/cgit/grub.git/tree/docs/grub.texi)
+- [SATA connected storage considered dangerous.](../../faq.md#firmware-hddssd)
+- [Coreboot GRUB security howto](https://www.coreboot.org/GRUB2#Security)
GRUB Password
=============
@@ -138,7 +134,7 @@ First generate a GPG keypair to use for signing. Option RSA (sign only)
is ok.
**Warning:** GRUB does not read ASCII armored keys. When attempting to
-trust \... a key filename it will print error: bad signature
+trust ... a key filename it will print error: bad signature
mkdir --mode 0700 keys
gpg --homedir keys --gen-key
@@ -158,6 +154,7 @@ Now that we have a key, we can sign some files with it. We have to sign:
Suppose that we have a pair of **my.kernel** and **my.initramfs** and an
on-disk **libreboot\_grub.cfg**. We sign them by issuing the following
commands:
+
gpg --homedir keys --detach-sign my.initramfs
gpg --homedir keys --detach-sign my.kernel
gpg --homedir keys --detach-sign libreboot_grub.cfg
@@ -176,7 +173,12 @@ What remains now is to include the modifications into the image (rom):
cbfstool my.rom add -n grubtest.cfg -f my.grubtest.cfg -t raw
cbfstool my.rom add -n grubtest.cfg.sig -f my.grubtest.cfg.sig -t raw
-\... and flashing it.
+... and flashing it.
Copyright © 2017 Fedja Beader <fedja@protonmail.ch>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/gnulinux/index.md b/docs/gnulinux/index.md
index 10a953eb..4903d1c6 100644
--- a/docs/gnulinux/index.md
+++ b/docs/gnulinux/index.md
@@ -23,4 +23,9 @@ instructions have yet to be written.**
security](grub_hardening.md)
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/grub/index.md b/docs/grub/index.md
index 1b5acacb..12c86359 100644
--- a/docs/grub/index.md
+++ b/docs/grub/index.md
@@ -1,28 +1,23 @@
---
title: GRUB payload
+x-toc-enable: true
...
This section relates to the GRUB payload used in libreboot.
-- [Changing the background image in GRUB](#grub_background)
-- [Setting font in GRUB](#grub_font)
-- [GRUB keyboard layouts](#grub_keyboard)
- - [Custom keyboard layout in GRUB](#grub_custom_keyboard)
- - [UK Dvorak keyboard layout in GRUB](#grub_ukdvorak_keyboard)
-
-Changing the background image in GRUB {#grub_background}
+Changing the background image in GRUB
=====================================
Use cbfstool from libreboot\_util, or
libreboot\_src/coreboot/util/cbfstool/ if you want to build from source.
-./cbfstool yourrom.rom remove background.png -n background.png\
-./cbfstool yourrom.rom add -f background.png -n background.png -t raw
+ $ ./cbfstool yourrom.rom remove background.png -n background.png
+ $ ./cbfstool yourrom.rom add -f background.png -n background.png -t raw
When you've done this, re-flash your ROM and you should have a new
background at boot time.
-Setting font in GRUB (for reference) {#grub_font}
+Setting font in GRUB (for reference)
====================================
You don't need to do this unless you would like to change the default
@@ -43,27 +38,29 @@ This is a free font that is also contained in GNU+Linux distributions
like Debian, Devuan or Parabola.
$ cd libreboot\_src/grub
+
compile grub (the build scripts info on how to do this)\
come back out into libreboot\_src/resources/grub:
$ cd ../libreboot\_src/resources/grub/font
I took Dejavu Sans Mono from dejavu (included in this version of
-libreboot) and did:\
-**\$ ../../../grub/grub-mkfont -o dejavusansmono.pf2
-dejavu-fonts-ttf-2.34/ttf/DejaVuSansMono.ttf**
+libreboot) and did:
+
+ $ ../../../grub/grub-mkfont -o dejavusansmono.pf2 dejavu-fonts-ttf-2.34/ttf/DejaVuSansMono.ttf
I then added the instructions to 'gen.sh' script in grub-assemble to
include resources/grub/dejavusansmono.pf2 in all of the ROM images, at
the root of the GRUB memdisk.\
I then added that instructions to the grub.cfg files (to load the
-font):\
-**loadfont (memdisk)/dejavusansmono.pf2**
+font):
+
+ loadfont (memdisk)/dejavusansmono.pf2
-GRUB keyboard layouts (for reference) {#grub_keyboard}
+GRUB keyboard layouts (for reference)
=====================================
-Custom keyboard layout in GRUB (for reference) {#grub_custom_keyboard}
+Custom keyboard layout in GRUB (for reference)
----------------------------------------------
Keymaps are stored in resources/utilities/grub-assemble/keymap/.
@@ -71,9 +68,10 @@ Keymaps are stored in resources/utilities/grub-assemble/keymap/.
Example (French Azerty):
$ ckbcomp fr > frazerty
-\
-Go in grub directory:\
-**cat frazerty | ./grub/grub-mklayout -o frazerty.gkb**
+
+Go in grub directory:
+
+ $ cat frazerty | ./grub/grub-mklayout -o frazerty.gkb
You must make sure that the files are named keymap and keymap.gkb (where
'keymap' can be whatever you want).
@@ -87,7 +85,7 @@ The build scripts will automatically see this, and automatically build
ROM images with your custom layout (given the name) and include them
under bin. Example: **libreboot\_frazerty.rom**.
-UK Dvorak keyboard layout in GRUB (for reference) {#grub_ukdvorak_keyboard}
+UK Dvorak keyboard layout in GRUB (for reference)
-------------------------------------------------
ukdvorak had to be created manually, based on usdvorak. diff them (under
@@ -97,4 +95,9 @@ file was created
$ cat ukdvorak | ./grub/grub-mklayout -o ukdvorak.gkb
Copyright © 2014 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/c201.md b/docs/hardware/c201.md
index 4e568d4a..8dba1f85 100644
--- a/docs/hardware/c201.md
+++ b/docs/hardware/c201.md
@@ -1,5 +1,6 @@
---
title: ASUS Chromebook C201
+x-toc-enable: true
...
This is a Chromebook, using the Rockchip RK3288 SoC. It uses an ARM CPU,
@@ -16,18 +17,7 @@ confirmed to work.**
Flashing instructions can be found at
[../install/\#flashrom](../install/#flashrom)
-- [Google's intent with CrOS devices](#googlesintent)
-- [Considerations about ChromeOS and free operating systems](#os)
-- [Caution: Video acceleration requires a non-free blob, software
- rendering can be used instead.](#videoblobs)
-- [Caution: WiFi requires a non-free blob, a USB dongle can be used
- instead.](#wifiblobs)
-- [EC firmware is free software!](#ec)
-- [No microcode!](#microcode)
-- [Depthcharge payload](#depthcharge)
-- [Flash chip write protection: the screw](#thescrew)
-
-Google's intent with CrOS devices {#googlesintent}
+Google's intent with CrOS devices
==================================
CrOS (Chromium OS/Chrome OS) devices, such as Chromebooks, were not
@@ -56,7 +46,7 @@ are supported in libreboot. Those laptops are supported, in spite of
Apple and Lenovo, companies which are actually *hostile* to the free
software movement.
-Considerations about ChromeOS and free operating systems {#os}
+Considerations about ChromeOS and free operating systems
========================================================
This laptop comes preinstalled (from the factory) with Google ChromeOS.
@@ -73,7 +63,7 @@ install Debian.
TODO: instructions for Devuan
-Caution: Video acceleration requires a non-free blob, software rendering can be used instead. {#videoblobs}
+Caution: Video acceleration requires a non-free blob, software rendering can be used instead.
=============================================================================================
The Tamil driver source code for the onboard Mali T GPU is not released.
@@ -92,7 +82,7 @@ The Tamil developer wrote this blog post, which sheds light on the
story:
[http://libv.livejournal.com/27461.html,http://libv.livejournal.com/27461.html](http://libv.livejournal.com/27461.html).
-Caution: WiFi requires a non-free blob, a USB dongle can be used instead. {#wifiblobs}
+Caution: WiFi requires a non-free blob, a USB dongle can be used instead.
=========================================================================
These laptops have non-removeable (soldered on) WiFi chips, which
@@ -117,7 +107,7 @@ These wifi dongles use the AR9271 (atheros) chipset, supported by the
free *ath9k\_htc* driver in the Linux kernel. They work in *linux-libre*
too.
-EC firmware is free software! {#ec}
+EC firmware is free software!
=============================
It's free software. Google provides the source. Build scripts will be
@@ -132,7 +122,7 @@ when using one of these laptops.
The libreboot FAQ briefly describes what an *EC* is:
[../../faq.md#firmware-ec](../../faq.md#firmware-ec)
-No microcode! {#microcode}
+No microcode!
=============
Unlike x86 (e.g. Intel/AMD) CPUs, ARM CPUs do not use microcode, not
@@ -146,14 +136,14 @@ present), which are proprietary software.
On ARM CPUs, the instruction set is implemented in circuitry, without
microcode.
-Depthcharge payload {#depthcharge}
+Depthcharge payload
===================
These systems do not use the GRUB payload. Instead, they use a payload
called depthcharge, which is common on CrOS devices. This is free
software, maintained by Google.
-Flash chip write protection: the screw {#thescrew}
+Flash chip write protection: the screw
======================================
It's next to the flash chip. Unscrew it, and the flash chip is
@@ -177,4 +167,9 @@ all current libreboot systems, but CrOS devices make it easy. The screw
is such a stupidly simple idea, which all designs should implement.
Copyright © 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/d510mo.md b/docs/hardware/d510mo.md
index 11dece1e..b2e85b0a 100644
--- a/docs/hardware/d510mo.md
+++ b/docs/hardware/d510mo.md
@@ -14,4 +14,9 @@ Flashing instructions can be found at
[../install/d510mo.md](../install/d510mo.md)
Copyright © 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/d945gclf.md b/docs/hardware/d945gclf.md
index a05c0f15..c3f4754a 100644
--- a/docs/hardware/d945gclf.md
+++ b/docs/hardware/d945gclf.md
@@ -75,36 +75,9 @@ fan connector back, and you are done.
Copyright © 2016 Arthur Heymans <arthur@aheymans.xyz>\
Copyright © 2016 Vitaly Castaño Solana <vita\_cell@hotmail.com>\
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the Creative Commons Attribution-ShareAlike 4.0
-International license or any later version published by Creative
-Commons; A copy of the license can be found at
-[../cc-by-sa-4.0.txt](../cc-by-sa-4.0.txt)
-
-Updated versions of the license (when available) can be found at
-<https://creativecommons.org/licenses/by-sa/4.0/legalcode>
-
-UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT
-POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND
-AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
-CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY,
-OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE,
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT,
-ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE
-OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF
-WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT
-APPLY TO YOU.
-
-TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU
-ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR
-OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL,
-PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES
-ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN
-IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES,
-COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT
-ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
-
-The disclaimer of warranties and limitation of liability provided above
-shall be interpreted in a manner that, to the extent possible, most
-closely approximates an absolute disclaimer and waiver of all liability.
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/ga-g41m-es2l.md b/docs/hardware/ga-g41m-es2l.md
index bfa73e91..fbcf2132 100644
--- a/docs/hardware/ga-g41m-es2l.md
+++ b/docs/hardware/ga-g41m-es2l.md
@@ -18,4 +18,9 @@ Flashing instructions can be found at
[../install/\#flashrom](../install/#flashrom)
Copyright © 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/gm45_remove_me.md b/docs/hardware/gm45_remove_me.md
index e0aad8f5..5d9bc312 100644
--- a/docs/hardware/gm45_remove_me.md
+++ b/docs/hardware/gm45_remove_me.md
@@ -37,11 +37,13 @@ factory.bin dump.
ich9gen executables can be found under ./ich9deblob/ statically compiled
in libreboot\_util. If you are using src or git, build ich9gen from
source with:
+
$ ./oldbuild module ich9deblob
The executable will appear under resources/utilities/ich9deblob/
Run:
+
$ ./ich9gen
Running ich9gen this way (without any arguments) generates a default
@@ -70,6 +72,7 @@ generate a descriptor+gbe image with your own MAC address inside (with
the Gbe checksum updated to match). Run:
$ ./ich9gen --macaddress XX:XX:XX:XX:XX:XX
+
(replace the XX chars with the hexadecimal chars in the MAC address that
you want)
@@ -85,15 +88,23 @@ Two new files will be created:
Assuming that your libreboot image is named **libreboot.rom**, copy the
file to where **libreboot.rom** is located and then insert the
descriptor+gbe file into the ROM image.\
-For 16MiB flash chips:\
-\$ **dd if=ich9fdgbe\_16m.bin of=libreboot.rom bs=1 count=12k
-conv=notrunc**\
-For 8MiB flash chips:\
-\$ **dd if=ich9fdgbe\_8m.bin of=libreboot.rom bs=1 count=12k
-conv=notrunc**\
-For 4MiB flash chips:\
-\$ **dd if=ich9fdgbe\_4m.bin of=libreboot.rom bs=1 count=12k
-conv=notrunc**\
+For 16MiB flash chips:
+
+ # dd if=ich9fdgbe_16m.bin of=libreboot.rom bs=1 count=12k
+
+conv=notrunc
+
+For 8MiB flash chips:
+
+ # dd if=ich9fdgbe_8m.bin of=libreboot.rom bs=1 count=12k
+
+conv=notrunc
+
+For 4MiB flash chips:
+
+ # dd if=ich9fdgbe_4m.bin of=libreboot.rom bs=1 count=12k
+
+conv=notrunc
Your libreboot.rom image is now ready to be flashed on the system. Refer
back to [../install/\#flashrom](../install/#flashrom) for how to flash
@@ -164,6 +175,7 @@ you ran **./oldbuild module all** or **./oldbuild module ich9deblob**
from the main directory (./), otherwise you can build it like so:
$ ./oldbuild module ich9deblob
+
An executable file named **ich9deblob** will now appear under
resources/utilities/ich9deblob/
@@ -192,9 +204,11 @@ Intel. Only the Intel NICs need a GbE region in the flash chip.
Assuming that your libreboot image is named **libreboot.rom**, copy the
**deblobbed\_descriptor.bin** file to where **libreboot.rom** is located
-and then run:\
-\$ **dd if=deblobbed\_descriptor.bin of=libreboot.rom bs=1 count=12k
-conv=notrunc**
+and then run:
+
+ # dd if=deblobbed_descriptor.bin of=libreboot.rom bs=1 count=12k
+
+conv=notrunc
Alternatively, if you got a the **deblobbed\_4kdescriptor.bin** file (no
GbE defined), do this: \$ **dd if=deblobbed\_4kdescriptor.bin
@@ -235,9 +249,11 @@ Simply run (with factory.rom in the same directory):
It will generate a 4KiB descriptor file (only the descriptor, no GbE).
Insert that into a factory.rom image (NOTE: do this on a copy of it.
-Keep the original factory.rom stored safely somewhere):\
-\$ **dd if=demefactory\_4kdescriptor.bin of=factory\_nome.rom bs=1
-count=4k conv=notrunc**
+Keep the original factory.rom stored safely somewhere):
+
+ # dd if=demefactory_4kdescriptor.bin of=factory_nome.rom bs=1
+
+count=4k conv=notrunc
TODO: test this.\
TODO: lenovobios (GM45 thinkpads) still write-protects parts of the
@@ -423,7 +439,7 @@ actually be others on the X200.
0xBABA"*
In honour of the song *Baba O'Reilly* by *The Who* apparently. We're
-not making this stuff up\...
+not making this stuff up...
0x3ABA, 0x34BA, 0x40BA and more have been observed in the main Gbe
regions on the X200 factory.rom dumps. The checksums of the backup
@@ -517,4 +533,9 @@ This is a 32K region from the factory image. It could be data
It has only a 448 byte fragment different from 0x00 or 0xFF.
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/imac52.md b/docs/hardware/imac52.md
index a868b128..99db1977 100644
--- a/docs/hardware/imac52.md
+++ b/docs/hardware/imac52.md
@@ -5,4 +5,9 @@ title: Apple iMac 5,2
Information to be written soon, but this board is merged in libreboot.
Copyright © 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/index.md b/docs/hardware/index.md
index d1f0ef54..fb9e0ed2 100644
--- a/docs/hardware/index.md
+++ b/docs/hardware/index.md
@@ -1,29 +1,18 @@
---
title: Hardware compatibility list
+x-toc-enable: true
...
This sections relates to known hardware compatibility in libreboot.
For installatation instructions, refer to [../install/](../install/).
-- [List of supported hardware](#supported_list)
- - [Desktops (x86, AMD and Intel)](#supported_desktops_x86amdintel)
- - [Servers/workstations](#supported_workstations_x86amd)
- - [Laptops (ARM)](#supported_laptops_arm)
- - [Laptops (Intel, x86)](#supported_laptops_x86intel)
-
-- NOTES:
- - [Updating the EC firmware on i945 and GM45
- (recommended)](#ecupdate)
- - [How to find what EC version you have (i945/GM45)](#ecversion)
-- [Recommended wifi chipsets](#recommended_wifi)
-
-List of supported hardware {#supported_list}
+List of supported hardware
--------------------------
Libreboot supports the following systems in this release:
-### Desktops (AMD, Intel, x86) {#supported_desktops_x86amdintel}
+### Desktops (AMD, Intel, x86)
- [Gigabyte GA-G41M-ES2L motherboard](ga-g41m-es2l.md)
- [Intel D510MO motherboard](d510mo.md)
@@ -31,27 +20,27 @@ Libreboot supports the following systems in this release:
- [Intel D945GCLF](d945gclf.md)
- [Apple iMac 5,2](imac52.md)
-### Servers/workstations (AMD, x86) {#supported_workstations_x86amd}
+### Servers/workstations (AMD, x86)
- [ASUS KFSN4-DRE motherboard](kfsn4-dre.md)
- [ASUS KGPE-D16 motherboard](kgpe-d16.md)
-### Laptops (ARM) {#supported_laptops_arm}
+### Laptops (ARM)
- [ASUS Chromebook C201](c201.md)
-### Laptops (Intel, x86) {#supported_laptops_x86intel}
+### Laptops (Intel, x86)
-- [Lenovo ThinkPad X60/X60s](#supported_x60_list)
-- [Lenovo ThinkPad X60 Tablet](#supported_x60t_list)
-- [Lenovo ThinkPad T60](#supported_t60_list) (there are exceptions.
- see link)
+- [Lenovo ThinkPad X60/X60s](#list-of-supported-x60s)
+- [Lenovo ThinkPad X60 Tablet](#list-of-supported-x60-tablets)
+- [Lenovo ThinkPad T60](#supported-t60-list) (some exceptions)
- [Lenovo ThinkPad X200](x200.md)
- [Lenovo ThinkPad R400](r400.md)
- [Lenovo ThinkPad T400](t400.md)
- [Lenovo ThinkPad T500](t500.md)
-- [Apple MacBook1,1](#macbook11)
-- [Apple MacBook2,1](#macbook21)
+- [Lenovo ThinkPad W500](t500.md)
+- [Apple MacBook1,1](#information-about-the-macbook11)
+- [Apple MacBook2,1](#information-about-the-macbook21)
'Supported' means that the build scripts know how to build ROM images
for these systems, and that the systems have been tested (confirmed
@@ -61,7 +50,7 @@ working). There may be exceptions; in other words, this is a list of
It is also possible to build ROM images (from source) for other systems
(and virtual systems, e.g. QEMU).
-EC update on i945 (X60, T60) and GM45 (X200, T400, T500, R400) {#ecupdate}
+EC update on i945 (X60, T60) and GM45 (X200, T400, T500, R400, W500)
==============================================================
It is recommended that you update to the latest EC firmware version. The
@@ -80,19 +69,21 @@ only replaces the BIOS firmware, not EC.
Updated EC firmware has several advantages e.g. bettery battery
handling.
-How to find what EC version you have (i945/GM45) {#ecversion}
+How to find what EC version you have (i945/GM45)
================================================
-In GNU+Linux, you can try this:\
-**grep 'at EC' /proc/asound/cards**
+In GNU+Linux, you can try this:
+
+ $ grep 'at EC' /proc/asound/cards
-Sample output:\
-**ThinkPad Console Audio Control at EC reg 0x30, fw 7WHT19WW-3.6**
+Sample output:
+
+ ThinkPad Console Audio Control at EC reg 0x30, fw 7WHT19WW-3.6
7WHT19WW is the version in different notation, use search engine to find
out regular version - in this case it's a 1.06 for x200 tablet
-Recommended wifi chipsets {#recommended_wifi}
+Recommended wifi chipsets
-------------------------
The following are known to work well:
@@ -110,7 +101,7 @@ project if these work with linux-libre kernel (TODO: test):
- \[0200\]: Qualcomm Atheros AR242x / AR542x Wireless Network Adapter
(PCI-Express) \[168c:001c\]
-List of supported ThinkPad X60s {#supported_x60_list}
+List of supported ThinkPad X60s
-------------------------------
Native gpu initialization ('native graphics') which replaces the
@@ -138,7 +129,7 @@ is very easily replaced; just remove the card and install another one
**after** libreboot is installed. See
[\#recommended\_wifi](#recommended_wifi) for replacements.
-List of supported ThinkPad X60 Tablets {#supported_x60t_list}
+List of supported ThinkPad X60 Tablets
--------------------------------------
Native gpu initialization ('native graphics') which replaces the
@@ -222,7 +213,7 @@ could get finger input working. They used linuxwacom at git tag
InputDevice "WTouch" "SendCoreEvents"
EndSection
-Supported T60 list {#supported_t60_list}
+Supported T60 list
------------------
Native gpu initialization ('native graphics') which replaces the
@@ -299,7 +290,7 @@ is very easily replaced; just remove the card and install another one
**after** libreboot is installed. See
[\#recommended\_wifi](#recommended_wifi) for replacements.
-ThinkPad T60 (ATI GPU) and ThinkPad T60 (Intel GPU) differences. {#t60_ati_intel}
+ThinkPad T60 (ATI GPU) and ThinkPad T60 (Intel GPU) differences.
----------------------------------------------------------------
If your T60 is a 14.1" or 15.1" model with an ATI GPU, it won't work
@@ -320,7 +311,7 @@ cannot be used with libreboot under any circumstances.
The following T60 motherboard (see area highlighted in white) shows an
empty space where the ATI GPU would be (this particular motherboard has
an Intel GPU):\
-\
+
![](../images/t60_dev/t60_unbrick.jpg)
The reason that the ATI GPU on T60 is unsupported is due to the VBIOS
@@ -341,7 +332,7 @@ usable as a laptop because there would be no visual display at all. That
being said, such a configuration is acceptable for use in a 'headless'
server setup (with serial and/or ssh console as the display).
-Information about the macbook1,1 {#macbook11}
+Information about the macbook1,1
--------------------------------
There is an Apple laptop called the macbook1,1 from 2006 which uses the
@@ -381,7 +372,7 @@ firmware is running. You will need to disassemble the system and flash
externally. Reading from flash seems to work. For external flashing,
refer to [../install/bbb\_setup.md](../install/bbb_setup.md).
-Information about the macbook2,1 {#macbook21}
+Information about the macbook2,1
--------------------------------
There is an Apple laptop called the macbook2,1 from late 2006 or early
@@ -398,22 +389,13 @@ for whatever reason, since they include a lot of useful information.
Backups created using wget:
$ wget -m -p -E -k -K -np http://macbook.donderklumpen.de/
-**\$ wget -m -p -E -k -K -np
-http://macbook.donderklumpen.de/coreboot/**\
-Use **-e robots=off** if using this trick for other sites and the site
-restricts using robots.txt
+ $ wget -m -p -E -k -K -np http://macbook.donderklumpen.de/coreboot/
-**Links to wget backups (and the backups themselves) of Mono's pages
-(see above) removed temporarily. Mono has given me permission to
-distribute them, but I need to ask this person to tell me what license
-these works fall under first. Otherwise, the above URLs should be fine.
-NOTE TO SELF: REMOVE THIS WHEN DONE**
+Use `-e robots=off` if using this trick for other sites and the site restricts
+using robots.txt
### Installing GNU+Linux distributions (on Apple EFI firmware)
-- [Parabola GNU+Linux installation on a macbook2,1 with Apple EFI
- firmware](#) (this is a copy of Mono's page, see above)
-
How to boot an ISO: burn it to a CD (like you would normally) and hold
down the Alt/Control key while booting. The bootloader will detect the
GNU+Linux CD as 'Windows' (because Apple doesn't think GNU+Linux
@@ -424,11 +406,6 @@ likes to think that Apple and Microsoft are all that exist.) Now to
install libreboot, follow
[../install/\#flashrom\_macbook21](../install/#flashrom_macbook21).
-### Information about coreboot
-
-- [Coreboot on the macbook2,1](#) (this is a copy of Mono's page, see
- above)
-
### coreboot wiki page
- <https://www.coreboot.org/Board:apple/macbook21>
@@ -539,4 +516,9 @@ available at *resources/utilities/macbook21-three-finger-tap* in the
libreboot git repository.
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/kcma-d8.md b/docs/hardware/kcma-d8.md
index 042bdf85..9d5067b1 100644
--- a/docs/hardware/kcma-d8.md
+++ b/docs/hardware/kcma-d8.md
@@ -96,4 +96,9 @@ Hardware specifications {#specifications}
Check the ASUS website.
Copyright © 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/kfsn4-dre.md b/docs/hardware/kfsn4-dre.md
index f180f3f0..4efc4648 100644
--- a/docs/hardware/kfsn4-dre.md
+++ b/docs/hardware/kfsn4-dre.md
@@ -69,4 +69,9 @@ Other information
[specifications](ftp://ftp.sgi.com/public/Technical%20Support/Pdf%20files/Asus/kfsn4-dre.pdf)
Copyright © 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/kgpe-d16.md b/docs/hardware/kgpe-d16.md
index a99be325..19d68416 100644
--- a/docs/hardware/kgpe-d16.md
+++ b/docs/hardware/kgpe-d16.md
@@ -210,4 +210,9 @@ The information here is adapted, from the ASUS website.
processor
Copyright © 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/r400.md b/docs/hardware/r400.md
index c180e0f7..66854b5c 100644
--- a/docs/hardware/r400.md
+++ b/docs/hardware/r400.md
@@ -62,4 +62,9 @@ TODO: put hardware register logs here like on the [X200](x200.md) and
[T400](t400.md) page.
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/t400.md b/docs/hardware/t400.md
index 33104297..bec2d895 100644
--- a/docs/hardware/t400.md
+++ b/docs/hardware/t400.md
@@ -74,4 +74,9 @@ outputs from the T400:
the one that libreboot git revision c164960 uses.
Copyright © 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/t500.md b/docs/hardware/t500.md
index 77c72dd2..862484dd 100644
--- a/docs/hardware/t500.md
+++ b/docs/hardware/t500.md
@@ -7,6 +7,8 @@ about [CPU
compatibility](../install/t500_external.html#cpu_compatibility) for
potential incompatibilities.
+W500 is also compatible, and mostly the same design as T500.
+
There are two possible flash chip sizes for the T500: 4MiB (32Mbit) or
8MiB (64Mbit). This can be identified by the type of flash chip below
the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16.
@@ -70,6 +72,7 @@ The patches above are based on the output from ich9deblob on a
factory.rom image dumped from the T500 with a SOIC-8 4MiB flash chip.
The patch re-creates the X200 descriptor/gbe source, so the commands
were something like:
+
$ diff -u t500gbe x200gbe
$ diff -u t500descriptor x200descriptor
@@ -93,4 +96,9 @@ outputs from the T500:
- [../future/dumps/t500log/](../future/dumps/t500log/)
Copyright © 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/hardware/x200.md b/docs/hardware/x200.md
index 355ae1d5..8afbe504 100644
--- a/docs/hardware/x200.md
+++ b/docs/hardware/x200.md
@@ -33,6 +33,8 @@ will update both the BIOS and EC version. See:
- [../install/#flashrom](../install/#flashrom)
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
+- [X200, X200s, X200si BIOS Update](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x200/downloads/ds015007)
+- [X200t BIOS Update](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x200-tablet/downloads/ds018814)
NOTE: this can only be done when you are using Lenovo BIOS. How to
update the EC firmware while running libreboot is unknown. Libreboot
@@ -226,9 +228,11 @@ be useful for RAM compatibility info (note: coreboot raminit is
different, so this page might be BS)
pehjota started collecting some steppings for different CPUs on several
-X200 laptops. You can get the CPUID by running:\
-\$ **dmesg | sed -n 's/\^.\* microcode: CPU0
-sig=0x\\(\[\^,\]\*\\),.\*\$/\\1/p'**
+X200 laptops. You can get the CPUID by running:
+
+ # dmesg | sed -n 's/\^.\* microcode: CPU0
+
+sig=0x\\(\[\^,\]\*\\),.\*\$/\\1/p'
What pehjota wrote: The laptops that have issues resuming from suspend,
as well as a laptop that (as I mentioned earlier in \#libreboot) won't
@@ -263,4 +267,9 @@ Unsorted notes {#unsorted}
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
Copyright © 2015 Patrick "P. J." McDermott <pj@pehjota.net>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/index.md b/docs/index.md
index 7f8647b0..70d3e5f7 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -179,4 +179,9 @@ Generally speaking, it is advisable to use the latest version of
libreboot.
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [fdl-1.3.md](fdl-1.3.md)
diff --git a/docs/install/bbb_setup.md b/docs/install/bbb_setup.md
index af9026b3..b80203b4 100644
--- a/docs/install/bbb_setup.md
+++ b/docs/install/bbb_setup.md
@@ -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
=====================
@@ -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
@@ -202,14 +204,16 @@ before continuing.
Check that the firmware exists:
# 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---
@@ -223,6 +227,7 @@ Output:
Verify that the spidev device now exists:
# ls -al /dev/spid\*
+
Output:
crw-rw---T 1 root spi 153, 0 Nov 19 21:07 /dev/spidev1.0
@@ -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.
@@ -327,25 +333,12 @@ 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)
-Notes about stability {#stability}
-=====================
-
-<http://flashrom.org/ISP> is what we typically do in libreboot, though
-not always. That page has some notes about using resistors to affect
-stability. Currently, we use spispeed=512 (512kHz) but it is possible to
-use higher speeds while maintaining stability.
-
-tty0\_ in \#libreboot was able to get better flashing speeds with the
-following configuration:
-
-- "coax" with 0.1 mm core and aluminum foley (from my kitchen), add
- 100 Ohm resistors (serial)
-- put heatshrink above the foley, for: CS, CLK, D0, D1
-- Twisted pair used as core (in case more capacitors are needed)
-- See this image: <http://i.imgur.com/qHGxKpj.jpg>
-- He was able to flash at 50MHz (lower speeds are also fine).
-
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
Copyright © 2015 Patrick "P. J." McDermott <pj@pehjota.net>\
Copyright © 2015 Albin Söderqvist\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/c201.md b/docs/install/c201.md
index 648adde5..bcacd75b 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
@@ -25,26 +26,14 @@ source code is made available by Google:
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.
@@ -75,7 +64,7 @@ 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
@@ -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,7 +108,7 @@ 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
@@ -131,16 +120,20 @@ 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:
+
# 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:
# ./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.
@@ -149,11 +142,11 @@ 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."**
+**"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
@@ -184,12 +177,14 @@ host (e.g. using the *root* account). In addition, the
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:
# ./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.
@@ -199,7 +194,7 @@ programmer):
# flashrom -p *programmer* -w flash.img
You should also see within the output the following:\
-**"Verifying flash\... VERIFIED."**
+**"Verifying flash... VERIFIED."**
The device will now boot to Libreboot.
@@ -210,4 +205,9 @@ Debian is recommended for this device (which is on that list.
See <https://wiki.debian.org/InstallingDebianOn/Asus/C201>.
Copyright © 2015 Paul Kocialkowski <contact@paulk.fr>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/d510mo.md b/docs/install/d510mo.md
index a695ce48..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}
@@ -21,4 +22,9 @@ This is an image of the flash chip, for reference:\
![](../images/d510mo/d510mo.jpg)
Copyright © 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/d945gclf.md b/docs/install/d945gclf.md
index 351fc3e0..ddb52a64 100644
--- a/docs/install/d945gclf.md
+++ b/docs/install/d945gclf.md
@@ -18,4 +18,9 @@ Here is an image of the flash chip:\
![](../images/d945gclf/d945gclf_spi.jpg)
Copyright © 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/ga-g41m-es2l.md b/docs/install/ga-g41m-es2l.md
index a4f197ef..cf119bbc 100644
--- a/docs/install/ga-g41m-es2l.md
+++ b/docs/install/ga-g41m-es2l.md
@@ -9,6 +9,7 @@ Flash chip size {#flashchips}
===============
Use this to find out:
+
# flashrom -p internal -V
Flashing instructions {#clip}
@@ -45,4 +46,9 @@ coreboot-libre. Therefore, you must set your own MAC address in your
operating system.
Copyright © 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
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 6b33a33c..5d9ba5c3 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:
-----------------------------------------
@@ -53,6 +50,7 @@ Flashing via hardware methods, on system:
- [ThinkPad R400](r400_external.md)
- [ThinkPad T400](t400_external.md)
- [ThinkPad T500](t500_external.md)
+- [ThinkPad W500](t500_external.md)
Information about libreboot ROM images {#rom}
======================================
@@ -62,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.
@@ -86,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).
@@ -107,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.
@@ -126,7 +121,7 @@ Apple EFI should refer to [\#flashrom\_macbook21](#flashrom_macbook21)
X200 users, refer to [x200\_external.md](x200_external.md), R400
users refer to [r400\_external.md](r400_external.md), T400 users
-refer to [t400\_external.md](t400_external.md), T500 users refer to
+refer to [t400\_external.md](t400_external.md), T500 and W500 users refer to
[t500\_external.md](t500_external.md)
ASUS KFSN4-DRE?
@@ -207,7 +202,7 @@ you. Most people do not write-protect the flash chip, so you probably
didn't either.*
Similarly, it is possible to write-protect the flash chip in coreboot or
-libreboot on GM45 laptops (X200/R400/T400/T500). If you did this, then
+libreboot on GM45 laptops (X200/R400/T400/T500/W500). If you did this, then
you will need to use the links above for flashing, treating your laptop
as though it currently has the proprietary firmware (because
write-protected SPI flash requires external re-flashing, as is also the
@@ -217,10 +212,10 @@ 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!
-MAC address on GM45 (X200/R400/T400/T500)
+MAC address on GM45 (X200/R400/T400/T500/W500)
-----------------------------------------
-**Users of the X200/R400/T400/T500 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
@@ -248,12 +243,13 @@ 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
@@ -267,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
@@ -275,7 +272,7 @@ correct ROM image, then run this alternative command:
$ sudo ./flash forceupdate [yourrom.rom](#rom)
-You should see **"Verifying flash\... VERIFIED."** written at the end
+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.
@@ -327,16 +324,18 @@ 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:
+
+ # sudo ./flashrom/i686/flashrom -p
+
+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."**
+**"Verifying flash... VERIFIED."**
MacBook2,1: Initial installation guide (if running the proprietary firmware) {#flashrom_macbook21}
============================================================================
@@ -366,9 +365,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."**
+**"Verifying flash... VERIFIED."**
Shut down.
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/kcma-d8.md b/docs/install/kcma-d8.md
index 1dced30b..c4f83eea 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.
@@ -17,11 +18,6 @@ For more general information about this board, refer to
TODO: show photos here, and other info.
-- [kcma-d8 boards (and full systems) with libreboot
- preinstalled](#preinstall)
-
-- [External programmer](#programmer)
-
External programmer {#programmer}
===================
@@ -34,4 +30,9 @@ the programmer. **DO NOT** remove the chip with your hands. Use a chip
extractor tool.
Copyright © 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/kgpe-d16.md b/docs/install/kgpe-d16.md
index 8e041834..8e0ad8fd 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.
@@ -17,12 +18,7 @@ For more general information about this board, refer to
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
@@ -34,4 +30,9 @@ the programmer. **DO NOT** remove the chip with your hands. Use a chip
extractor tool.
Copyright © 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/r400_external.md b/docs/install/r400_external.md
index c0c50d80..80e1a676 100644
--- a/docs/install/r400_external.md
+++ b/docs/install/r400_external.md
@@ -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,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**\
+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
@@ -253,13 +264,15 @@ 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.**
-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
@@ -351,4 +364,9 @@ You should see something like this:
Now [install GNU+Linux](../gnulinux/).
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/rpi_setup.md b/docs/install/rpi_setup.md
index 3230cb63..23b99aae 100644
--- a/docs/install/rpi_setup.md
+++ b/docs/install/rpi_setup.md
@@ -2,25 +2,22 @@
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.
+[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.
-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.
@@ -28,7 +25,7 @@ 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.
-### [](#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 +42,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 +75,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.
@@ -90,8 +87,8 @@ Macronix chips require an AC Adapter to power up.
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 +96,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,8 +124,8 @@ 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`):
@@ -148,7 +145,7 @@ 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/)
@@ -163,7 +160,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 +176,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)
@@ -229,7 +226,7 @@ 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
+### Set up NOOBS on Raspberry Pi
Plug in the NOOBs SDCard to your Raspberry Pi, and enable the following
under 'Advanced Options':
@@ -246,7 +243,7 @@ On first boot
On second boot
- pi# sudo apt-get update && sudo apt-get install libftdi1 libftdi-dev libusb-dev libpci-dev subversion
+ pi# sudo apt-get update && sudo apt-get install libftdi1 libftdi-dev libusb-dev libpci-dev subversion libusb-1.0-0-dev
Other dependencies that should already be installed with the noobs base
install include:
@@ -353,8 +350,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,12 +405,12 @@ 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**
- [Arch Linux Wiki - Installing Arch Linux on
@@ -434,4 +431,5 @@ Copyright © 2014, 2015 Lawrence Wu <sagnessagiel@gmail.com>\
Copyright © 2015 snuffeluffegus <>\
Copyright © 2015 Kevin Keijzer <>\
Copyright © 2016 Leah Rowe <info@minifree.org>\
+
This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
diff --git a/docs/install/t400_external.md b/docs/install/t400_external.md
index d81376e0..bbb7240f 100644
--- a/docs/install/t400_external.md
+++ b/docs/install/t400_external.md
@@ -28,8 +28,9 @@ A note about CPUs
[ThinkWiki](http://www.thinkwiki.org/wiki/Category:T400) has a list of
CPUs for this system. The Core 2 Duo P8400, P8600 and P8700 are believed
-to work in libreboot. The T9600 was confirmed to work, so the
-T9500/T9550 probably also work.
+to work in libreboot.
+
+T9600, T9500 and T9550 are all compatible, as reported by users.
Quad-core CPUs
--------------
@@ -58,6 +59,7 @@ Flash chip size {#flashchips}
===============
Use this to find out:
+
# flashrom -p internal -V
MAC address {#macaddress}
@@ -211,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)
@@ -224,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**\
+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
@@ -250,13 +262,15 @@ 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.**
-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
@@ -348,4 +362,9 @@ You should see something like this:
Now [install GNU+Linux](../gnulinux/).
Copyright © 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/t500_external.md b/docs/install/t500_external.md
index 731ec8e0..749ef455 100644
--- a/docs/install/t500_external.md
+++ b/docs/install/t500_external.md
@@ -8,6 +8,8 @@ This guide is for those who want libreboot on their ThinkPad T500 while
they still have the original Lenovo BIOS present. This guide can also be
followed (adapted) if you brick your T500, to know how to recover.
+W500 is also mostly compatible with this guide.
+
Libreboot T400 {#t400}
==============
@@ -27,8 +29,10 @@ A note about CPUs
[ThinkWiki](http://www.thinkwiki.org/wiki/Category:T500) has a list of
CPUs for this system. The Core 2 Duo P8400, P8600 and P8700 are believed
to work in libreboot. The T9600 was also tested on the T400 and
-confirmed working, so the T9400/T9500/T9550 probably also work, but they
-are untested.
+confirmed working.
+
+T9550 was tested by a user, and is compatible as reported in the IRC channel.
+T9500 and T9400 may also work, but YMMV.
Quad-core CPUs
--------------
@@ -57,6 +61,7 @@ Flash chip size {#flashchips}
===============
Use this to find out:
+
# flashrom -p internal -V
MAC address {#macaddress}
@@ -225,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)
@@ -238,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**\
+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
@@ -264,13 +279,15 @@ 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.**
-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
@@ -362,4 +379,9 @@ You should see something like this:
Now [install GNU+Linux](../gnulinux/).
Copyright © 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/t60_unbrick.md b/docs/install/t60_unbrick.md
index 8df863e7..bc8d83e3 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!):\
@@ -148,11 +141,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.
@@ -204,4 +199,9 @@ replacing cpu paste/heatsink:\
![](../images/t60_dev/0074.JPG)
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/x200_external.md b/docs/install/x200_external.md
index adcc473b..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,18 +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, except
-you need to solder (there are no clips available).\
-The following image shows how this is done:**\
-![](images/x200/wson_soldered.jpg "Copyright 2014 Steve Shenton <sgsit@libreboot.org> see license notice at the end of this document")\
-In this image, a pin header was soldered onto the WSON. Another solution
-might be to de-solder the WSON-8 chip and put a SOIC-8 there instead.
-Check the list of SOIC-8 flash chips at
-[../hardware/gm45\_remove\_me.html\#flashchips](../hardware/gm45_remove_me.md#flashchips)
-but do note that these are only 4MiB (32Mb) chips. The only X200 SPI
-chips with 8MiB capacity are SOIC-16. For 8MiB capacity in this case,
-the X201 SOIC-8 flash chip (Macronix 25L6445E) might work.
+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
-------------
@@ -114,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
@@ -133,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
@@ -156,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)
@@ -168,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
@@ -192,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):
@@ -237,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)
@@ -251,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
======
@@ -263,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:
@@ -275,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
@@ -283,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
@@ -316,5 +308,10 @@ 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>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/x60_unbrick.md b/docs/install/x60_unbrick.md
index af040705..9c558631 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!):\
@@ -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.
@@ -216,4 +211,9 @@ Operating system:\
![](../images/x60_unbrick/0049.jpg)
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/x60tablet_unbrick.md b/docs/install/x60tablet_unbrick.md
index 78adf270..3a04ad3f 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!):\
@@ -112,15 +105,22 @@ 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.
Reverse the steps to re-assemble your system.
Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/misc/bbb_ehci.md b/docs/misc/bbb_ehci.md
index fbc9e9d4..6af3c2a4 100644
--- a/docs/misc/bbb_ehci.md
+++ b/docs/misc/bbb_ehci.md
@@ -352,4 +352,9 @@ Interface](http://cs.usfca.edu/~cruse/cs698s10/)
4. Find a simple way to send debug messages from targets userland
Copyright © 2015 Alex David <opdecirkel@gmail.com>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/misc/index.md b/docs/misc/index.md
index 32ca10bf..79b8d367 100644
--- a/docs/misc/index.md
+++ b/docs/misc/index.md
@@ -124,7 +124,7 @@ on intel gpu's is included in intel-gpu-tools. Install intel-gpu-tools:
**sudo apt-get install intel-gpu-tools**
You can set values: **sudo intel\_reg write 0x00061254
-&ltyour\_value>**
+your_value_in_C_hex_format**
The value set has the following structure: bits \[31:16\] is PWM
divider. PWM / PWM\_divider = frequency bits \[15:0\] is the duty cycle
@@ -201,10 +201,12 @@ is included in libreboot, and can be used to enable or disable this
behaviour.
Disable or enable beeps when removing/adding the charger:
+
$ sudo ./nvramtool -w power\_management\_beeps=Enable
$ sudo ./nvramtool -w power\_management\_beeps=Disable
Disable or enable beeps when battery is low:
+
$ sudo ./nvramtool -w low\_battery\_beep=Enable
$ sudo ./nvramtool -w low\_battery\_beep=Disable
@@ -222,9 +224,11 @@ package i2c-tools.
$ sudo modprobe i2c-dev
$ sudo i2cdump -y 5 0x50 (you might have to change the value for
+
-y)
$ sudo rmmod i2c-dev
+
You'll see the panel name in the output (from the EDID dump).
If neither of these options work (or they are unavailable), physically
@@ -264,4 +268,9 @@ Look at resources/scripts/helpers/misc/libreboot\_usb\_bugfix
Put this script in /etc/init.d/ on debian-based systems.
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/release.md b/docs/release.md
index 7f5a1c61..56b2548f 100644
--- a/docs/release.md
+++ b/docs/release.md
@@ -425,8 +425,6 @@ Changes for this release, relative to r20150208 (earliest changes last, recent c
- **New board:** ThinkPad R400 support added to libreboot.
- bbb\_setup.html: tell user to use libreboot's own flashrom
-
-
Release 20150124, 20150126 and 20150208 {#release20150124}
=======================================
@@ -638,8 +636,6 @@ Changes for this release (latest changes first, earliest changes last)
html errors
- Documentation (macbook21 related): clean up
-
-
Release 20141015 {#release20141015}
================
@@ -1482,6 +1478,10 @@ Development notes
- initial release
- source code deblobbed
-
Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\
-This page is available under the [CC BY SA 4.0](cc-by-sa-4.0.txt)
+
+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
+with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
+A copy of this license is found in [fdl-1.3.md](fdl-1.3.md)