libreboot

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 7a6f3336d93694d00126b1a1477d056aacfefc17
parent 675a8ef54c89fccf0a315fbbaba7e2444de2cdda
Author: Leah Rowe <info@minifree.org>
Date:   Sat, 27 May 2017 21:53:55 +0100

Merge branch 'website-overhaul'

Diffstat:
docs/bsd/freebsd.md | 8++++----
docs/bsd/index.md | 4++--
docs/bsd/netbsd.md | 8++++----
docs/bsd/openbsd.md | 8++++----
docs/depthcharge/index.md | 140++++++++++++++++++++++++++++++++++++++++---------------------------------------
docs/git/index.md | 75+++++++++++++++++++++++++++++++++++++++------------------------------------
docs/gnulinux/configuring_parabola.md | 79+++++++++++++++++++++++++++++++++++++++++--------------------------------------
docs/gnulinux/encrypted_debian.md | 44+++++++++++++++++++++-----------------------
docs/gnulinux/encrypted_parabola.md | 10+++++-----
docs/gnulinux/grub_boot_installer.md | 32+++++++++++++++-----------------
docs/gnulinux/grub_cbfs.md | 59++++++++++++++++++++++++++++++-----------------------------
docs/gnulinux/grub_hardening.md | 16++++++++--------
docs/gnulinux/index.md | 4++--
docs/grub/grubeditor.md | 25+++++++++++++------------
docs/grub/index.md | 10+++++-----
docs/hardware/c201.md | 7-------
docs/hardware/gm45_remove_me.md | 10+++++-----
docs/hardware/index.md | 84++++++++++++++++++++++++++++++++++++++++----------------------------------------
docs/hardware/kcma-d8.md | 14+++++++-------
docs/hardware/kfsn4-dre.md | 4++--
docs/hardware/kgpe-d16.md | 58+++++++++++++++++++++++++++++-----------------------------
docs/hardware/r400.md | 4++--
docs/hardware/t400.md | 6+++---
docs/hardware/t500.md | 6+++---
docs/hardware/x200.md | 56+++++++++++++++++++++++++++-----------------------------
docs/index.md | 32++++++++++++++++++--------------
docs/install/bbb_setup.md | 80++++++++++++++++++++++++++++++++++++++++----------------------------------------
docs/install/c201.md | 64+++++++++++++++++++++++++++++++++-------------------------------
docs/install/ga-g41m-es2l.md | 14++++++++------
docs/install/index.md | 119+++++++++++++++++++++++++++++++++++++++++++------------------------------------
docs/install/kcma-d8.md | 6+++---
docs/install/kgpe-d16.md | 6+++---
docs/install/r400_external.md | 21+++++++++++----------
docs/install/rpi_setup.md | 29++++++++++++++---------------
docs/install/t400_external.md | 18+++++++++---------
docs/install/t500_external.md | 12++++++------
docs/install/t60_unbrick.md | 16++++++++++------
docs/install/x60_unbrick.md | 6+++---
docs/install/x60tablet_unbrick.md | 6+++---
docs/misc/bbb_ehci.md | 22+++++++++++-----------
docs/misc/index.md | 45++++++++++++++++++++++++++++-----------------
docs/release.md | 4++--
www/footer.md | 4++--
www/index.md | 12++----------
www/news/fsf-domain-offer.md | 15---------------
www/news/sfc-domain-offer.md | 36------------------------------------
46 files changed, 655 insertions(+), 683 deletions(-)

diff --git a/docs/bsd/freebsd.md b/docs/bsd/freebsd.md @@ -8,8 +8,8 @@ your libreboot system, using nothing more than a USB flash drive (and *dd*). They've only been tested on a Lenovo ThinkPad x200. It is expected that you use text mode in libreboot (txtmode images), for -the early boot process in FreeBSD. **Booting the installer results in a -red flickering text display, and doesn't boot.** +the early boot process in FreeBSD. *Booting the installer results in a +red flickering text display, and doesn't boot.* Thanks go to ioxcide in [this Reddit post](https://www.reddit.com/r/BSD/comments/53jt70/libreboot_and_bsds/) @@ -20,9 +20,9 @@ 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. -**This section is only for the GRUB payload. For depthcharge (used on +*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.** +libreboot documentation.* freebsd.img is the installation image for FreeBSD. Adapt the filename accordingly, for whatever FreeBSD version you use. diff --git a/docs/bsd/index.md b/docs/bsd/index.md @@ -5,8 +5,8 @@ title: BSD projects This section relates to dealing with BSD projects: preparing bootable USB drives, changing the default GRUB menu and so on. -**This section is only for the \*GRUB\* payload. For depthcharge, -instructions have yet to be written.** +*This section is only for the GRUB payload. For depthcharge, +instructions have yet to be written.* - [How to install NetBSD on a libreboot system](netbsd.md) - [How to install LibertyBSD or OpenBSD on a libreboot diff --git a/docs/bsd/netbsd.md b/docs/bsd/netbsd.md @@ -8,16 +8,16 @@ libreboot system, using nothing more than a USB flash drive (and *dd*). They've only been tested on a librebooted ThinkPad X60. It is expected that you use text mode in libreboot (txtmode images), for -the early boot process in NetBSD. **Suspend/hibernate is broken, -according to at least 1 user.** +the early boot process in NetBSD. *Suspend/hibernate is broken, +according to at least 1 user.* Thanks go to ioxcide in [this Reddit post](https://www.reddit.com/r/BSD/comments/53jt70/libreboot_and_bsds/) for the initial instructions. -**This section is only for the GRUB payload. For depthcharge (used on +*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.** +libreboot documentation.* netbsd.iso is the installation image for NetBSD. Adapt the filename accordingly, for your version of NetBSD. diff --git a/docs/bsd/openbsd.md b/docs/bsd/openbsd.md @@ -14,9 +14,9 @@ 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. -**This section is only for the GRUB payload. For depthcharge (used on +*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.** +libreboot documentation.* install60.fs is the installation image for OpenBSD 6.0. Adapt the filename accordingly, for a different OpenBSD version or LibertyBSD. @@ -124,9 +124,9 @@ working this way. Alternatively, it would be good to port OpenBSD either natively as a coreboot payload, or port it to libpayload (payload library in coreboot; it has a basic C library and a few functions for certain operations e.g. -text/bitmap). **This would be ideal, because then it would be possible +text/bitmap). *This would be ideal, because then it would be possible to boot a truly fully encrypted OpenBSD or LibertyBSD installation, by -putting everything in the flash chip.** +putting everything in the flash chip.* Alternatively, modifying GRUB to support booting fully encrypted OpenBSD installations would be possible, but probably not feasible; it's an diff --git a/docs/depthcharge/index.md b/docs/depthcharge/index.md @@ -8,16 +8,16 @@ This section relates to the depthcharge payload used in libreboot. CrOS security model =================== -CrOS (Chromium OS/Chrome OS) devices such as Chromebooks implement a -strict security model to ensure that these devices do not become -compromised, that is implemented as the verified boot (vboot) reference, -most of which is executed within depthcharge. A detailed overview of the -CrOS security model is available on the dedicated page. +CrOS (Chromium OS/Chrome OS) devices such as Chromebooks implement a strict +security model to ensure that these devices do not become compromised, that is +implemented as the verified boot (vboot) reference, most of which is executed +within depthcharge. A detailed overview of the CrOS security model is available +on the dedicated page. -In spite of the CrOS security model, depthcharge won't allow booting -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). +In spite of the CrOS security model, depthcharge won't allow booting 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 ===================== @@ -32,37 +32,38 @@ showing information about the device and disabling developer mode. 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. +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 ---------------- -As instructed on the developer mode screen, a regular boot will happen -after **3 seconds** (if developer mode screen is not held).\ -The default boot medium (internal storage, external media, legacy -payload) is shown on screen. +As instructed on the developer mode screen, a regular boot will happen 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 ------------------------------ -Depthcharge allows booting from different mediums, when they are allowed -(see [configuring verified boot -parameters](#configuring_verified_boot_parameters) to enable or disable -boot mediums).\ -As instructed on the developer mode screen, booting from various mediums -can be triggered by pressing various key combinations: +Depthcharge allows booting from different mediums, when they are allowed (see +[configuring verified boot parameters](#configuring_verified_boot_parameters) +to enable or disable boot mediums). + +As instructed on the developer mode screen, booting from various mediums can be +triggered by pressing various key combinations: -- Internal storage: **Ctrl + D** -- External media: **Ctrl + U** (when enabled) -- Legacy payload: **Ctrl + L** (when enabled) +- Internal storage: *Ctrl + D* +- External media: *Ctrl + U* (when enabled) +- Legacy payload: *Ctrl + L* (when enabled) 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, +triggered by pressing *Ctrl + I* or *Tab*. Various information is shown, including vboot non-volatile data, TPM status, GBB flags and key hashes. Warnings @@ -77,69 +78,70 @@ The developer mode screen will show warnings when: Recovery mode screen ==================== -The recovery mode screen can be accessed in depthcharge, by pressing -**Escape + Refresh + Power** when the device is off. +The recovery mode screen can be accessed in depthcharge, by pressing *Escape + +Refresh + Power* when the device is off. -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. +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 --------------------------- -When the device fails to verify the signature of a piece of the boot -software or when an error occurs, it is considered to be in a bad state -and will instruct the user to reboot to recovery mode.\ -Recovery mode boots using only software located in write-protected -memory, that is considered to be trusted and safe. +When the device fails to verify the signature of a piece of the boot software +or when an error occurs, it is considered to be in a bad state and will +instruct the user to reboot to recovery mode. + +Recovery mode boots using only software located in write-protected memory, that +is considered to be trusted and safe. + +Recovery mode then allows recovering the device by booting from a trusted +recovery media, that is automatically detected when recovery mode starts. When +no external media is found or when the recovery media is invalid, instructions +are shown on screen. + +Trusted recovery media are external media (USB drives, SD cards, etc) that hold +a kernel signed with the recovery key. -Recovery mode then allows recovering the device by booting from a -trusted recovery media, that is automatically detected when recovery -mode starts. When no external media is found or when the recovery media -is invalid, instructions are shown on screen.\ -Trusted recovery media are external media (USB drives, SD cards, etc) -that hold a kernel signed with the recovery key. +Google provides images of such recovery media for Chrome OS (which are not +advised to users as they contain proprietary software). -Google provides images of such recovery media for Chrome OS (which are -not advised to users as they contain proprietary software).\ -They are signed with Google's recovery keys, that are pre-installed on -the device when it ships. +They are signed with Google's recovery keys, that are pre-installed on the +device when it ships. When replacing the full flash of the device, the pre-installed keys are 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. +self-generated keys), it can be used to sign a kernel for recovery purposes. 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. +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. Configuring verified boot parameters ==================================== Depthcharge's behavior relies on the verified boot (vboot) reference -implementation, that can be configured with parameters stored in the -verified boot non-volatile storage.\ -These parameters can be modified with the **crossystem** tool, that -requires sufficient privileges to access the verified boot non-volatile -storage. - -**crossystem** relies on **mosys**, that is used to access the verified -boot non-volatile storage on some devices. **crossystem** and **mosys** -are both free software and their source code is made available by -Google: +implementation, that can be configured with parameters stored in the verified +boot non-volatile storage. + +These parameters can be modified with the `crossystem` tool, that requires +sufficient privileges to access the verified boot non-volatile storage. + +`crossystem` relies on `mosys`, that is used to access the verified boot +non-volatile storage on some devices. `crossystem` and `mosys` are both free +software and their source code is made available by Google: [crossystem](https://chromium.googlesource.com/chromiumos/platform/vboot_reference/). -[mosys](https://chromium.googlesource.com/chromiumos/platform/mosys/).\ -These tools are not distributed along with Libreboot yet. However, they -are preinstalled on the device, with ChromeOS. - -Some of these parameters have the potential of **weakening the security -of the device**. In particular, disabling kernels signature -verification, external media boot and legacy payload boot can weaken the -security of the device. +[mosys](https://chromium.googlesource.com/chromiumos/platform/mosys/). + +These tools are not distributed along with Libreboot yet. However, they are +preinstalled on the device, with ChromeOS. + +Some of these parameters have the potential of *weakening the security of the +device*. In particular, disabling kernels signature verification, external +media boot and legacy payload boot can weaken the security of the device. The following parameters can be configured: diff --git a/docs/git/index.md b/docs/git/index.md @@ -15,9 +15,9 @@ Install build dependencies Before doing anything, you need the dependencies first. This is true if you want to build libreboot from source, with either -libreboot\_src.tar.xz or git. **If you are using libreboot\_util.tar.xz +libreboot\_src.tar.xz or git. *If you are using libreboot\_util.tar.xz (binary archive) then you can ignore this, because ROM images and -statically compiled executables for the utilities are included.** +statically compiled executables for the utilities are included.* For Debian Stretch (may also work on Debian Jessie), you can run the following command: @@ -81,8 +81,8 @@ To build the ROM images, see [\#build](#build). How to build "bucts" (for LenovoBIOS X60/X60S/X60T/T60) ========================================================= -**This is for Lenovo BIOS users on the ThinkPad X60/X60S, X60 Tablet and -T60. If you have coreboot or libreboot running already, ignore this.** +*This is for Lenovo BIOS users on the ThinkPad X60/X60S, X60 Tablet and +T60. If you have coreboot or libreboot running already, ignore this.* BUC.TS isn't really specific to these laptops, but is a bit inside the a register in the chipset on some Intel systems. @@ -92,12 +92,12 @@ while Lenovo BIOS is running; external flashing will be safe regardless. Each ROM contains identical data inside the two final 64K region in the file\*. This corresponds to the final two 64K regions in the flash chip. Lenovo BIOS will prevent you from writing the final one, so running -"**bucts 1**" will set the system to boot from the other block instead +`bucts 1` will set the system to boot from the other block instead (which is writeable along with everything beneath it when using a patched flashrom. see [\#build\_flashrom](#build_flashrom)). After shutting down and booting up after the first flash of libreboot, the final 64K block is writeable so you flash the ROM again with an -unpatched flashrom and run "**bucts 0**" to make the system boot from +unpatched flashrom and run `bucts 0` to make the system boot from the normal (highest) block again. \*Libreboot ROM images have identical data in those two 64KiB regions @@ -111,12 +111,13 @@ the mainboard. Removing that battery removes power to BUC.TS, resetting the bit back to 0 (if you previously set it to 1). BUC.TS utility is included in libreboot\_src.tar.xz and -libreboot\_util.tar.xz.\ -**If you downloaded from git, follow [\#build\_meta](#build_meta) before -you proceed.** +libreboot\_util.tar.xz. -"BUC" means "**B**ack**u**p **C**ontrol" (it's a register) and -"TS" means "**T**op **S**wap" (it's a status bit). Hence "bucts" +If you downloaded from git, follow [\#build\_meta](#build_meta) before +you proceed. + +"BUC" means "*B*ack*u*p *C*ontrol" (it's a register) and +"TS" means "*T*op *S*wap" (it's a status bit). Hence "bucts" (BUC.TS). TS 1 and TS 0 corresponds to bucts 1 and bucts 0. If you have the binary release archive, you'll find executables under @@ -142,9 +143,10 @@ Flashrom is the utility for flashing/dumping ROM images. This is what you will use to install libreboot. Flashrom source code is included in libreboot\_src.tar.xz and -libreboot\_util.tar.xz.\ -**If you downloaded from git, follow [\#build\_meta](#build_meta) before -you proceed.** +libreboot\_util.tar.xz. + +*If you downloaded from git, follow [\#build\_meta](#build_meta) before +you proceed.* If you are using the binary release archive, then there are already binaries included under ./flashrom/. The flashing scripts will try to @@ -164,12 +166,12 @@ To statically compile it, do the following in the main directory: After you've done that, under ./flashrom/ you will find the following executables: -- **flashrom** +- `flashrom` - For flashing while coreboot or libreboot is running. -- **flashrom\_lenovobios\_sst** +- `flashrom_lenovobios_sst` - This is patched for flashing while Lenovo BIOS is running on an X60 or T60 with the SST25VF016B (SST) flash chip. -- **flashrom\_lenovobios\_macronix** +- `flashrom_lenovobios_macronix` - This is patched for flashing while Lenovo BIOS is running on an X60 or T60 with the MX25L1605D (Macronix) flash chip. @@ -215,26 +217,26 @@ 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 + $ ./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/**. +in `resources/libreboot/config/grub/`. To clean (reverse) everything, do the following: $ ./oldbuild clean all -The ROM images will be stored under **bin/*payload*/**, where *payload* -could be *grub*, *seabios*, or whatever other payload those images were +The ROM images will be stored under `bin/payload/`, where `payload` +could be `grub`, `seabios`, or whatever other payload those images were built for. Preparing release archives (optional) ------------------------------------- -**This is only confirmed to work (tested) in Debian Stretch. Parabola -\*fails\* at this stage (for now). For all other distros, YMMV. This -will also work in Devuan.** +*This is only confirmed to work (tested) in Debian Stretch. Parabola fails at +this stage (for now). For all other distros, YMMV. This will also work in +Devuan.* This is mainly intended for use with the git repository. These commands will work in the release archive (\_src), unless otherwise noted below. @@ -257,8 +259,8 @@ Archive containing flashrom and bucts source code: $ ./oldbuild release tobuild -Documentation archive (**does not work on \_src release archive, only -git**): +Documentation archive (*does not work on \_src release archive, only +git*): $ ./oldbuild release docs @@ -276,17 +278,18 @@ SHA512 sums of all other release archives that have been generated: If you are building on an i686 host, this will build statically linked 32-bit binaries in the binary release archive that you created, for: -**nvramtool, cbfstool, ich9deblob, cbmem**. + + nvramtool, cbfstool, ich9deblob, cbmem If you are building on an x86\_64 host, this will build statically -linked 32- \*and\* 64-bit binaries for **cbmem**, **ich9deblob**, -**cbfstool** and **nvramtool**. +linked 32- \*and\* 64-bit binaries for `cbmem`, `ich9deblob`, +`cbfstool` and `nvramtool`. -**To include statically linked i686 and x86\_64 binaries for bucts and +*To include statically linked i686 and x86\_64 binaries for bucts and flashrom, you will need to build them on a chroot, a virtual system or a real system where the host uses each given architecture. These packages are difficult to cross-compile, and the libreboot project is still -figuring out how to deal with them.** +figuring out how to deal with them.* The same applies if you want to include statically linked flashrom binaries for ARM. @@ -316,16 +319,16 @@ 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 +The archive `tobuild.tar.xz` will have been created under +`release/oldbuildsystem/`, containing bucts, flashrom and all other required resources for building them. You'll find that the files libreboot\_util.tar.xz and libreboot\_src.tar.xz have been created, under -**release/oldbuildsystem/**. +`release/oldbuildsystem/`. The ROM images will be stored in separate archives for each system, -under **release/oldbuildsystem/rom/**. +under `release/oldbuildsystem/rom/`. Copyright © 2014, 2015, 2016 Leah Rowe <info@minifree.org>\ diff --git a/docs/gnulinux/configuring_parabola.md b/docs/gnulinux/configuring_parabola.md @@ -19,9 +19,9 @@ likely to become obsolete at a later date (due to the volatile 'rolling-release' model that Arch/Parabola both use), but attempts will be made to maintain it. -**This guide was valid on 2014-09-21. If you see any changes that should +*This guide was valid on 2014-09-21. If you see any changes that should to be made at the present date, please get in touch with the libreboot -project!** +project!* You do not necessarily have to follow this guide word-for-word; *parabola* is extremely flexible. The aim here is to provide a common @@ -35,18 +35,18 @@ Paradoxically, as you get more advanced Parabola can actually become compared to what most distributions provide. You will find over time that other distributions tend to *get in your way*. -**This guide assumes that you already have Parabola installed. If you +*This guide assumes that you already have Parabola installed. If you have not yet installed Parabola, then [this -guide](encrypted_parabola.md) is highly recommended!** +guide](encrypted_parabola.md) is highly recommended!* A lot of the steps in this guide will refer to the Arch wiki. Arch is the upstream distribution that Parabola uses. Most of this guide will also tell you to read wiki articles, other pages, manuals, and so on. In general it tries to cherry pick the most useful information but -nonetheless you are encouraged to learn as much as possible. **It might +nonetheless you are encouraged to learn as much as possible. *It might take you a few days to fully install your system how you like, depending on how much you need to read. Patience is key, especially for new -users**. +users*. The Arch wiki will sometimes use bad language, such as calling the whole system Linux, using the term open-source (or closed-source), and it will @@ -69,7 +69,7 @@ your network then you should setup your network connection first:\ Configure pacman {#pacman_configure} ---------------- -pacman (**pac**kage **man**ager) is the name of the package management +pacman (*pac*kage *man*ager) is the name of the package management system in Arch, which Parabola (as a deblobbed parallel effort) also uses. Like with 'apt-get' on Debian or Devuan, this can be used to add/remove and update the software on your computer. @@ -95,8 +95,8 @@ Then, update the system: # pacman -Syu -**Before installing packages with 'pacman -S', always update first, -using the notes above.** +*Before installing packages with 'pacman -S', always update first, +using the notes above.* Keep an eye out on the output, or read it in /var/log/pacman.log. Sometimes, pacman will show messages about maintenance steps that you @@ -143,13 +143,13 @@ re-install it or install the distro on another computer, for example). ### Cleaning the package cache {#pacman_cacheclean} -**The following is very important as you continue to use, update and +*The following is very important as you continue to use, update and maintain your Parabola system:\ <https://wiki.archlinux.org/index.php/Pacman#Cleaning_the_package_cache>. Essentially, this guide talks about a directory that has to be cleaned once in a while, to prevent it from growing too big (it's a cache of old package information, updated automatically when you do anything in -pacman).** +pacman).* To clean out all old packages that are cached: @@ -217,8 +217,8 @@ This is the name of the system used for managing services in Parabola. It is a good idea to become familiar with it. Read <https://wiki.archlinux.org/index.php/systemd> and <https://wiki.archlinux.org/index.php/systemd#Basic_systemctl_usage> to -gain a full understanding. **This is very important! Make sure to read -them.** +gain a full understanding. *This is very important! Make sure to read +them.* An example of a 'service' could be a webserver (such as lighttpd), or sshd (openssh), dhcp, etc. There are countless others. @@ -403,8 +403,8 @@ System Maintenance {#system_maintain} Read <https://wiki.archlinux.org/index.php/System_maintenance> before continuing. Also read -<https://wiki.archlinux.org/index.php/Enhance_system_stability>. **This -is important, so make sure to read them!** +<https://wiki.archlinux.org/index.php/Enhance_system_stability>. *This +is important, so make sure to read them!* Install smartmontools (it can be used to check smart data. HDDs use non-free firmware inside, but it's transparent to you but the smart @@ -451,25 +451,28 @@ driver is needed. By default, Xorg will revert to xf86-video-vesa which is a generic driver and doesn't provide true hardware acceleration. Other drivers (not just video) can be found by looking at the -*xorg-drivers* group: +`xorg-drivers` group: # pacman -Sg xorg-drivers -Mostly you will rely on a display manager, but in case you ever want to -start X without one: +Mostly you will rely on a display manager, but in case you ever want to start X +without one: # pacman -S xorg-xinit -<optional>\ -   Arch wiki recommends installing these, for testing that X works:\ -   \# **pacman -S xorg-twm xorg-xclock xterm**\ -   Refer to <https://wiki.archlinux.org/index.php/Xinitrc>. and test X:\ -   \# **startx**\ -   When you are satisfied, type ***exit*** in xterm, inside the X -session.\ -   Uninstall them (clutter. eww): \# **pacman -S xorg-xinit xorg-twm -xorg-xclock xterm**\ -</optional> +Optionally, to test X, install these: + +   # pacman -S xorg-twm xorg-xclock xterm + +Refer to <https://wiki.archlinux.org/index.php/Xinitrc>. and test X: + +   # startx + +When you are satisfied, type `exit` in xterm, inside the X session. + +Uninstall them (clutter. eww): + + # pacman -S xorg-xinit xorg-twm xorg-xclock xterm ### Xorg keyboard layout {#desktop_kblayout} @@ -566,22 +569,22 @@ 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\ +the file. + + export LC_ALL=en_GB.UTF-8 + export LANGUAGE=en_GB.UTF-8 + export LANG=en_GB.UTF-8 + + exec startlxde + * Now make sure that it is executable: $ chmod +x .xinitrc ### LXDE - clock {#lxde_clock} -In **Digital Clock Settings** (right click the clock) I set the Clock -Format to *%Y/%m/%d %H:%M:%S* +In *Digital Clock Settings* (right click the clock) I set the Clock +Format to `%Y/%m/%d %H:%M:%S` ### LXDE - font {#lxde_font} diff --git a/docs/gnulinux/encrypted_debian.md b/docs/gnulinux/encrypted_debian.md @@ -39,28 +39,26 @@ If you are on a 32-bit system (e.g. X60): [This guide](grub_boot_installer.md) shows how to create a boot USB drive with the Debian ISO image. -**This guide is \*only\* for the GRUB payload. If you use the -depthcharge payload, ignore this section entirely.** +*This guide is only for the GRUB payload. If you use the depthcharge payload, +ignore this section entirely.* -Note: on some thinkpads, a faulty DVD drive can cause the cryptomount -a -step during boot to fail. If this happens to you, try removing the -drive. +Note: on some thinkpads, a faulty DVD drive can cause the cryptomount -a step +during boot to fail. If this happens to you, try removing the drive. -Set a strong user password (lots of lowercase/uppercase, numbers and -symbols). +Set a strong user password (lots of lowercase/uppercase, numbers and symbols). -Use of the *diceware method* is recommended, for generating secure -passphrases (instead of passwords). +Use of the *diceware method* is recommended, for generating secure passphrases +(instead of passwords). -when the installer asks you to set up encryption (ecryptfs) for your -home directory, select 'Yes' if you want to: **LUKS is already secure -and performs well. Having ecryptfs on top of it will add noticeable -performance penalty, for little security gain in most use cases. This is -therefore optional, and not recommended. Choose 'no'.** +When the installer asks you to set up encryption (ecryptfs) for your home +directory, select 'Yes' if you want to: *LUKS is already secure and performs +well. Having ecryptfs on top of it will add noticeable performance penalty, for +little security gain in most use cases. This is therefore optional, and not +recommended. Choose 'no'.* -**Your user password should be different from the LUKS password which +*Your user password should be different from the LUKS password which you will set later on. Your LUKS password should, like the user -password, be secure.** +password, be secure.* Partitioning ============ @@ -91,15 +89,15 @@ Choose 'Manual' partitioning: - Configure the logical volume manager: - Keep settings: Yes - Create volume group: - - Name: **matrix** (use this exact name) + - Name: `matrix` (use this exact name) - Select crypto partition - Create logical volume - - select **matrix** (use this exact name) - - name: **rootvol** (use this exact name) + - select `matrix` (use this exact name) + - name: `rootvol` (use this exact name) - size: default, minus 2048 MB - Create logical volume - - select **matrix** (use this exact name) - - name: **swap** (user this exact name) + - select `matrix` (use this exact name) + - name: `swap` (user this exact name) - size: press enter Further partitioning @@ -132,8 +130,8 @@ something else. If you want debian-testing, then you should only select barebones options here and change the entries in /etc/apt/sources.list after -install to point to the new distro, and then run **apt-get update** and -**apt-get dist-upgrade** as root, then reboot and run **tasksel** as +install to point to the new distro, and then run `apt-get update` and +`apt-get dist-upgrade` as root, then reboot and run `tasksel` as root. This is to avoid downloading large packages twice. NOTE: If you want the latest up to date version of the Linux kernel, diff --git a/docs/gnulinux/encrypted_parabola.md b/docs/gnulinux/encrypted_parabola.md @@ -17,8 +17,8 @@ volume. Not so with libreboot! Since GRUB is already included directly as a payload, even /boot can be encrypted. This protects /boot from tampering by someone with physical access to the system. -**This guide is \*only\* for the GRUB payload. If you use the -depthcharge payload, ignore this section entirely.** +*This guide is \*only\* for the GRUB payload. If you use the +depthcharge payload, ignore this section entirely.* This guide is intended for the Parabola distribution, but it should also work (with some adaptation) for *Arch*. We recomend using Parabola, @@ -174,7 +174,7 @@ I am initializing LUKS with the following: whirlpool --iter-time 500 --use-random --verify-passphrase luksFormat /dev/sda1 - Choose a **secure** passphrase here. Ideally lots of + 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. @@ -269,7 +269,7 @@ Create /home and /boot on root mountpoint: Once all the remaining partitions, if any, have been mounted, the devices are ready to install Parabola. -In **/etc/pacman.d/mirrorlist**, comment out all lines except the Server +In `/etc/pacman.d/mirrorlist`, comment out all lines except the Server line closest to where you are (I chose the UK Parabola server (main server)) and then did: @@ -353,7 +353,7 @@ Check the created file: # cat /mnt/etc/fstab -(If there are any errors, edit the file. Do **NOT** run the genfstab +(If there are any errors, edit the file. Do *NOT* run the genfstab command again!) Chroot into new system: diff --git a/docs/gnulinux/grub_boot_installer.md b/docs/gnulinux/grub_boot_installer.md @@ -5,11 +5,11 @@ 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*). +flash drive (and `dd`). -**This section is only for the GRUB payload. For depthcharge (used on +*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.** +libreboot documentation.* Prepare the USB drive (in GNU+Linux) ------------------------------------ @@ -144,20 +144,18 @@ 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 -appropriate.** - -For Debian or Devuan (and other debian-based distros), there are -typically menuentries listed in */isolinux/txt.cfg* or -*/isolinux/gtk.cfg*. For dual-architecture ISO images (i686 and -x86\_64), there may be separate files/directories for each architecture. -Just keep searching through the image, until you find the correct -ISOLINUX configuration file. NOTE: Debian 8.6 ISO only lists 32-bit boot -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. +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 appropriate.* + +For Debian or Devuan (and other debian-based distros), there are typically +menuentries listed in */isolinux/txt.cfg* or */isolinux/gtk.cfg*. For +dual-architecture ISO images (i686 and x86\_64), there may be separate +files/directories for each architecture. Just keep searching through the +image, until you find the correct ISOLINUX configuration file. NOTE: Debian 8.6 +ISO only lists 32-bit boot 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: diff --git a/docs/gnulinux/grub_cbfs.md b/docs/gnulinux/grub_cbfs.md @@ -25,15 +25,15 @@ the libreboot GRUB payload will automatically search for. Here is an excellent writeup about CBFS (coreboot filesystem): <http://lennartb.home.xs4all.nl/coreboot/col5.html>. -**This guide is \*only\* for the GRUB payload. If you use the -depthcharge payload, ignore this section entirely.** +*This guide is only for the GRUB payload. If you use the depthcharge payload, +ignore this section entirely.* Introduction ------------ Download the latest release from [libreboot.org](/)\ -**If you downloaded from git, refer to -[../git/\#build\_meta](../git/#build_meta) before continuing.** +*If you downloaded from git, refer to +[../git/\#build\_meta](../git/#build_meta) before continuing.* There are several advantages to modifying the GRUB configuration stored in CBFS, but this also means that you have to flash a new libreboot ROM @@ -54,10 +54,10 @@ the main storage for /boot/grub/libreboot\_grub.cfg or partition), and then use it automatically. Simply create your custom GRUB configuration and save it to -**/boot/grub/libreboot\_grub.cfg** on the running system. The next time +`/boot/grub/libreboot_grub.cfg` on the running system. The next time you boot, GRUB (in libreboot) will automatically switch to this -configuration file. **This means that you do not have to re-flash, -recompile or otherwise modify libreboot at all!** +configuration file. *This means that you do not have to re-flash, +recompile or otherwise modify libreboot at all!* Ideally, your distribution should automatically generate a libreboot\_grub.cfg file that is written specifically under the @@ -73,13 +73,13 @@ If you want to adapt a copy of the existing *libreboot* GRUB configuration and use that for the libreboot\_grub.cfg file, then follow [\#tools](#tools), [\#rom](#rom) and [\#extract\_testconfig](#extract_testconfig) to get the -***grubtest.cfg***. Rename ***grubtest.cfg*** to -***libreboot\_grub.cfg*** and save it to ***/boot/grub/*** on the +`grubtest.cfg`. Rename `grubtest.cfg` to +`libreboot_grub.cfg` and save it to `/boot/grub/` on the running system where it is intended to be used. Modify the file at that location however you see fit, and then stop reading this guide (the rest -of this page is irrelevant to you); **in libreboot\_grub.cfg on disk, if +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.**. +for `libreboot_grub.cfg` otherwise it will loop. 2nd option: re-flash -------------------- @@ -90,7 +90,7 @@ on to find out how. Acquire the necessary utilities ------------------------------- -Use ***cbfstool*** and ***flashrom***. There are available in the +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: @@ -111,8 +111,8 @@ 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: +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 @@ -121,9 +121,8 @@ 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 - -print** + $ cd .../libreboot\_util/cbfstool + $ ./cbfstool libreboot.rom The files *grub.cfg* and *grubtest.cfg* should be present. grub.cfg is loaded by default, with a menuentry for switching to grubtest.cfg. In @@ -144,17 +143,19 @@ config from the ROM image: $ ./cbfstool libreboot.rom remove -n grubtest.cfg -Next, insert the modified version:\ -**\$ ./cbfstool libreboot.rom add -n grubtest.cfg -f grubtest.cfg -t -raw** +Next, insert the modified version: + + $ ./cbfstool libreboot.rom add -n grubtest.cfg -f grubtest.cfg -t raw Testing ------- -**Now you have a modified ROM. Refer back to +Now you have a modified ROM. Refer back to [../install/\#flashrom](../install/#flashrom) for information on how to flash it. - $ cd /libreboot\_util** \# **./flash update libreboot.rom\ + + $ 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 @@ -162,17 +163,17 @@ 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.** +up with your new test configuration. Choose (in GRUB) the menu entry that switches to grubtest.cfg. If it works, then your config is safe and you can continue below. -**If it does not work like you want it to, if you are unsure or +*If it does not work like you want it to, if you are unsure or 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.** +Do not proceed past this point unless you are 100% sure that your +new configuration is safe (or desirable) to use.* Final steps ----------- @@ -199,10 +200,10 @@ Add the modified version that you just made: $ ./cbfstool libreboot.rom add -n grub.cfg -f grub.cfg -t raw -**Now you have a modified ROM. Again, refer back to +*Now you have a modified ROM. Again, refer back to [../install/\#flashrom](../install/#flashrom) for information on how to flash it. It's the same method as you used before. Shut down and then -boot up with your new configuration.** +boot up with your new configuration.* Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\ Copyright © 2015 Jeroen Quint <jezza@diplomail.ch>\ diff --git a/docs/gnulinux/grub_hardening.md b/docs/gnulinux/grub_hardening.md @@ -54,8 +54,8 @@ location. Note that this is not your LUKS password, but it's a password that you have to enter in order to use "restricted" functionality (such as console). This protects your system from an attacker simply booting a -live USB and re-flashing your firmware. **This should be different than -your LUKS passphrase and user password.** +live USB and re-flashing your firmware. *This should be different than +your LUKS passphrase and user password.* Use of the *diceware method* is recommended, for generating secure passphrases (as opposed to passwords). Diceware method involves using @@ -76,7 +76,7 @@ The GRUB password can be entered in two ways: - protected with [PBKDF2](https://en.wikipedia.org/wiki/Pbkdf2) We will (obviously) use the later. Generating the PBKDF2 derived key is -done using the **grub-mkpasswd-pbkdf2** utility. You can get it by +done using the `grub-mkpasswd-pbkdf2` utility. You can get it by installing GRUB version 2. Generate a key by giving it a password: grub-mkpasswd-pbkdf2 @@ -97,13 +97,13 @@ As enabling password protection as above means that you have to input it on every single boot, we will make one menu entry work without it. Remember that we will have GPG signing active, thus a potential attacker will not be able to boot an arbitrary operating system. We do this by -adding option **--unrestricted** to a menuentry definition: +adding option `--unrestricted` to a menuentry definition: menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' --unrestricted { ... Another good thing to do, if we chose to load signed on-disk GRUB -configurations, is to remove (or comment out) **unset superusers** in +configurations, is to remove (or comment out) `unset superusers` in function try\_user\_config: function try_user_config { @@ -133,7 +133,7 @@ GPG keys 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 +Warning: GRUB does not read ASCII armored keys. When attempting to trust ... a key filename it will print error: bad signature mkdir --mode 0700 keys @@ -151,8 +151,8 @@ Now that we have a key, we can sign some files with it. We have to sign: by pressing ESC, but afterwards grubtest.cfg is not signed and it will not load. -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 +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 diff --git a/docs/gnulinux/index.md b/docs/gnulinux/index.md @@ -5,8 +5,8 @@ title: GNU+Linux installation instructions This section relates to dealing with GNU+Linux distributions: preparing bootable USB drives, changing the default GRUB menu and so on. -**This section is only for the \*GRUB\* payload. For depthcharge, -instructions have yet to be written.** +*This section is only for the GRUB payload. For depthcharge, +instructions have yet to be written.* - [How to install GNU+Linux on a libreboot system](grub_boot_installer.md) diff --git a/docs/grub/grubeditor.md b/docs/grub/grubeditor.md @@ -24,18 +24,19 @@ valid Libreboot ROM image that uses the GRUB2 payload and contains both _grub.cfg_ and _grubtest.cfg_ files. Additional options should come _before_ the ROM image file on the command line. -You can call the script the **-h** or **--help** option to view a brief summary +` +You can call the script the `-h` or `--help` option to view a brief summary of the options available. Consider this guide a more extensive version of this screen. grubeditor.sh supports extended getopt, which means that all options have both a short and a long form which respectively begin with a single hyphen and a double hyphen. You can group together several short options with a single hyphen like -**-ris** (or not, like **-r -i -s**). Long options should be written as +`-ris` (or not, like `-r -i -s`). Long options should be written as standalone arguments. Lastly, you can check which version of grubeditor.sh you are using with the -**-v** or **--version** option. +`-v` or `--version` option. Requirements ============ @@ -43,7 +44,7 @@ Requirements grubeditor.sh requires an x86, x86_64, or armv7l environment, since these are the environments for which cbfstools binaries are provided. Additionally, grubeditor.sh needs a Bash environment with extended getopt functionality that -can run the **diff** command and write to /tmp. Lastly, the script expects to +can run the `diff` command and write to /tmp. Lastly, the script expects to live in the top directory of the Libreboot utilities package so it can properly call cbfstool. @@ -55,7 +56,7 @@ Linux LiveCD of your choice which provides these essentials. Optionally, you should make sure your EDITOR variable is set. Otherwise, grubeditor.sh will default to using vi, which may not exist on your system. You can override this default or the contents of your EDITOR variable using the -**-e** or **--editor** command. +`-e` or `--editor` command. Editing configuration files =========================== @@ -68,27 +69,27 @@ name in the same directory, except that the new ROM file will end with ".modified". You can then flash this ROM image to your platform's BIOS chip. If you would prefer to edit the actual _grub.cfg_ configuration file, use the -**-r** or the **--realcfg** option. Everything else will work the same except +`-r` or the `--realcfg` option. Everything else will work the same except that your editor will open the _grub.cfg_ instead. If you would prefer to overwrite your existing ROM image instead of creating a -new one ending in ".modified" use the **-i** or **--inplace** option. -Naturally, you can combine this option with the **-r/--realcfg** option +new one ending in ".modified" use the `-i` or `--inplace` option. +Naturally, you can combine this option with the `-r/--realcfg` option described above. Swapping and diffing grub.cfg and grubtest.cfg ============================================== grubeditor.sh supports swapping the _grub.cfg_ and _grubtest.cfg_ configuration -files with the **-s** or **--swap** options. This will create a new ROM image +files with the `-s` or `--swap` options. This will create a new ROM image alongside the existing ROM image ending with ".modified" which has these files swapped. Naturally, you can request this operation overwrite the existing file -instead using the **-i/--inplace** option. +instead using the `-i/--inplace` option. Lastly, grubeditor.sh supports comparing _grub.cfg_ and _grubtest.cfg_ files for -differences with the **-d** or **--diffcfg** option. This uses the diff command +differences with the `-d` or `--diffcfg` option. This uses the diff command by default, but if you want to use another program (e.g. vimdiff), you can -specify it with the **-D** or **--differ** option. Note that this mode is only +specify it with the `-D` or `--differ` option. Note that this mode is only intended to show differences in the files and does not support updating the configs themselves, so any changes you make in an interactive differ will be ignored. diff --git a/docs/grub/index.md b/docs/grub/index.md @@ -76,14 +76,14 @@ Go in grub directory: You must make sure that the files are named keymap and keymap.gkb (where 'keymap' can be whatever you want). -Then from the above example, you would put **frazerty** in -**resources/utilities/grub-assemble/keymap/original/** and the -**frazerty.gkb** file goes under -**resources/utilities/grub-assemble/keymap/** +Then from the above example, you would put `frazerty` in +`resources/utilities/grub-assemble/keymap/original/` and the +`frazerty.gkb` file goes under +`resources/utilities/grub-assemble/keymap/` 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**. +under bin. Example: `libreboot_frazerty.rom`. UK Dvorak keyboard layout in GRUB (for reference) ------------------------------------------------- diff --git a/docs/hardware/c201.md b/docs/hardware/c201.md @@ -7,13 +7,6 @@ This is a Chromebook, using the Rockchip RK3288 SoC. It uses an ARM CPU, and has free EC firmware (unlike some other laptops). More RK3288-based laptops will be added to libreboot at a later date. -Paul Kocialkowski, a [Replicant](http://www.replicant.us/) developer, -ported this laptop to libreboot. Thank you, Paul! - -**More info will be added later, including build/installation -instructions. The board is supported in libreboot, however, and has been -confirmed to work.** - Flashing instructions can be found at [../install/\#flashrom](../install/#flashrom) diff --git a/docs/hardware/gm45_remove_me.md b/docs/hardware/gm45_remove_me.md @@ -3,7 +3,7 @@ title: "GM45 chipsets: remove the ME (manageability engine)" ... This sections relates to disabling and removing the ME (Intel -**M**anagement **E**ngine) on GM45. This was originally done on the +*M*anagement *E*ngine) on GM45. This was originally done on the ThinkPad X200, and later adapted for the ThinkPad R400/T400/T500. It can in principle be done on any GM45 or GS45 system. @@ -54,7 +54,7 @@ mitigate the risk of bricking your laptop, but with the generic MAC address (the libreboot project does not know what your real MAC address is). -You can find out your MAC address from **ip addr** or **ifconfig** in +You can find out your MAC address from `ip addr` or `ifconfig` in GNU+Linux. Alternatively, if you are running libreboot already (with the correct MAC address in your ROM), dump it (flashrom -r) and read the first 6 bytes from position 0x1000 (or 0x2000) in a hex editor (or, @@ -78,11 +78,11 @@ you want) Two new files will be created: -- **ich9fdgbe\_4m.bin**: this is for GM45 laptops with the 4MB flash +- `ich9fdgbe_4m.bin`: this is for GM45 laptops with the 4MB flash chip. -- **ich9fdgbe\_8m.bin**: this is for GM45 laptops with the 8MB flash +- `ich9fdgbe_8m.bin`: this is for GM45 laptops with the 8MB flash chip. -- **ich9fdgbe\_16m.bin**: this is for GM45 laptops with the 16MB flash +- `ich9fdgbe_16m.bin`: this is for GM45 laptops with the 16MB flash chip. Assuming that your libreboot image is named **libreboot.rom**, copy the diff --git a/docs/hardware/index.md b/docs/hardware/index.md @@ -126,7 +126,7 @@ The X60 typically comes with an Intel wifi chipset which does not work at all without proprietary firmware, and while Lenovo BIOS is running the system will refuse to boot if you replace the card. Fortunately it is very easily replaced; just remove the card and install another one -**after** libreboot is installed. See +*after* libreboot is installed. See [\#recommended\_wifi](#recommended_wifi) for replacements. List of supported ThinkPad X60 Tablets @@ -141,11 +141,11 @@ To find what LCD panel you have, see: There are 5 known LCD panels for the X60 Tablet: -- **X60T XGA (1024x768):** +- *X60T XGA (1024x768):* - BOE-Hydis HV121X03-100 (works) - Samsung LTN121XP01 (does not work. blank screen) - BOE-Hydis HT12X21-351 (does not work. blank screen) -- **X60T SXGA+ (1400x1050):** +- *X60T SXGA+ (1400x1050):* - BOE-Hydis HV121P01-100 (works) - BOE-Hydis HV121P01-101 (works) @@ -155,15 +155,15 @@ does. You can remove an X61/X61s motherboard from the chassis and install an X60/X60s motherboard in its place (for flashing libreboot). The chassis -is mostly identical and the motherboards are the same shape/size. **It +is mostly identical and the motherboards are the same shape/size. *It is unknown if the same applies between the X60 Tablet and the X61 -Tablet**. +Tablet*. The X60 Tablet typically comes with an Intel wifi chipset which does not work at all without proprietary firmware, and while Lenovo BIOS is running the system will refuse to boot if you replace the card. Fortunately it is very easily replaced; just remove the card and install -another one **after** libreboot is installed. See +another one *after* libreboot is installed. See [\#recommended\_wifi](#recommended_wifi) for replacements. A user with a X60T that has digitizer+finger support, reported that they @@ -223,26 +223,26 @@ BIOS](https://en.wikipedia.org/wiki/Video_BIOS)' or 'VBIOS'). To find what LCD panel you have, see: [../misc/\#get\_edid\_panelname](../misc/#get_edid_panelname). -**Some T60s have ATI GPUs, and all T60P laptops have ATI GPUs These are +*Some T60s have ATI GPUs, and all T60P laptops have ATI GPUs These are incompatible! See [\#t60\_ati\_intel](#t60_ati_intel) for how to remedy -this.** +this.* -Tested LCD panels: **working(compatible)** +Tested LCD panels: (working) -- TMD-Toshiba LTD141EN9B (14.1" 1400x1050) (FRU P/N 41W1478 - recommended for the inverter board) -- Samsung LTN141P4-L02 (14.1" 1400x1050) (FRU P/N 41W1478 recommended - for the inverter board) -- LG-Philips LP150E05-A2K1 (15.1" 1400x1050) (P/N 42T0078 FRU 42T0079 - or P/N 41W1338 recommended for the inverter board) -- Samsung LTN150P4-L01 (15.1" 1400x1050) (P/N 42T0078 FRU 42T0079 or - P/N 41W1338 recommended for the inverter board) (not a T60 screen - afaik, but it works) -- BOE-Hydis HV150UX1-100 (15.1" 1600x1200) (P/N 42T0078 FRU 42T0079 - or P/N 41W1338 recommended for the inverter board) +- TMD-Toshiba LTD141EN9B (14.1" 1400x1050) (FRU P/N 41W1478 recommended for + the inverter board) +- Samsung LTN141P4-L02 (14.1" 1400x1050) (FRU P/N 41W1478 recommended for the + inverter board) +- LG-Philips LP150E05-A2K1 (15.1" 1400x1050) (P/N 42T0078 FRU 42T0079 or P/N + 41W1338 recommended for the inverter board) +- Samsung LTN150P4-L01 (15.1" 1400x1050) (P/N 42T0078 FRU 42T0079 or P/N + 41W1338 recommended for the inverter board) (not a T60 screen afaik, but it + works) +- BOE-Hydis HV150UX1-100 (15.1" 1600x1200) (P/N 42T0078 FRU 42T0079 or P/N + 41W1338 recommended for the inverter board) -Tested LCD panels: **not working yet (incompatible; see -[../future/\#lcd\_i945\_incompatibility](../future/#lcd_i945_incompatibility))** +Tested LCD panels: *not working yet (incompatible; see +[../future/\#lcd\_i945\_incompatibility](../future/#lcd_i945_incompatibility))* - Samsung LTN141XA-L01 (14.1" 1024x768) - LG-Philips LP150X09 (15.1" 1024x768) @@ -257,8 +257,8 @@ Tested LCD panels: **not working yet (incompatible; see GNU+Linux works) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board) -*The following LCD panels are **UNTESTED**. If you have one of these -panels then please submit a report!*: +*The following LCD panels are untested. If you have one of these panels then +please submit a report!*: - CMO(IDtech?) N141XC (14.1" 1024x768) - BOE-Hydis HT14X14 (14.1" 1024x768) @@ -275,10 +275,10 @@ panels then please submit a report!*: 41W1338 recommended for the inverter board) - Samsung LTN154P2-L05 (42X4641 42T0329) (15.4" 1680x1050) - LG-Philips LP154W02-TL10 (13N7020 42T0423) (15.4" 1680x1050) -- LG-Philips LP154WU1-TLB1 (42T0361) (15.4" 1920x1200) **(for T61p - but it might work in T60. Unknown!)** -- Samsung LTN154U2-L05 (42T0408 42T0574) (15.4" 1920x1200) **(for - T61p but it might work in T60. Unknown!)** +- LG-Philips LP154WU1-TLB1 (42T0361) (15.4" 1920x1200) *(for T61p + but it might work in T60. Unknown!)* +- Samsung LTN154U2-L05 (42T0408 42T0574) (15.4" 1920x1200) *(for + T61p but it might work in T60. Unknown!)* It is unknown whether the 1680x1050 (15.4") and 1920x1200 (15.4") panels use a different inverter board than the 1280x800 panels. @@ -287,7 +287,7 @@ The T60 typically comes with an Intel wifi chipset which does not work at all without proprietary firmware, and while Lenovo BIOS is running the system will refuse to boot if you replace the card. Fortunately it is very easily replaced; just remove the card and install another one -**after** libreboot is installed. See +*after* libreboot is installed. See [\#recommended\_wifi](#recommended_wifi) for replacements. ThinkPad T60 (ATI GPU) and ThinkPad T60 (Intel GPU) differences. @@ -305,7 +305,7 @@ your chassis. There is also a 15.4" T60 with Intel GPU. -Note: the T60**p** laptops all have ATI graphics. The T60p laptops +Note: the T60*p* laptops all have ATI graphics. The T60p laptops cannot be used with libreboot under any circumstances. The following T60 motherboard (see area highlighted in white) shows an @@ -354,8 +354,8 @@ It is believed that all models are compatible, listed here: Specifically (Order No. / Model No. / CPU): -- MA255LL/A / A1181 (EMC 2092) / Core Duo T2500 **(tested - working)** -- MA254LL/A / A1181 (EMC 2092) / Core Duo T2400 **(tested - working)** +- MA255LL/A / A1181 (EMC 2092) / Core Duo T2500 *(tested - working)* +- MA254LL/A / A1181 (EMC 2092) / Core Duo T2400 *(tested - working)* - MA472LL/A / A1181 (EMC 2092) / Core Duo T2500 (untested) Also of interest: @@ -418,16 +418,16 @@ It is believed that all models are compatible, listed here: Specifically (Order No. / Model No. / CPU): -- MA699LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T5600 **(tested - - working)** -- MA701LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 **(tested - - working)** +- MA699LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T5600 *(tested - + working)* +- MA701LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 *(tested - + working)* - MB061LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7200 (untested) -- MA700LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 **(tested - - working)** +- MA700LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 *(tested - + working)* - MB063LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 (works) -- MB062LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 **(tested - - working)** +- MB062LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 *(tested - + working)* Also of interest: [../git/\#config\_macbook21](../git/#config_macbook21). @@ -459,9 +459,9 @@ firmware. It is certainly hotter than an X60/T60. The heat issues have been partially fixed by the following patch (now merged in libreboot): <https://review.coreboot.org/#/c/7923/>. -**The MacBook2,1 comes with a webcam, which does not work without +*The MacBook2,1 comes with a webcam, which does not work without proprietary software. Also, webcams are a security risk; cover it up! Or -remove it.** +remove it.* A user reported that they could get better response from the touchpad with the following in their xorg.conf: diff --git a/docs/hardware/kcma-d8.md b/docs/hardware/kcma-d8.md @@ -2,13 +2,13 @@ title: ASUS KCMA-D8 desktop/workstation board ... -This is a desktop board using AMD hardware (Fam10h **and Fam15h** CPUs +This is a desktop board using AMD hardware (Fam10h *and Fam15h* CPUs available). It can also be used for building a high-powered workstation. Powered by libreboot. The coreboot port was done by Timothy Pearson of Raptor Engineering Inc. and, working with them, merged into libreboot. -**Memory initialization is still problematic, for some modules. We -recommend avoiding Kingston modules.** +*Memory initialization is still problematic, for some modules. We +recommend avoiding Kingston modules.* Flashing instructions can be found at [../install/\#flashrom](../install/#flashrom) - note that external @@ -20,8 +20,8 @@ without using external hardware. CPU compatibility ================= -**Use Opteron 4200 series (works without microcode updates, including hw -virt).** 4300 series needs microcode updates, so avoid those CPUs. 4100 +*Use Opteron 4200 series (works without microcode updates, including hw +virt).* 4300 series needs microcode updates, so avoid those CPUs. 4100 series is too old, and mostly untested. Board status (compatibility) {#boardstatus} @@ -58,9 +58,9 @@ boot that, loading it into memory. Libreboot has configs for 2, 4, 8 and 16 MiB flash chip sizes (default flash chip is 2MiB). -**DO NOT hot-swap the chip with your bare hands. Use a P-DIP 8 chip +*DO NOT hot-swap the chip with your bare hands. Use a P-DIP 8 chip extractor. These can be found online. See -<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>** +<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>* Native graphics initialization {#graphics} ============================== diff --git a/docs/hardware/kfsn4-dre.md b/docs/hardware/kfsn4-dre.md @@ -24,9 +24,9 @@ SST49LF080A is the default that the board uses. SST49LF016C is an example of a 2MiB (16Mbits) chip, which might work. It is believed that 2MiB (16Mbits) is the maximum size available for the flash chip. -**DO NOT hot-swap the chip with your bare hands. Use a PLCC chip +*DO NOT hot-swap the chip with your bare hands. Use a PLCC chip extractor. These can be found online. See -<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>** +<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>* Native graphics initialization {#graphics} ============================== diff --git a/docs/hardware/kgpe-d16.md b/docs/hardware/kgpe-d16.md @@ -2,14 +2,14 @@ title: ASUS KGPE-D16 server/workstation board ... -This is a server board using AMD hardware (Fam10h **and Fam15h** CPUs +This is a server board using AMD hardware (Fam10h *and Fam15h* CPUs available). It can also be used for building a high-powered workstation. Powered by libreboot. The coreboot port was done by Timothy Pearson of Raptor Engineering Inc. and, working with them (and sponsoring the work), merged into libreboot. -**Memory initialization is still problematic, for some modules. We -recommend avoiding Kingston modules.** +*Memory initialization is still problematic, for some modules. We +recommend avoiding Kingston modules.* Flashing instructions can be found at [../install/\#flashrom](../install/#flashrom) - note that external @@ -21,8 +21,8 @@ KGPE-D16, without using external hardware. CPU compatibility ================= -**Use Opteron 6200 series (works without microcode updates, including hw -virt).** 6300 series needs microcode updates, so avoid those CPUs. 6100 +*Use Opteron 6200 series (works without microcode updates, including hw +virt).* 6300 series needs microcode updates, so avoid those CPUs. 6100 series is too old, and mostly untested. Board status (compatibility) {#boardstatus} @@ -59,9 +59,9 @@ boot that, loading it into memory. Libreboot has configs for 2, 4, 8 and 16 MiB flash chip sizes (default flash chip is 2MiB). -**DO NOT hot-swap the chip with your bare hands. Use a P-DIP 8 chip +*DO NOT hot-swap the chip with your bare hands. Use a P-DIP 8 chip extractor. These can be found online. See -<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>** +<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>* Native graphics initialization {#graphics} ============================== @@ -101,15 +101,15 @@ The information here is adapted, from the ASUS website. - 2 CPU sockets (G34 compatible) - HyperTransport™ Technology 3.0 - CPUs supported: - - AMD Opteron 6100 series (Fam10h. No IOMMU support. **Not** + - AMD Opteron 6100 series (Fam10h. No IOMMU support. *Not* recommended - old. View errata datasheet here: <http://support.amd.com/TechDocs/41322_10h_Rev_Gd.pdf>) - AMD Opteron 6200 series (Fam15h, with full IOMMU support in - libreboot - **highly recommended - fast, and works well without - microcode updates, including virtualization**) + libreboot - *highly recommended - fast, and works well without + microcode updates, including virtualization*) - AMD Opteron 6300 series (Fam15h, with full IOMMU support in - libreboot. **AVOID LIKE THE PLAGUE - virtualization is broken - without microcode updates.** + libreboot. *AVOID LIKE THE PLAGUE - virtualization is broken + without microcode updates.* - NOTE: 6300 series CPUs have buggy microcode built-in, and libreboot recommends avoiding the updates. The 6200 series CPUs have more reliable microcode. Look at this errata datasheet: @@ -124,27 +124,27 @@ The information here is adapted, from the ASUS website. ### Memory compatibility (with libreboot) -- **Total Slots:** 16 (4-channel per CPU, 8 DIMM per CPU), ECC -- **Capacity:** Maximum up to 256GB RDIMM -- **Memory Type that is compatible:** +- *Total Slots:* 16 (4-channel per CPU, 8 DIMM per CPU), ECC +- *Capacity:* Maximum up to 256GB RDIMM +- *Memory Type that is compatible:* - DDR3 1600/1333/1066/800 UDIMM\* - DDR3 1600/1333/1066/800 RDIMM\* -- **Compatible sizes per memory module:** +- *Compatible sizes per memory module:* - 16GB, 8GB, 4GB, 3GB, 2GB, 1GB RDIMM - 8GB, 4GB, 2GB, 1GB UDIMM ### Expansion slots -- **Total slot:** 6 -- **Slot Location 1:** PCI 32bit/33MHz -- **Slot Location 2:** PCI-E x16 (Gen2 X8 Link) -- **Slot Location 3:** PCI-E x16 (Gen2 X16 Link), Auto switch to x8 +- *Total slot:* 6 +- *Slot Location 1:* PCI 32bit/33MHz +- *Slot Location 2:* PCI-E x16 (Gen2 X8 Link) +- *Slot Location 3:* PCI-E x16 (Gen2 X16 Link), Auto switch to x8 link if slot 2 is occupied -- **Slot Location 4:** PCI-E x8 (Gen2 X4 Link) -- **Slot Location 5:** PCI-E x16 (Gen2 X16 Link) -- **Slot Location 6:** PCI-E x16 (Gen2 X16 Link), Auto turn off if +- *Slot Location 4:* PCI-E x8 (Gen2 X4 Link) +- *Slot Location 5:* PCI-E x16 (Gen2 X16 Link) +- *Slot Location 6:* PCI-E x16 (Gen2 X16 Link), Auto turn off if slot 5 is occupied, For 1U FH/FL Card, MIO supported -- **Additional Slot 1:** PIKE slot (for SAS drives. See notes above) +- *Additional Slot 1:* PIKE slot (for SAS drives. See notes above) - Follow SSI Location\# ### Form factor {#form-factor} @@ -158,10 +158,10 @@ The information here is adapted, from the ASUS website. ### Storage -- **SATA controller:** +- *SATA controller:* - AMD SP5100 - 6 x SATA2 300MB/s -- **SAS/SATA Controller:** +- *SAS/SATA Controller:* - ASUS PIKE2008 3Gbps 8-port SAS card included ### Networking @@ -195,9 +195,9 @@ The information here is adapted, from the ASUS website. ### Environment -- **Operation temperature:** 10C \~ 35C -- **Non operation temperature:** -40C \~ 70C -- **Non operation humidity:** 20% \~ 90% ( Non condensing) +- *Operation temperature:* 10C \~ 35C +- *Non operation temperature:* -40C \~ 70C +- *Non operation humidity:* 20% \~ 90% ( Non condensing) ### Monitoring diff --git a/docs/hardware/r400.md b/docs/hardware/r400.md @@ -11,9 +11,9 @@ There are two possible flash chip sizes for the R400: 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. -**The R400 laptops come with the ME (and sometimes AMT in addition) +*The R400 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. Libreboot disables and removes it by using a -modified descriptor: see [gm45\_remove\_me.md](gm45_remove_me.md)** +modified descriptor: see [gm45\_remove\_me.md](gm45_remove_me.md)* (contains notes, plus instructions) Flashing instructions can be found at diff --git a/docs/hardware/t400.md b/docs/hardware/t400.md @@ -11,9 +11,9 @@ There are two possible flash chip sizes for the T400: 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. -**The T400 laptops come with the ME (and sometimes AMT in addition) +*The T400 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. Libreboot disables and removes it by using a -modified descriptor: see [gm45\_remove\_me.md](gm45_remove_me.md)** +modified descriptor: see [gm45\_remove\_me.md](gm45_remove_me.md)* (contains notes, plus instructions) Flashing instructions can be found at @@ -66,7 +66,7 @@ The coreboot wiki collect various logs useful in porting to new boards. Following are outputs from the T400: -- T400 with **Winbond W25X64** flash chip (8MiB, SOIC-16) and Lenovo +- T400 with *Winbond W25X64* flash chip (8MiB, SOIC-16) and Lenovo BIOS 2.02 (EC firmware 1.01): - [../future/dumps/logs-t400-bios2.02-ec1.01/](../future/dumps/logs-t400-bios2.02-ec1.01/) diff --git a/docs/hardware/t500.md b/docs/hardware/t500.md @@ -13,9 +13,9 @@ 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. -**The T500 laptops come with the ME (and sometimes AMT in addition) +*The T500 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. Libreboot disables and removes it by using a -modified descriptor: see [gm45\_remove\_me.md](gm45_remove_me.md)** +modified descriptor: see [gm45\_remove\_me.md](gm45_remove_me.md)* (contains notes, plus instructions) Flashing instructions can be found at @@ -91,7 +91,7 @@ The coreboot wiki collect various logs useful in porting to new boards. Following are outputs from the T500: -- T500 with **Macronix MX25L3205D** flash chip (4MiB, SOIC-8) and +- T500 with *Macronix MX25L3205D* flash chip (4MiB, SOIC-8) and Lenovo BIOS 3.13 7VET83WW (EC firmware 1.06): - [../future/dumps/t500log/](../future/dumps/t500log/) diff --git a/docs/hardware/x200.md b/docs/hardware/x200.md @@ -5,18 +5,17 @@ title: ThinkPad X200 It is believed that all X200 laptops are compatible. X200S and X200 Tablet will also work, [depending on the configuration](#x200s). -It \*might\* be possible to put an X200 motherboard in an X201 chassis, -though this is currently untested by the libreboot project. The same may -also apply between X200S and X201S; again, this is untested. **It's -most likely true.** +It may be possible to put an X200 motherboard in an X201 chassis, though this +is currently untested by the libreboot project. The same may also apply between +X200S and X201S; again, this is untested. *It's most likely true.* There are two possible flash chip sizes for the X200: 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. -**The X200 laptops come with the ME (and sometimes AMT in addition) +*The X200 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. Libreboot disables and removes it by using a -modified descriptor: see [gm45\_remove\_me.md](gm45_remove_me.md)** +modified descriptor: see [gm45\_remove\_me.md](gm45_remove_me.md)* (contains notes, plus instructions) Flashing instructions can be found at @@ -95,10 +94,10 @@ and work. This suspicion was confirmed with the following log: [text/x200s/cblog01.txt](text/x200s/cblog01.txt). The memory modules in -this case are 2x4GB. ~~**However, not all configurations work: +this case are 2x4GB. ~~*However, not all configurations work: [text/x200s/cblog02.txt](text/x200s/cblog02.txt) (2x2GB) and [text/x200s/cblog03.txt](text/x200s/cblog03.txt) (1x2GB) show a failed -bootup.**~~ *False alarm. The modules were mixed (non-matching). X200S +bootup.*~~ *False alarm. The modules were mixed (non-matching). X200S with high-performance mode CPU will work so long as you use matching memory modules (doesn't matter what size).* @@ -159,12 +158,12 @@ just simply remove the digitizer). - Samsung LTN121AP02-001 - common to find, cheap -**If your X200 has an LED backlit panel in it, then you also need to get +*If your X200 has an LED backlit panel in it, then you also need to get an inverter and harness cable that is compatible with the CCFL panels. To see which panel type you have, see [\#led\_howtotell](#led_howtotell). If you need the inverter/cable, here are part numbers: 44C9909 for CCFL LVDS cable with bluetooth and camera -connections, and 42W8009 or 42W8010 for the inverter.** +connections, and 42W8009 or 42W8010 for the inverter.* There are glossy and matte versions of these. Matte means anti-glare, which is what you want (in this authors opinion). @@ -178,29 +177,27 @@ Sources: X200](http://forum.thinkpads.com/viewtopic.php?f=2&t=84941) - [ThinkPad Forums - Parts for X200 AFFS Mod](http://forum.thinkpads.com/viewtopic.php?p=660662#p660662) -- [ThinkWiki.de - X200 - Displayumbau](http://thinkwiki.de/X200_Displayumbau) +- [ThinkWiki.de - X200 Displayumbau](http://thinkwiki.de/X200_Displayumbau) ### X200S -<http://forum.thinkpads.com/viewtopic.php?p=618928#p618928> explains -that the X200S screens/assemblies are thinner. You need to replace the -whole lid with one from a normal X200/X201. +<http://forum.thinkpads.com/viewtopic.php?p=618928#p618928> explains that the +X200S screens/assemblies are thinner. You need to replace the whole lid with +one from a normal X200/X201. How to tell if it has an LED or CCFL? {#led_howtotell} ------------------------------------- -Some X200s have a CCFL backlight and some have an LED backlight, in -their LCD panel. This also means that the inverters will vary, so you -must be careful if ever replacing either the panel and/or inverter. (a -CCFL inverter is high-voltage and will destroy an LED backlit panel). +Some X200s have a CCFL backlight and some have an LED backlight, in their LCD +panel. This also means that the inverters will vary, so you must be careful if +ever replacing either the panel and/or inverter. (a CCFL inverter is +high-voltage and will destroy an LED backlit panel). -CCFLs contain mercury. An X200 with a CCFL backlight will (****unless it -has been changed to an LED, with the correct inverter. Check with your -supplier!) the following: *"This product contains Lithium Ion Battery, -Lithium Battery and a lamp which contains mercury; dispose according to -local, state or federal laws"* (one with an LED backlit panel will say -something different). +CCFLs contain mercury. An X200 with a CCFL backlight will (unless it has been +changed to an LED, with the correct inverter. Check with your supplier!) say +the following: *"This product contains Lithium Ion Battery, Lithium Battery and +a lamp which contains mercury; dispose according to local, state or federal +laws"* (one with an LED backlit panel will say something different). Hardware register dumps {#regdumps} ----------------------- @@ -250,11 +247,12 @@ the two CPUIDs and steppings for Intel Core 2 Duo P8xxx CPUs with factory microcode. (1067 is the family and model, and 6 or A is the stepping ID.) -**TODO: check the CPUIDs and test S3 resume and/or KVM on any C2D +*TODO: check the CPUIDs and test S3 resume and/or KVM on any C2D systems (including non-P8xxx ones, which I don't have here) you have -available. I'd be curious if you could confirm these results.** It -might not be coreboot that's buggy with raminit/S3; it might just be -down to the microcode updates. +available. I'd be curious if you could confirm these results.* + +It might not be coreboot that's buggy with raminit/S3; it might just be down to +the microcode updates. Unsorted notes {#unsorted} -------------- diff --git a/docs/index.md b/docs/index.md @@ -56,7 +56,7 @@ in the flash chip and more. The libreboot project has three main goals: ------------------------------------------- -- ***Recommend and distribute only free software***. Coreboot +- *Recommend and distribute only free software*. Coreboot distributes certain pieces of proprietary software which is needed on some systems. Examples can include things like CPU microcode updates, memory initialization blobs and so on. The coreboot project @@ -64,12 +64,12 @@ The libreboot project has three main goals: such as the Video BIOS or Intel's *Management Engine*. However, a lot of dedicated and talented individuals in coreboot work hard to replace these blobs whenever possible. -- ***Support as much hardware as possible!*** Libreboot supports less +- *Support as much hardware as possible!* Libreboot supports less hardware than coreboot, because most systems from coreboot still require certain proprietary software to work properly. Libreboot is an attempt to support as much hardware as possible, without any proprietary software. -- ***Make coreboot easy to use***. Coreboot is notoriously difficult +- *Make coreboot easy to use*. Coreboot is notoriously difficult to install, due to an overall lack of user-focussed documentation and support. Most people will simply give up before attempting to install coreboot. @@ -128,23 +128,25 @@ How do I know what version I'm running? {#version} If you are at least 127 commits after release 20150518 (commit message *build/roms/helper: add version information to CBFS*) (or you have any -**upstream** stable release of libreboot after 20150518), then you can +*upstream* stable release of libreboot after 20150518), then you can press C at the GRUB console, and use this command to find out what -version of libreboot you have:\ -**cat (cbfsdisk)/lbversion**\ +version of libreboot you have: + + cat (cbfsdisk)/lbversion + This will also work on non-release images (the version string is -automatically generated, using *git describe --tags HEAD*), built from -the git repository. A file named *version* will also be included in the +automatically generated, using `git describe --tags HEAD`), built from +the git repository. A file named `version` will also be included in the archives that you downloaded (if you are using release archives). -If it exists, you can also extract this *lbversion* file by using the -*cbfstool* utility which libreboot includes, from a ROM image that you +If it exists, you can also extract this `lbversion` file by using the +`cbfstool` utility which libreboot includes, from a ROM image that you either dumped or haven't flashed yet. In your distribution, run -cbfstool on your ROM image (*libreboot.rom*, in this example): +cbfstool on your ROM image (`libreboot.rom`, in this example): $ ./cbfstool libreboot.rom extract -n lbversion -f lbversion -You will now have a file, named *lbversion*, which you can read in +You will now have a file, named `lbversion`, which you can read in whatever program it is that you use for reading/writing text files. For git, it's easy. Just check the git log. @@ -153,8 +155,10 @@ For releases on or below 20150518, or snapshots generated from the git repository below 127 commits after 20150518, you can find a file named *commitid* inside the archives. If you are using pre-built ROM images from the libreboot project, you can press C in GRUB for access to the -terminal, and then run this command:\ -**lscoreboot**\ +terminal, and then run this command: + + lscoreboot + You may find a date in here, detailing when that ROM image was built. For pre-built images distributed by the libreboot project, this is a rough approximation of what version you have, because the version diff --git a/docs/install/bbb_setup.md b/docs/install/bbb_setup.md @@ -8,15 +8,15 @@ flash chip with the BeagleBone Black, using the rev. C was used when creating this guide, but earlier revisions may also work. -**NOTE: this documentation may be outdated, and discusses configuring +*NOTE: this documentation may be outdated, and discusses configuring SPI flashing on the default Debian system that the BBB sometimes comes with. If you want an easier time, just use [BBB ScrewDriver](https://www.coreboot.org/BBB_screwdriver) which comes -pre-configured.** +pre-configured.* -**This guide is written for Debian Wheezy 7.5, which is what came on the +*This guide is written for Debian Wheezy 7.5, which is what came on the BBB at the time this guide was written. This one: -<https://debian.beagleboard.org/images/bone-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz>** +<https://debian.beagleboard.org/images/bone-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz>* There was no justification for a further section for the Teensy. Simply refer to [this page on @@ -36,7 +36,7 @@ Hardware requirements Shopping list (pictures of this hardware is shown later): - A [Flashrom](http://flashrom.org)-compatible external SPI - programmer: **BeagleBone Black**, sometimes referred to as 'BBB', + programmer: *BeagleBone Black*, sometimes referred to as 'BBB', (rev. C) is highly recommended. You can buy one from [Adafruit](https://www.adafruit.com) (USA), [ElectroKit](http://electrokit.com) (Sweden) or any of the @@ -52,30 +52,30 @@ Shopping list (pictures of this hardware is shown later): bottom half of a [hammond plastic enclosure](http://www.hammondmfg.com/1593HAM.htm#BeagleBoneBlack). - Clip for connecting to the flash chip: if you have a SOIC-16 flash - chip (16 pins), you will need the **Pomona 5252** or equivalent. For - SOIC-8 flash chips (8 pins), you will need the **Pomona 5250** or + chip (16 pins), you will need the *Pomona 5252* or equivalent. For + SOIC-8 flash chips (8 pins), you will need the *Pomona 5250* or equivalent. Do check which chip you have, before ordering a clip. Also, you might as well buy two clips or more since they break easily. [Farnell element 14](http://farnell.com/) sells these and ships to many countries. Some people find these clips difficult to get hold of, especially in South America. If you know of any good suppliers, please contact the libreboot project with the relevant - information. **If you can't get hold of a pomona clip, some other + information. *If you can't get hold of a pomona clip, some other clips might work, e.g. 3M, but they are not always reliable. You can also directly solder the wires to the chip, if that suits you; the - clip is just for convenience, really.** -- **External 3.3V DC power supply**, for powering the flash chip: an + clip is just for convenience, really.* +- *External 3.3V DC power supply*, for powering the flash chip: an ATX power supply / PSU (common on Intel/AMD desktop computers) will work for this. A lab PSU (DC) will also work (adjusted to 3.3V). - Getting a multimeter might be worthwhile, to verify that it's supplying 3.3V. -- **External 5V DC power supply** (barrel connector), for powering the +- *External 5V DC power supply* (barrel connector), for powering the BBB: the latter can have power supplied via USB, but a dedicated power supply is recommended. These should be easy to find in most - places that sell electronics. **OPTIONAL. Only needed if not + places that sell electronics. OPTIONAL. Only needed if not powering with the USB cable, or if you want to use [EHCI - debug](../misc/bbb_ehci.md)**. -- **Pin header / jumper cables** (2.54mm / 0.1" headers): you should + debug](../misc/bbb_ehci.md). +- *Pin header / jumper cables* (2.54mm / 0.1" headers): you should get male--male, male--female and female--female cables in 10cm size. Just get a load of them. Other possible names for these cables/wires/leads are as follows: @@ -84,20 +84,20 @@ Shopping list (pictures of this hardware is shown later): - You might also be able to make these cables yourself. [Adafruit](https://www.adafruit.com) sell them, as do many others. - **Some people find them difficult to buy. Please contact the - libreboot project if you know of any good sellers.** You might also + *Some people find them difficult to buy. Please contact the + libreboot project if you know of any good sellers.* You might also be able to make these cables yourself. For PSU connections, using long cables, e.g. 20cm, is fine, and you can extend them longer than that if needed. -- **Mini USB A-B cable** (the BeagleBone probably already comes with - one.) - **OPTIONAL - only needed for [EHCI +- *Mini USB A-B cable* (the BeagleBone probably already comes with + one.) - *OPTIONAL - only needed for [EHCI debug](../misc/bbb_ehci.md) or for serial/ssh access without - ethernet cable (g\_multi kernel module)** -- **FTDI TTL cable or debug board**: used for accessing the serial + ethernet cable (g\_multi kernel module)* +- *FTDI TTL cable or debug board*: used for accessing the serial console on the BBB. [This page](http://elinux.org/Beagleboard:BeagleBone_Black_Serial) - contains a list. **OPTIONAL\---only needed for serial console on - the BBB, if not using SSH via ethernet cable.** + contains a list. *OPTIONAL\---only needed for serial console on + the BBB, if not using SSH via ethernet cable.* Setting up the 3.3V DC PSU ========================== @@ -112,13 +112,13 @@ Short PS\_ON\# / Power on (green wire; pin 16 on 24-pin ATX PSU, or pin it) using a wire/paperclip/jumper, then power on the PSU by grounding PS\_ON\# (this is also how an ATX motherboard turns on a PSU). -**DO \*\*NOT\*\* use pin 4, 6, do \*\*NOT\*\* use pin 19 or 20 (on a -20-pin ATX PSU), and DO \*\*NOT\*\* use pin 21, 22 or 23 (on a 24-pin -ATX PSU). Those wires (the red ones) are 5V, and they \*\*WILL\*\* kill -your flash chip. \*\*\*NEVER\*\*\* supply more than 3.3V to your flash +*DO NOT use pin 4, 6, do NOT use pin 19 or 20 (on a +20-pin ATX PSU), and DO NOT use pin 21, 22 or 23 (on a 24-pin +ATX PSU). Those wires (the red ones) are 5V, and they WILL kill +your flash chip. NEVER supply more than 3.3V to your flash chip (that is, if it's a 3.3V flash chip; 5V and 1.8V SPI flash chips do exist, but they are rare. Always check what voltage your chip takes. -Most of them take 3.3V).** +Most of them take 3.3V).* You only need one 3.3V supply and one ground for the flash chip, after grounding PS\_ON\#. @@ -199,11 +199,11 @@ contents of this file with: /usr/bin/led_acc & fi -Run **apt-get update** and **apt-get upgrade** then reboot the BBB, +Run `apt-get update` and `apt-get upgrade` then reboot the BBB, before continuing. Check that the firmware exists: - # ls /lib/firmware/BB-SPI0-01-00A0.\* + # ls /lib/firmware/BB-SPI0-01-00A0. Output: @@ -211,8 +211,8 @@ Output: 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: @@ -226,7 +226,7 @@ Output: Verify that the spidev device now exists: - # ls -al /dev/spid\* + # ls -al /dev/spid Output: @@ -234,8 +234,8 @@ Output: Now the BBB is ready to be used for flashing. Make this persist across reboots:\ -In /etc/default/capemgr add **CAPE=BB-SPI0-01** at the end (or change -the existing **CAPE=** entry to say that, if an entry already exists. +In /etc/default/capemgr add `CAPE=BB-SPI0-01` at the end (or change +the existing `CAPE=` entry to say that, if an entry already exists. Get flashrom from the libreboot\_util release archive, or build it from libreboot\_src/git if you need to. An ARM binary (statically compiled) @@ -317,18 +317,18 @@ for SOIC-8 (clip: Pomona 5250): WP 3-6 SCK GND 4-5 MOSI -**NC = no connection** +`NC = no connection` -**DO NOT connect 3.3V (PSU) yet. ONLY connect this once the pomona is -connected to the flash chip.** +*DO NOT connect 3.3V (PSU) yet. ONLY connect this once the pomona is +connected to the flash chip.* -**You also need to connect the BLACK wire (ground/earth) from the 3.3V +*You also need to connect the BLACK wire (ground/earth) from the 3.3V PSU to pin 2 on the BBB (P9 header). It is safe to install this now (that is, before you connect the pomona to the flash chip); in fact, you -should.** +should.* if you need to extend the 3.3v psu leads, just use the same colour M-F -leads, **but** keep all other leads short (10cm or less) +leads, *but* keep all other leads short (10cm or less) You should now have something that looks like this:\ ![](images/x200/5252_bbb0.jpg) ![](images/x200/5252_bbb1.jpg) diff --git a/docs/install/c201.md b/docs/install/c201.md @@ -8,19 +8,19 @@ C201. Since the device ships with Coreboot, the installation instructions are the same before and after flashing Libreboot for the first time. -**If you are using libreboot\_src or git, then make sure that you built -the sources first (see [../git/\#build](../git/#build)).** +*If you are using libreboot\_src or git, then make sure that you built +the sources first (see [../git/\#build](../git/#build)).* Look at the [list of ROM images](#rom) to see which image is compatible with your device. Libreboot can be installed internally from the device, with sufficient -privileges. The installation process requires using **Google's modified -version of flashrom**, that has support for reflashing the Chromebook's +privileges. The installation process requires using *Google's modified +version of flashrom*, that has support for reflashing the Chromebook's SPI flash. Otherwise, flashing externally will work with the upstream flashrom version. -**Google's modified version of flashrom** is free software and its +*Google's modified version of flashrom* is free software and its source code is made available by Google: [flashrom](https://chromium.googlesource.com/chromiumos/third_party/flashrom/).\ It is not distributed along with Libreboot yet. However, it is @@ -46,18 +46,18 @@ dedicated to [depthcharge](../depthcharge/). Once developer mode is enabled, the device will boot to the [developer mode screen](../depthcharge/#developer_mode_screen). ChromeOS can be booted by waiting for 30 seconds (the delay is shortened in Libreboot) -or by pressing **Ctrl + D** +or by pressing *Ctrl + D* After the system has booted, root access can be enabled by clicking on -the **Enable debugging features** link. A confirmation dialog will ask +the *Enable debugging features* link. A confirmation dialog will ask whether to proceed.\ -After confirming by clicking **Proceed**, the device will reboot and ask +After confirming by clicking *Proceed*, the device will reboot and ask for the root password to set. Finally, the operation has to be confirmed -by clicking **Enable**. +by clicking *Enable*. After setting the root password, it becomes possible to log-in as root. -A tty prompt can be obtained by pressing **Ctrl + Alt + Next**. The -**Next** key is the one on the top left of the keyboard. +A tty prompt can be obtained by pressing *Ctrl + Alt + Next*. The +*Next* key is the one on the top left of the keyboard. Preparing the device for the installation Before installing Libreboot on the device, both its software and @@ -88,8 +88,8 @@ writing Libreboot to the *read-only* part of the flash. To access the screw, the device has to be opened. There are 8 screws to remove from the bottom of the device, as shown on the picture below. Two are hidden under the top pads. After removing the screws, the keyboard -plastic part can be carefully detached from the rest. **Beware: there -are cables attached to it!** It is advised to flip the keyboard plastic +plastic part can be carefully detached from the rest. *Beware: there +are cables attached to it!* It is advised to flip the keyboard plastic part over, as shown on the picture below. The write protect screw is located next to the SPI flash chip, circled in red in the picture below. It has to be removed. @@ -114,23 +114,23 @@ Installing Libreboot internally, from the device Before installing Libreboot to the SPI flash internally, the device has to be reassembled. -All the files from the **veyron\_speedy** release (or build) have to be +All the files from the `veyron_speedy` release (or build) have to be transferred to the device. The following operations have to be executed with root privileges on the -device (e.g. using the *root* account). In addition, the -**cros-flash-replace** script has to be made executable: +device (e.g. using the `root` account). In addition, the +`cros-flash-replace` script has to be made executable: # chmod a+x cros-flash-replace The SPI flash has to be read first: - # flashrom -p host -r flash.img\ + # 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.** +*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: +Then, the `cros-flash-replace` script has to be executed as such: # ./cros-flash-replace flash.img coreboot ro-frid @@ -141,8 +141,9 @@ The resulting flash image can then be flashed back: # flashrom -p host -w flash.img -You should also see within the output the following:\ -**"Verifying flash... VERIFIED."** +You should also see within the output the following: + + Verifying flash... VERIFIED. Shut down. The device will now boot to Libreboot. @@ -154,7 +155,7 @@ to be opened. The SPI flash is located next to the write protect screw. Its layout is indicated in the picture below. Note that it is not necessary to connect -**WP\#** since removing the screw already connects it to ground. Before +`WP#` since removing the screw already connects it to ground. Before writing to the chip externally, the battery connector has to be detached. It is located under the heat spreader, that has to be unscrewed from the rest of the case. The battery connector is located on @@ -165,12 +166,12 @@ layout](images/c201/spi-flash-layout.jpg)](images/c201/spi-flash-layout.jpg) [![Battery connector](images/c201/battery-connector.jpg)](images/c201/battery-connector.jpg) -All the files from the **veyron\_speedy** release (or build) have to be +All the files from the `veyron_speedy` release (or build) have to be transferred to the host. The following operations have to be executed with root privileges on the -host (e.g. using the *root* account). In addition, the -**cros-flash-replace** script has to be made executable: +host (e.g. using the `root` account). In addition, the +`cros-flash-replace` script has to be made executable: # chmod a+x cros-flash-replace @@ -178,10 +179,10 @@ 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.** +*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: +Then, the `cros-flash-replace` script has to be executed as such: # ./cros-flash-replace flash.img coreboot ro-frid @@ -193,8 +194,9 @@ programmer): # flashrom -p *programmer* -w flash.img -You should also see within the output the following:\ -**"Verifying flash... VERIFIED."** +You should also see within the output the following: + + Verifying flash... VERIFIED. The device will now boot to Libreboot. diff --git a/docs/install/ga-g41m-es2l.md b/docs/install/ga-g41m-es2l.md @@ -16,11 +16,11 @@ Flashing instructions {#clip} ===================== Refer to [bbb\_setup.md](bbb_setup.md) for how to set up the BBB for -external flashing. **You can only externally reprogram one of the chips +external flashing. *You can only externally reprogram one of the chips at a time, and you need to disable the chip that you're not flashing, by connecting 3v3 to /CS of that chip, so you will actually need 2 test clips (you also need to connect GND on the chip that you're -disabling).** +disabling).* Here is an image of the flash chip:\ ![](../images/ga-g41m-es2l/ga-g41m-es2l.jpg) @@ -28,11 +28,13 @@ Here is an image of the flash chip:\ Internal flashing is possible. Boot with the proprietary BIOS and GNU+Linux. There are 2 flash chips (one is backup). -Flash the first chip:\ -**./flashrom -p internal:dualbiosindex=0 -w libreboot.rom** +Flash the first chip: -Flash the second chip:\ -**./flashrom -p internal:dualbiosindex=1 -w libreboot.rom** + ./flashrom -p internal:dualbiosindex=0 -w libreboot.rom + +Flash the second chip: + + ./flashrom -p internal:dualbiosindex=1 -w libreboot.rom NOTE: you can still boot the system with just the main flash chip connected, after desoldering the backup chip. This has been tested while diff --git 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 +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.** +has `CONFIG_STRICT_DEVMEM` not enabled. Which systems are Libreboot compatible with? -------------------------------------------- @@ -102,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. @@ -143,9 +143,9 @@ now have a backup of the old image). Keeping at least one spare LPC PLCC chip with working firmware on it is highly recommended, in case of bricks. -**DO NOT hot-swap the chip with your bare hands. Use a PLCC chip +*DO NOT hot-swap the chip with your bare hands. Use a PLCC chip extractor. These can be found online. See -<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>** +<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>* Do check the HCL entry: [../hardware/kfsn4-dre.md](../hardware/kfsn4-dre.md) @@ -159,9 +159,9 @@ If you already have coreboot or libreboot installed, without write protection on the flash chip, then you can do it in software (otherwise, see link above). -**DO NOT hot-swap the chip with your bare hands. Use a PDIP-8 chip +*DO NOT hot-swap the chip with your bare hands. Use a PDIP-8 chip extractor. These can be found online. See -<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>** +<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>* Do check the HCL entry: [../hardware/kgpe-d16.md](../hardware/kgpe-d16.md) @@ -175,9 +175,9 @@ If you already have coreboot or libreboot installed, without write protection on the flash chip, then you can do it in software (otherwise, see link above). -**DO NOT hot-swap the chip with your bare hands. Use a PDIP-8 chip +*DO NOT hot-swap the chip with your bare hands. Use a PDIP-8 chip extractor. These can be found online. See -<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>** +<http://www.coreboot.org/Developer_Manual/Tools#Chip_removal_tools>* Do check the HCL entry: [../hardware/kcma-d8.md](../hardware/kcma-d8.md) @@ -209,13 +209,13 @@ write-protected SPI flash requires external re-flashing, as is also the case when running the proprietary firmware). If you did not write-protect the flash chip, or it came to you without -any write-protection (***libreboot does not write-protect the flash chip -by default, so this probably applies to you***), read on! +any write-protection (*libreboot does not write-protect the flash chip +by default, so this probably applies to you*), read on! MAC address on GM45 (X200/R400/T400/T500/W500) ----------------------------------------- -**Users of the X200/R400/T400/T500/W500 take note:** The MAC address for the +*Users of the X200/R400/T400/T500/W500 take note:* The MAC address for the onboard ethernet chipset is located inside the flash chip. Libreboot ROM images for these laptops contain a generic MAC address by default, but this is not what you want. *Make sure to change the MAC address inside @@ -235,9 +235,9 @@ Apple iMac 5,2? Internal flashing works, even when flashing from Apple EFI to libreboot. Continue reading the instructions below. -**NOTE: If you're flashing an older version of Libreboot, the iMac5,2 +*NOTE: If you're flashing an older version of Libreboot, the iMac5,2 motherboard is compatible with the MacBook2,1. Simply flash a MacBook2,1 -ROM image, and it should work.** +ROM image, and it should work.* Flash chip size --------------- @@ -272,53 +272,61 @@ correct ROM image, then run this alternative command: $ sudo ./flash forceupdate [yourrom.rom](#rom) -You should see **"Verifying flash... VERIFIED."** written at the end -of the flashrom output. **Shut down** after you see this, and then boot +You should see `Verifying flash... VERIFIED.` written at the end +of the flashrom output. *Shut down* after you see this, and then boot up again after a few seconds. ThinkPad X60/T60: Initial installation guide (if running the proprietary firmware) {#flashrom_lenovobios} ================================================================================== -**This is for the ThinkPad X60 and T60 while running Lenovo BIOS. If you +*This is for the ThinkPad X60 and T60 while running Lenovo BIOS. If you already have coreboot or libreboot running, then go to -[\#flashrom](#flashrom) instead!** +[\#flashrom](#flashrom) instead!* -**If you are flashing a Lenovo ThinkPad T60, be sure to read -[../hardware/\#supported\_t60\_list](../hardware/#supported_t60_list)** +*If you are flashing a Lenovo ThinkPad T60, be sure to read +[../hardware/\#supported\_t60\_list](../hardware/#supported_t60_list)* -**If you are using libreboot\_src or git, then make sure that you built -the sources first (see [../git/\#build](../git/#build)).** +*If you are using libreboot\_src or git, then make sure that you built +the sources first (see [../git/\#build](../git/#build)).* -**Warning: this guide will not instruct the user how to backup the +*Warning: this guide will not instruct the user how to backup the original Lenovo BIOS firmware. These backups are tied to each system, and will not work on any other. For that, please refer to -<http://www.coreboot.org/Board:lenovo/x60/Installation>.** +<http://www.coreboot.org/Board:lenovo/x60/Installation>.* -**If you're using libreboot 20150518, note that there is a mistake in -the flashing script. do this: *rm -f patch && wget -O flash -https://notabug.org/libreboot/libreboot/raw/9d850543ad90b72e0e333c98075530b31e5d23f1/flash -&& chmod +x flash*** +*If you're using libreboot 20150518, note that there is a mistake in +the flashing script. do this: * + + rm -f patch + wget -O flash https://notabug.org/libreboot/libreboot/raw/9d850543ad90b72e0e333c98075530b31e5d23f1/flash + chmod +x flash The first half of the procedure is as follows: $ sudo ./flash i945lenovo\_firstflash [yourrom.rom](#rom). -You should see within the output the following:\ -**"Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 -are swapped"**. +You should see within the output the following: + + Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are + swapped + +You should also see within the output the following: + + Your flash chip is in an unknown state + ... + FAILED + ... + DO NOT REBOOT OR POWEROFF -You should also see within the output the following:\ -**"Your flash chip is in an unknown state"**, **"FAILED"** and -**"DO NOT REBOOT OR POWEROFF"**\ -Seeing this means that the operation was a **resounding** success! -**DON'T PANIC**. +Seeing this means that the operation was a *resounding* success! +*DON'T PANIC*. See this link for more details: <http://thread.gmane.org/gmane.linux.bios.flashrom/575>. -If the above is what you see, then **SHUT DOWN**. Wait a few seconds, +If the above is what you see, then *SHUT DOWN*. Wait a few seconds, and then boot; libreboot is running, but there is a 2nd procedure -**\*needed\*** (see below). +needed (see below). When you have booted up again, you must also do this: @@ -330,32 +338,34 @@ If flashing fails at this stage, try the following: 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 see within the output the following: -You should also see within the output the following:\ -**"Verifying flash... VERIFIED."** + Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is + untranslated + +You should also see within the output the following: + + Verifying flash... VERIFIED. MacBook2,1: Initial installation guide (if running the proprietary firmware) {#flashrom_macbook21} ============================================================================ -**If you have a MacBook1,1, refer to -[../hardware/\#macbook11](../hardware/#macbook11) for flashing instructions.** +*If you have a MacBook1,1, refer to +[../hardware/\#macbook11](../hardware/#macbook11) for flashing instructions.* -**This is for the MacBook2,1 while running Apple EFI firmware. If you +*This is for the MacBook2,1 while running Apple EFI firmware. If you already have coreboot or libreboot running, then go to -[\#flashrom](#flashrom) instead!** +[\#flashrom](#flashrom) instead!* Be sure to read the information in [../hardware/\#macbook21](../hardware/#macbook21). -**Warning: this guide will not instruct the user how to backup the +*Warning: this guide will not instruct the user how to backup the original Apple EFI firmware. For that, please refer to -<http://www.coreboot.org/Board:apple/macbook21>.** +<http://www.coreboot.org/Board:apple/macbook21>.* -**If you are using libreboot\_src or git, then make sure that you built -the sources first (see [../git/\#build](../git/#build)).** +*If you are using libreboot\_src or git, then make sure that you built +the sources first (see [../git/\#build](../git/#build)).* Look at the [list of ROM images](#rom) to see which image is compatible with your device. @@ -364,8 +374,9 @@ Use this flashing script, to install libreboot: $ sudo ./flash i945apple\_firstflash [yourrom.rom](#rom) -You should also see within the output the following:\ -**"Verifying flash... VERIFIED."** +You should also see within the output the following: + + Verifying flash... VERIFIED. Shut down. diff --git a/docs/install/kcma-d8.md b/docs/install/kcma-d8.md @@ -10,8 +10,8 @@ motherboard, while they still have the proprietary ASUS BIOS present. This guide can also be followed (adapted) if you brick you board, to know how to recover. -**Memory initialization is still problematic, for some modules. We -recommend avoiding Kingston modules.** +*Memory initialization is still problematic, for some modules. We +recommend avoiding Kingston modules.* For more general information about this board, refer to [../hardware/kcma-d8.md](../hardware/kcma-d8.md). @@ -26,7 +26,7 @@ an external SPI programmer. The flash chip is in a PDIP 8 socket (SPI flash chip) on the motherboard, which you take out and then re-flash with libreboot, using -the programmer. **DO NOT** remove the chip with your hands. Use a chip +the programmer. *DO NOT* remove the chip with your hands. Use a chip extractor tool. Copyright © 2016 Leah Rowe <info@minifree.org>\ diff --git a/docs/install/kgpe-d16.md b/docs/install/kgpe-d16.md @@ -10,8 +10,8 @@ motherboard, while they still have the proprietary ASUS BIOS present. This guide can also be followed (adapted) if you brick you board, to know how to recover. -**Memory initialization is still problematic, for some modules. We -recommend avoiding Kingston modules.** +*Memory initialization is still problematic, for some modules. We +recommend avoiding Kingston modules.* For more general information about this board, refer to [../hardware/kgpe-d16.md](../hardware/kgpe-d16.md). @@ -26,7 +26,7 @@ an external SPI programmer. The flash chip is in a PDIP 8 socket (SPI flash chip) on the motherboard, which you take out and then re-flash with libreboot, using -the programmer. **DO NOT** remove the chip with your hands. Use a chip +the programmer. *DO NOT* remove the chip with your hands. Use a chip extractor tool. Copyright © 2015 Leah Rowe <info@minifree.org>\ diff --git a/docs/install/r400_external.md b/docs/install/r400_external.md @@ -32,8 +32,8 @@ A note about CPUs [ThinkWiki](http://www.thinkwiki.org/wiki/Category:R400) has a list of CPUs for this system. The Core 2 Duo P8400 and P8600 are believed to work in libreboot. The Core 2 Duo T9600 was confirmed to work, so the -T9400 probably also works. **The Core 2 Duo T5870/5670 and Celeron M -575/585 are untested!** +T9400 probably also works. *The Core 2 Duo T5870/5670 and Celeron M +575/585 are untested!* Quad-core CPUs -------------- @@ -244,12 +244,13 @@ factory1.rom factory2.rom -Note: the **-c** option is not required in libreboot's patched +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 @@ -261,8 +262,8 @@ 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: @@ -272,10 +273,10 @@ 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): diff --git a/docs/install/rpi_setup.md b/docs/install/rpi_setup.md @@ -22,8 +22,7 @@ Raspberry Pi (ThinkPad X60/T60 and Macbook 2,1) The Raspberry Pi (a multipurpose \$25 GNU+Linux computer) can be used as a BIOS flashing tool, thanks to its GPIO pins and SPI support. -> **Note:** The Raspberry Pi Model A is not supported, since it has no -> GPIO pins. +Note: The Raspberry Pi Model A is not supported, since it has no GPIO pins. ### Disassembling the ThinkPad @@ -83,7 +82,7 @@ adapter (without turning the laptop on), and using the 8th 3.3v pin. I have found that the SST chips work best with the 8th pin, while the Macronix chips require an AC Adapter to power up. -**Never connect both the 8th pin and the AC adapter at the same time.** +*Never connect both the 8th pin and the AC adapter at the same time.* Your results may vary. @@ -127,8 +126,8 @@ flash Libreboot now. Flashing Libreboot ------------------- -> **Note:** replace `/path/to/libreboot.rom` with the location of your -> chosen ROM, such as `../bin/x60/libreboot_usqwerty.rom`): +Note: replace `/path/to/libreboot.rom` with the location of your chosen ROM, +such as `../bin/x60/libreboot_usqwerty.rom`): If your chip is an SST, run this command: @@ -152,7 +151,7 @@ successfully. If not, just flash again. - [Flashing coreboot on a T60 with a Raspberry Pi - the\_unconventional's blog](https://blogs.fsfe.org/the_unconventional/2015/05/08/flashing-coreboot-on-a-t60-with-a-raspberry-pi/) -- **Pomona SOIC Clip flashing** +- *Pomona SOIC Clip flashing* - [Arch Linux Wiki - Installing Arch Linux on Chromebook](https://wiki.archlinux.org/index.php/Chromebook) - [Google Drive - Raspberry Pi SOIC Clip @@ -193,9 +192,9 @@ Follow the [ThinkPad X200: Initial installation guide](x200_external.md) to disassemble the laptop, and access the BIOS rom chip. -> **Note:** `x86#` refers to commands to be run on the x86 computer, and -> `pi#` refers to commands to be run on the pi. A good practice is to -> make a work directory to keep your libreboot stuff inside. +Note: `x86#` refers to commands to be run on the x86 computer, and `pi#` refers +to commands to be run on the pi. A good practice is to make a work directory to +keep your libreboot stuff inside. x86# mkdir ~/work @@ -268,10 +267,10 @@ text. 15 S1/SIO0 19 16 SCLK 23 -> **Note:** The raspberry pi 3.3V rail should be sufficient to power the -> chip during flashing, so no external power supply should be required; -> however, at the time of writing that has only been tested and -> confirmed for one chip, the MX25L6405D. +Note: The raspberry pi 3.3V rail should be sufficient to power the chip during +flashing, so no external power supply should be required; however, at the time +of writing that has only been tested and confirmed for one chip, the +MX25L6405D. Macronix Spec sheet so you can adjust your pinout for 8 pin 4Mb chips as necessary @@ -374,7 +373,7 @@ box.](http://www.flashrom.org/RaspberryPi) ### Sources -- **Pomona SOIC Clip flashing** +- *Pomona SOIC Clip flashing* - [Arch Linux Wiki - Installing Arch Linux on Chromebook](https://wiki.archlinux.org/index.php/Chromebook) - [Google Drive - Raspberry Pi SOIC Clip @@ -383,7 +382,7 @@ box.](http://www.flashrom.org/RaspberryPi) Powerpoint](http://satxhackers.org/wp/hack-content/uploads/2013/04/rPI_flashrom.pdf) - [Tnhh - Unbricking Chromebook with Beaglebone](http://www.tnhh.net/2014/08/25/unbricking-chromebook-with-beaglebone.md) -- **Use a DIY DIP System to flash an desoldered BIOS chip** +- *Use a DIY DIP System to flash an desoldered BIOS chip* - [Viktak - How to recover laptop after failed BIOS flash](http://diy.viktak.com/2014/07/how-to-recover-laptop-after-failed-bios.md) - [Win-Raid - Recover from Failed BIOS Flashing using Raspberry diff --git a/docs/install/t400_external.md b/docs/install/t400_external.md @@ -242,12 +242,12 @@ factory1.rom 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.\ +Note: the `-c` option is not required in libreboot's patched flashrom, because +the redundant flash chip definitions in `flashchips.c` have been removed. + Now compare the 3 images: - # sha512sum factory\*.rom + # sha512sum factory*.rom If the hashes match, then just copy one of them (the factory.rom) to a safe place (on a drive connected to another system, not the BBB). This @@ -259,8 +259,8 @@ 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: @@ -270,10 +270,10 @@ 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): diff --git a/docs/install/t500_external.md b/docs/install/t500_external.md @@ -259,7 +259,7 @@ factory1.rom factory2.rom -Note: the **-c** option is not required in libreboot's patched +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: @@ -276,8 +276,8 @@ 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: @@ -287,10 +287,10 @@ 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): diff --git a/docs/install/t60_unbrick.md b/docs/install/t60_unbrick.md @@ -109,20 +109,24 @@ Remove these screws, placing them on a steady surface in the same layout as they were in before you removed them. Also, you should mark each screw hole after removing the screw (a permanent marker pen will do), this is so that you have a point of reference when re-assembling the -system:\ +system: + ![](../images/t60_dev/0027.JPG) ![](../images/t60_dev/0028.JPG) ![](../images/t60_dev/0029.JPG) ![](../images/t60_dev/0031.JPG) ![](../images/t60_dev/0032.JPG) ![](../images/t60_dev/0033.JPG) Now wire up the BBB and the Pomona with your PSU.\ Refer to [bbb\_setup.md](bbb_setup.md) for how to setup the BBB for -flashing.\ -**Note, the guide mentions a 3.3v DC PSU but you don't need this on the +flashing. + +*Note, the guide mentions a 3.3v DC PSU but you don't need this on the T60: if you don't have or don't want to use an external PSU, then make sure not to connect the 3.3v leads mentioned in the guide; instead, connect the AC adapter (the one that normally charges your battery) so -that the board has power (but don't boot it up)**\ -![](../images/t60_dev/0030.JPG)\ +that the board has power (but don't boot it up)* + +![](../images/t60_dev/0030.JPG) + Correlate the following with the BBB guide linked above: POMONA 5250: @@ -147,7 +151,7 @@ SSH'd into the BBB: yourrom.rom -It should be **Verifying flash... VERIFIED** at the end. If flashrom +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. diff --git a/docs/install/x60_unbrick.md b/docs/install/x60_unbrick.md @@ -101,11 +101,11 @@ flash chip:\ Now wire up the BBB and the Pomona with your PSU.\ Refer to [bbb\_setup.md](bbb_setup.md) for how to setup the BBB for flashing.\ -**Note, the guide mentions a 3.3v DC PSU but you don't need this on the +*Note, the guide mentions a 3.3v DC PSU but you don't need this on the X60: if you don't have or don't want to use an external PSU, then make sure not to connect the 3.3v leads mentioned in the guide; instead, connect the AC adapter (the one that normally charges your battery) so -that the board has power (but don't boot it up)** +that the board has power (but don't boot it up)* ![](../images/x60_unbrick/0017.jpg)\ Correlate the following with the BBB guide linked above: @@ -132,7 +132,7 @@ SSH'd into the BBB: yourrom.rom -It should be **Verifying flash... VERIFIED** at the end. If flashrom +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. diff --git a/docs/install/x60tablet_unbrick.md b/docs/install/x60tablet_unbrick.md @@ -80,11 +80,11 @@ Remove that screw and then remove the board:\ Now wire up the BBB and the Pomona with your PSU.\ Refer to [bbb\_setup.md](bbb_setup.md) for how to setup the BBB for flashing.\ -**Note, the guide mentions a 3.3v DC PSU but you don't need this on the +*Note, the guide mentions a 3.3v DC PSU but you don't need this on the X60 Tablet: if you don't have or don't want to use an external PSU, then make sure not to connect the 3.3v leads mentioned in the guide; instead, connect the AC adapter (the one that normally charges your -battery) so that the board has power (but don't boot it up)** +battery) so that the board has power (but don't boot it up)* ![](../images/x60t_unbrick/0011.JPG)\ Correlate the following with the BBB guide linked above: @@ -111,7 +111,7 @@ SSH'd into the BBB: yourrom.rom -It should be **Verifying flash... VERIFIED** at the end. If flashrom +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. diff --git a/docs/misc/bbb_ehci.md b/docs/misc/bbb_ehci.md @@ -21,11 +21,11 @@ EHCI debugging recommended)](#EnebleEHCIDebugonthetargetskerneloptionalrecommended) 7. [References](#References) -**NOTE: this documentation may be outdated, and discusses configuring +*NOTE: this documentation may be outdated, and discusses configuring EHCI debug on the default Debian system that the BBB sometimes comes with. If you want an easier time, just use [BBB ScrewDriver](https://www.coreboot.org/BBB_screwdriver) which comes -pre-configured.** +pre-configured.* If your computer does not boot after installing libreboot, it is very useful to get debug logs from it, from the payload (grub) and/or the @@ -40,17 +40,17 @@ it (TODO: grub). I will refer to three computers: -- **host** - this is the computer you use, have tools, compiler, +- *host* - this is the computer you use, have tools, compiler, Internet, etc -- **BBB** - Beaglebone Black (rev. B or higher, i use rev. C) -- **target** - the computer you are trying to install liberboot +- *BBB* - Beaglebone Black (rev. B or higher, i use rev. C) +- *target* - the computer you are trying to install liberboot ### Find USB port on the target that supports EHCI debug {#FindUSBportonthetargetthatsupportsEHCIdebug} Not all USB controllers support EHCI debug (see: [EHCI Debug Port](http://www.coreboot.org/EHCI_Debug_Port#Hardware_capability) ). Even more, if a USB controller supports EHCI debug, it is available only -**on a single port** that might or might not be exposed externally. +*on a single port* that might or might not be exposed externally. - You need running OS (GNU+Linux) on your target for this step (If you've flashed libreboot and it does not boot, you have to flush @@ -76,8 +76,8 @@ Even more, if a USB controller supports EHCI debug, it is available only support debug (bold). Remember (write down) for each port (external plug) you found that -supports debug: **PCI device id, the bus id, the port number, and the -physical location of the usb plug.** +supports debug: *PCI device id, the bus id, the port number, and the +physical location of the usb plug.* If you do not find a match, you can not get debug over EHCI. Sorry. @@ -235,7 +235,7 @@ Then:\ CONFIG_CONSOLE_USB=y (Console -> USB dongle console output) -Also Debugging \---> Output verbose XYZ ) (**FIXME** somebody verify +Also Debugging \---> Output verbose XYZ ) (*FIXME* somebody verify these): CONFIG_DEBUG_CBFS=y (Output verbose CBFS debug messages ) @@ -247,7 +247,7 @@ these): If some of the above mentioned configuration options are not as specified, you have to configure and compile libreboot yourself. Please -refer to the doc(**FIXME: link** about compiling libreboot. +refer to the doc(*FIXME: link* about compiling libreboot. #### Selecting HCD Index and USB Debug port {#SelectingHCDIndexandUSBDebugport} @@ -342,7 +342,7 @@ Interface](http://cs.usfca.edu/~cruse/cs698s10/) ^21^ https://wiki.ubuntu.com/Kernel/Debugging/USBearlyprintk -**TODO**: +*TODO*: 1. grub does not send messages to EHCI debug. Investigate. 2. The section “Configure libreboot with EHCI debug” can be diff --git a/docs/misc/index.md b/docs/misc/index.md @@ -75,9 +75,9 @@ using [this guide](../gnulinux/grub_cbfs.md). X60/T60: Serial port - how to use (for dock owners) =================================================== -For the Thinkpad X60 you can use the **"UltraBase X6"** dock (for the +For the Thinkpad X60 you can use the "UltraBase X6" dock (for the X60 Tablet it is called X6 Tablet UltraBase). For the ThinkPad T60, you -can use the **"Advanced Mini Dock"**. +can use the "Advanced Mini Dock". If you are using one of the ROM images with 'serial' in the name, then you have serial port enabled in libreboot and you have memtest86+ @@ -107,7 +107,7 @@ recommend Ubuntu, because it contains non-free software in the default repos. Use Debian or Devuan) Note: part of the tutorial above requires changing your grub.cfg. Just -change the **linux** line to add instructions for enabling getty. See +change the `linux` line to add instructions for enabling getty. See [../gnulinux/grub\_cbfs.md](../gnulinux/grub_cbfs.md). Finetune backlight control on intel gpu's @@ -121,10 +121,12 @@ needs to be set. See p94 of <https://01.org/sites/default/files/documentation/g45_vol_3_register_0_0.pdf> for more information on this reg. The tool for setting registry values 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 -your_value_in_C_hex_format** + sudo apt-get install intel-gpu-tools + +You can set values: + + sudo intel_reg write 0x00061254 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 @@ -134,7 +136,7 @@ backlight modulation frequency means full on. The value should not be larger than the backlight modulation frequency. On displays with a CCFL backlight start from: 0x60016001 To verify if -all modes work as desired use: **xbacklight -set 10** and gradually +all modes work as desired use: `xbacklight -set 10` and gradually increase until 100. Displays with an LED backlight need a lower backlight modulation. Do the same thing but start from 0x01290129 . Try setting different values until you have found a value which presents no @@ -172,8 +174,10 @@ before exit 0 in /etc/rc.local or create a systemd service file WantedBy=multi-user.target -Now start and enable it: **sudo systemctl start backlight && sudo -systemctl enable backlight** +Now start and enable it: + + sudo systemctl start backlight && sudo systemctl enable backlight + Special note on i945: i945 behaves differently. Bit 16 needs to be 1 and the duty cycle is not @@ -216,8 +220,11 @@ A reboot is required, for these changes to take effect. Get EDID: Find out the name (model) of your LCD panel ===================================================== -Get the panel name with **sudo get-edid | strings**\ -Or look in **/sys/class/drm/card0-LVDS-1/edid** +Get the panel name: + + sudo get-edid | strings + +Or look in `/sys/class/drm/card0-LVDS-1/edid` Alternatively you can use i2cdump. In Debian and Devuan, this is in the package i2c-tools. @@ -243,16 +250,20 @@ needed for cause): e1000e 0000:00:19.0 enp0s25: Detected Hardware Unit Hang -Possible workaround, tested by Nazara: Disable C-STATES.\ -**NOTE: this also disables power management, because disabling C-States +Possible workaround, tested by Nazara: Disable C-STATES. + +*NOTE: this also disables power management, because disabling C-States means that your CPU will now be running at full capacity (and therefore using more power) non-stop, which will drain battery life if this is a laptop. If power usage is a concern, then you should not use this. -(we're also not sure whether this workaround is appropriate)** +(we're also not sure whether this workaround is appropriate)* + +To disable c-states, do this in GNU+Linux: -To disable c-states, do this in GNU+Linux:\ -**for i in /sys/devices/system/cpu/cpu/cpuidle/state/disable; do echo 1 -> \$i; done** + for i in /sys/devices/system/cpu/cpu/cpuidle/state/disable; + do + echo 1 > $i; + done You can reproduce this issue more easily by sending lots of traffic across subnets on the same interface (NIC). diff --git a/docs/release.md b/docs/release.md @@ -37,8 +37,8 @@ Libreboot 20160818 {#release20160818} Release date: 18th August 2016. -Installation instructions can be found at ***docs/install/***. Building -instructions (for source code) can be found at ***docs/git/\#build***. +Installation instructions can be found at `docs/install/`. Building +instructions (for source code) can be found at `docs/git/\#build`. Machines supported in this release: ----------------------------------- diff --git a/www/footer.md b/www/footer.md @@ -3,5 +3,5 @@ [Template](/license.md) -- [Authors](/contrib.md) -- [Conduct Guidelines](/conduct.md) -- -[Management Guidelines](/management.md) -- -[Peers Community](https://peers.community/) -- +[Governance](/management.md) -- +[Peers Community](https://peers.community/) diff --git a/www/index.md b/www/index.md @@ -10,25 +10,17 @@ mascot"){#logo}](faq.md#who-did-the-logo) [Install](docs/install/) -- [Docs](docs/) -- [News](news/) -- -[IRC](https://webchat.freenode.net/?channels=libreboot) -- +[Chat](https://webchat.freenode.net/?channels=libreboot) -- [Bugs](https://notabug.org/libreboot/libreboot/issues) -- [Contribute](git.md) -- -[Management](management.md) -- [Tasks](https://notabug.org/libreboot/libreboot/milestones) -- -[Preinstalled systems](suppliers.md) +[Buy](suppliers.md) Libreboot is a [free](https://www.gnu.org/philosophy/free-sw.html) (as in freedom) BIOS or UEFI replacement, initialising the hardware and booting your operating system. It is also available preinstalled from [these suppliers](suppliers.md). -**[Community feedback is needed on whether libreboot.org domain name -ownership should be transferred to the -Software Freedom Conservancy](news/sfc-domain-offer.md)** - -**[Libreboot has applied to re-join the GNU project, -under new democratic leadership](news/formalised-structure.md)** - Why use Libreboot? ------------------ diff --git a/www/news/fsf-domain-offer.md b/www/news/fsf-domain-offer.md @@ -1,15 +0,0 @@ -% Community feedback on whether to offer libreboot.org domain name to FSF -% Leah Rowe -% 26 Apr 2017 - -I, Leah Rowe, have stepped down as leader of the Libreboot project. This means -that I must also transfer ownership of the libreboot.org domain name to -another entity. I have chosen to propose the FSF as that entity. - -This is something that could be offered to GNU as part of Libreboot's -filed application to re-join GNU. - -Commenting will be taken on -<https://www.reddit.com/r/libreboot/comments/67rd46/proposal_transfer_librebootorg_ownership_to_fsf/> -as to whether this decision should be taken. Full reasoning is documented -there. diff --git a/www/news/sfc-domain-offer.md b/www/news/sfc-domain-offer.md @@ -1,36 +0,0 @@ -% Community feedback on whether to offer libreboot.org domain name to SFC -% Leah Rowe -% 27 Apr 2017 - -I, Leah Rowe, have stepped down as leader of the Libreboot project. This means -that I must also transfer ownership of the libreboot.org domain name to -another entity. I have chosen to propose the Software Freedom Conservancy (SFC) -as that entity. - -Commenting will be taken on -<https://www.reddit.com/r/libreboot/comments/67x3bs/proposal_transfer_librebootorg_domain_name/> -as to whether this decision should be taken. Full reasoning is documented -there. - -Software Freedom Conservancy is heavily affiliated with the FSF. Conservancy -provides legal services, e.g. GPL enforcement, for those who violate the GNU -General Public License. They generally offer legal services related to Free -Software. Its founder, Bradley Kuhn, is also a former Executive Director of -the FSF. (Karen Sandler, is SFC's current Executive Director). - -In addition to legal services, Conservancy also helps promote Free Software -and provides certain infrastructure for Free Software projects, and does -sometimes assist in development of projects. - -More information: -<https://en.wikipedia.org/wiki/Software_Freedom_Conservancy> - -Conservancy website: -<https://sfconservancy.org/> - -This is something that could be offered to GNU as part of Libreboot's -filed application to re-join GNU. - -Previously, it was proposed that the domain name be transferred to the FSF, but -this was vetoed by an opposing member of the core leadership, when I proposed -it. SFC was then recommended as an alternative, hence this new proposal.