diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/gnulinux/configuring_parabola.md | 2 | ||||
-rw-r--r-- | docs/gnulinux/encrypted_parabola.md | 32 | ||||
-rw-r--r-- | docs/gnulinux/grub_boot_installer.md | 15 | ||||
-rw-r--r-- | docs/gnulinux/grub_cbfs.md | 17 | ||||
-rw-r--r-- | docs/gnulinux/grub_hardening.md | 5 | ||||
-rw-r--r-- | docs/gnulinux/index.md | 19 | ||||
-rw-r--r-- | docs/hardware/c201.md | 5 | ||||
-rw-r--r-- | docs/hardware/d945gclf.md | 2 | ||||
-rw-r--r-- | docs/hardware/gm45_remove_me.md | 30 | ||||
-rw-r--r-- | docs/hardware/index.md | 34 | ||||
-rw-r--r-- | docs/hardware/r400.md | 2 | ||||
-rw-r--r-- | docs/hardware/t400.md | 4 | ||||
-rw-r--r-- | docs/hardware/t500.md | 2 | ||||
-rw-r--r-- | docs/hardware/x200.md | 12 | ||||
-rw-r--r-- | docs/install/bbb_setup.md | 12 | ||||
-rw-r--r-- | docs/install/c201.md | 8 | ||||
-rw-r--r-- | docs/install/index.md | 30 | ||||
-rw-r--r-- | docs/install/r400_external.md | 8 | ||||
-rw-r--r-- | docs/install/rpi_setup.md | 10 | ||||
-rw-r--r-- | docs/install/t500_external.md | 10 | ||||
-rw-r--r-- | docs/install/x200_external.md | 8 | ||||
-rw-r--r-- | docs/install/x60_unbrick.md | 13 | ||||
-rw-r--r-- | docs/install/x60tablet_unbrick.md | 13 | ||||
-rw-r--r-- | docs/misc/index.md | 4 | ||||
-rw-r--r-- | docs/release.md | 18 |
25 files changed, 179 insertions, 136 deletions
diff --git a/docs/gnulinux/configuring_parabola.md b/docs/gnulinux/configuring_parabola.md index 1e525f59..935ff099 100644 --- a/docs/gnulinux/configuring_parabola.md +++ b/docs/gnulinux/configuring_parabola.md @@ -63,7 +63,7 @@ For more information related to `pacman`, review the following articles on the A * [Configuring pacman](https://wiki.parabolagnulinux.org/Installation_Guide#Configure_pacman) * [Using pacman](https://wiki.archlinux.org/index.php/Pacman) -* [Additional Repositories](https://wiki.parabolagnulinux.org/Official_Repositories>) +* [Additional Repositories](https://wiki.parabolagnulinux.org/Official_Repositories) ## Updating Parabola Parabola is kept up-to-date, using `pacman`. When you are updating Parabola, diff --git a/docs/gnulinux/encrypted_parabola.md b/docs/gnulinux/encrypted_parabola.md index a4d7dd16..5ff070a6 100644 --- a/docs/gnulinux/encrypted_parabola.md +++ b/docs/gnulinux/encrypted_parabola.md @@ -3,6 +3,8 @@ title: Installing Parabola or Arch GNU+Linux-Libre, with Full-Disk Encryption (i x-toc-enable: true ... +Also see: +[Installing Hyperbola GNU+Linux, with Full-Disk Encryption (including /boot)](https://wiki.hyperbola.info/en:guide:encrypted_installation) This guide covers how to install Parabola GNU+Linux-Libre, with full disk encryption, including **/boot** (the boot directory). On most systems, **/boot** has @@ -83,7 +85,9 @@ if it's not new, then there are two ways to handle it: you can either choose to fill it with zeroes or random data; I chose random data (e.g., `urandom`), because it's more secure. Depending on the size of the drive, this could take a while to complete: - `# dd if=/dev/urandom of=/dev/sdX; sync` + ~~~ + # dd if=/dev/urandom of=/dev/sdX; sync + ~~~ 2. If the drive were previously encrypted, all you need to do is wipe the LUKS header. The size of the header depends upon the specific model of the hard drive; @@ -91,12 +95,14 @@ you can find this information by doing some research online. Refer to this [article](https://www.lisenet.com/2013/luks-add-keys-backup-and-restore-volume-header/), for more information about LUKS headers. You can either fill the header with zeroes, or with random data; again, I chose random data, using `urandom`: - `# head -c 3145728 /dev/urandom > /dev/sdX; sync` + ~~~ + # head -c 3145728 /dev/urandom > /dev/sdX; sync + ~~~ Also, if you're using an SSD, there are a two things you should keep in mind: - There are issues with TRIM; it's not enabled by default through LUKS, -and there are security issues, if you do enable it. See [this page](https://wiki.archlinux.org/index.php/Dm-cryptSpecialties#Discard.2FTRIM_support_for_solid_state_drives_.28SSD.29) for more info. +and there are security issues, if you do enable it. See [this page](https://wiki.archlinux.org/index.php/Dm-crypt#Specialties) for more info. - Make sure to read [this article](https://wiki.archlinux.org/index.php/Solid_State_Drives), for information on managing SSD's in Arch Linux (the information applies to Parabola, as well). @@ -192,11 +198,15 @@ equally cleverly named as **rootvol**. Also, make sure to [choose an appropriate swap size](http://www.linux.com/news/software/applications/8208-all-about-linux-swap-space) (e.g., **2G** refers to two gigabytes; change this however you see fit): - `# lvcreate -L 2G matrix -n swapvol` + ~~~ + # lvcreate -L 2G matrix -n swapvol + ~~~ 2. Now, we will create a single, large partition in the rest of the space, for **rootvol**: - `# lvcreate -l +100%FREE matrix -n rootvol` + ~~~ + # lvcreate -l +100%FREE matrix -n rootvol + ~~~ You can also be flexible here, for example you can specify a **/boot**, a **/**, a **/home**, a **/var**, or a **/usr** volume. For example, if you will be running a @@ -274,7 +284,7 @@ directory to the one you created in the previous steps, so that you can modify f and install software onto it, as if it were the host operating system. To `chroot` into your installation, follow the instructions [on the -Prabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Chroot_and_configure_the_base_system). +Parabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Chroot_and_configure_the_base_system). ### Setting up the Locale Locale refers to the language that your operating system will use, as well as some @@ -313,7 +323,11 @@ There are several modifications that we need to make to the file: Make sure to separate each module by one space. 2. Change the value of the uncommented `HOOKS` line to the following: - “`base udev autodetect modconf block keyboard keymap consolefont encrypt lvm2 filesystems fsck shutdown`”; + + ~~~ + base udev autodetect modconf block keyboard keymap consolefont encrypt lvm2 filesystems fsck shutdown + ~~~ + here's what each module does: * `keymap` adds to *initramfs* the keymap that you specified in **/etc/vconsole.conf** @@ -367,7 +381,7 @@ for the LUKS passphrase, apply here as well. You will set this password with the ### Extra Security Tweaks There are some final changes that we can make to the installation, to make it -significantly more secure; these are based on the [Security](https://wiki.archlinux.org/index.php/Securit) section of the Arch wiki. +significantly more secure; these are based on the [Security](https://wiki.archlinux.org/index.php/Security) section of the Arch wiki. #### Key Strengthening We will want to open the configuration file for password settings, and increase @@ -408,7 +422,7 @@ Edit configuration in `/etc/default/grub`, remembering to use UUID when poitning Use `blkid` to get list of devices with their respective UUIDs. Next generate grub.cfg with - # grub-mkconfig /boot/grub/grub.cfg + # grub-mkconfig -o /boot/grub/grub.cfg If you have separate `/boot` partition, don't forget to add `boot` symlink inside that points to current directory diff --git a/docs/gnulinux/grub_boot_installer.md b/docs/gnulinux/grub_boot_installer.md index 085ad34b..7d4375e6 100644 --- a/docs/gnulinux/grub_boot_installer.md +++ b/docs/gnulinux/grub_boot_installer.md @@ -25,7 +25,7 @@ Overwrite the drive, writing your distro ISO to it with `dd`. For example, if we That's it! You should now be able to boot the installer from your USB drive (the instructions for doing so will be given later). ## Prepare the USB drive in NetBSD -[This page](https://wiki.netbsd.org/tutorials how_to_install_netbsd_from_an_usb_memory_stick/) on the NetBSD website shows how to create a NetBSD bootable USB drive, from within NetBSD itself. You should the `dd` method documented there. This will work with any GNU+Linux ISO image. +[This page](https://wiki.netbsd.org/tutorials/how_to_install_netbsd_from_an_usb_memory_stick/) on the NetBSD website shows how to create a NetBSD bootable USB drive, from within NetBSD itself. You should the `dd` method documented there. This will work with any GNU+Linux ISO image. ## Prepare the USB drive in FreeBSD [This page](https://www.freebsd.org/doc/handbook/bsdinstall-pre.html) on the FreeBSD website shows how to create a bootable USB drive for installing FreeBSD. Use the `dd` method documented. This will work with any GNU+Linux ISO image. @@ -53,18 +53,23 @@ Make sure that the device isn't mounted, with `doas`; if it is, this command wil That's it! You should now be able to boot the installer from your USB drive (the instructions for doing so will be given later). ## Debian or Devuan net install -1. Download the Debian or Devuan net installer. You can download the Debian ISO from [the Debian homepage](https://www.debian.org/), or the Devuan ISO from [the Devuan homepage](https://www.devuan.org/). +Download the Debian or Devuan net installer. You can download the Debian ISO +from [the Debian homepage](https://www.debian.org/), or the Devuan ISO from +[the Devuan homepage](https://www.devuan.org/). -2. Create a bootable USB, using the commands in *Prepare the USB Drive in GNU+Linux*, above. +Secondly, create a bootable USB drive using the commands in +[#prepare-the-usb-drive-in-gnulinux](#prepare-the-usb-drive-in-gnulinux). -3. Boot the USB, and enter these commands in the GRUB terminal (for 64-bit Intel or AMD): +Thirdly, boot the USB and enter these commands in the GRUB terminal +(for 64-bit Intel or AMD): grub> set root='usb0' grub> linux /install.amd/vmlinuz grub> initrd /install.amd/initrd.gz grub> boot -4. If you are on a 32-bit system (e.g. some Thinkpad X60's), you will need to use these commands: +If you are on a 32-bit system (e.g. some Thinkpad X60's) then you will need to +use these commands instead: grub> set root='usb0' grub> linux /install.386/vmlinuz diff --git a/docs/gnulinux/grub_cbfs.md b/docs/gnulinux/grub_cbfs.md index 5283b4fc..4879d9cf 100644 --- a/docs/gnulinux/grub_cbfs.md +++ b/docs/gnulinux/grub_cbfs.md @@ -152,19 +152,17 @@ used by coreboot native graphics initialization. I'll choose **x200_8mb_usqwerty_vesafb.rom**; I'll copy the file (to the `cbfstool` directory), and rename it with one command: - $ mv "x200_8mb_usqwerty_vesafb.rom" ../cbfstool/x86_64/cbfstool/x86_64/libreboot.rom + $ mv "x200_8mb_usqwerty_vesafb.rom" ../cbfstool/x86_64/libreboot.rom #### 2. Create an Image from the Current ROM The simpler way to get a ROM image is to just create it from your current ROM, using `flashrom`, making sure to save it in the `cbfstool` folder, inside **libreboot\_util**: - $ sudo flashrom -p internal -r ~/Downloads/libreboot_util/cbfstool/\ - >x86_64/cbfstool/x86_64/libreboot.rom + $ sudo flashrom -p internal -r ~/Downloads/libreboot_util/cbfstool/x86_64/libreboot.rom If you are told to specify the chip, add the option `-c {your chip}` to the command, like this: - $ sudo flashrom -c MX25L6405 -p internal -r ~/Downloads/libreboot_util/\ - >cbfstool/x86_64/cbfstool/x86_64/libreboot.rom + $ sudo flashrom -c MX25L6405 -p internal -r ~/Downloads/libreboot_util/cbfstool/x86_64/libreboot.rom Now you are ready to extract the GRUB configuration files from the ROM, and modify them the way you want. @@ -173,7 +171,7 @@ Now you are ready to extract the GRUB configuration files from the ROM, and modi You can check the contents of the ROM image, inside CBFS, using `cbfstool`. First, navigate to the cbfstool folder: - $ cd ~/Downloads/libreboot_util/cbfstool/x86_64/cbfstool/x86_64/ + $ cd ~/Downloads/libreboot_util/cbfstool/x86_64/ Then, run the `cbfstool` commmand, with the `print` option; this will display a list of all the files located in the ROM: @@ -215,7 +213,7 @@ Or, replace it with this, if you are using a Debian-based distribution (e.g., Tr cryptomount -a set root='lvm/matrix-rootvol' - linux /vmlinuz root=/dev/mapper/matrix-rootvolcryptdevice=/dev/mapper/matrix-rootvol:root + linux /vmlinuz root=/dev/mapper/matrix-rootvol cryptdevice=/dev/mapper/matrix-rootvol:root initrd /initrd.img Remember, that these names come from the instructions to install GNU+Linux @@ -243,8 +241,7 @@ the main storage for **/boot/grub/libreboot\_grub.cfg** or **/grub/libreboot\_gr Therefore, we need to either copy **libreboot\_grub.cfg** to **/grub**, or to **/boot/grub**: - $ sudo cp ~/Downloads/libreboot_util/cbfstool/x86_64/cbfstool/x86_64/grubtest.cfg \ - >/boot/grub # or /grub + $ sudo cp ~/Downloads/libreboot_util/cbfstool/x86_64/grubtest.cfg /boot/grub # or /grub Now, the next time we boot our computer, GRUB (in Libreboot) will automatically switch to this configuration file. *This means that you do not have to re-flash, @@ -354,7 +351,7 @@ of **grubtest.cfg**, called **grub.cfg**. First, go to the `cbfstool` directory: - $ cd ~/Downloads/libreboot_util/cbfstool/x86_64/cbfstool/x86_64/ + $ cd ~/Downloads/libreboot_util/cbfstool/x86_64/ Then, create a copy of **grubest.cfg**, named **grub.cfg**: diff --git a/docs/gnulinux/grub_hardening.md b/docs/gnulinux/grub_hardening.md index c32a0534..e1329f21 100644 --- a/docs/gnulinux/grub_hardening.md +++ b/docs/gnulinux/grub_hardening.md @@ -33,7 +33,7 @@ Helpful links: - [GRUB manual](https://www.gnu.org/software/grub/manual/html_node/Security.html#Security) - [GRUB info pages](http://git.savannah.gnu.org/cgit/grub.git/tree/docs/grub.texi) -- [SATA connected storage considered dangerous.](../../faq.md#firmware-hddssd) +- [SATA connected storage considered dangerous.](../../faq.md#hddssd-firmware) - [Coreboot GRUB security howto](https://www.coreboot.org/GRUB2#Security) GRUB Password @@ -81,7 +81,8 @@ installing GRUB version 2. Generate a key by giving it a password: grub-mkpasswd-pbkdf2 Its output will be a string of the following form: -grub.pbkdf2.sha512.10000.HEXDIGITS.MOREHEXDIGITS + + grub.pbkdf2.sha512.10000.HEXDIGITS.MOREHEXDIGITS Now open my.grubtest.cfg and put the following before the menu entries (prefered above the functions and after other directives). Of course use diff --git a/docs/gnulinux/index.md b/docs/gnulinux/index.md index f8738d4a..bc7a04f8 100644 --- a/docs/gnulinux/index.md +++ b/docs/gnulinux/index.md @@ -20,12 +20,31 @@ However, with Libreboot, GRUB is already included directly (as a payload), so ev - Follow-Up Tutorial: [Configuring Parabola (Post-Install)](configuring_parabola.md) +- [Installing Hyperbola GNU+Linux, with Full-Disk Encryption (including /boot)](https://wiki.hyperbola.info/en:guide:encrypted_installation) + - [Installing Trisquel GNU+Linux-Libre, with Full-Disk Encryption (including /boot)](encrypted_trisquel.md) - [Installing Debian or Devuan GNU+Linux-Libre, with Full-Disk Encryption (including /boot)](encrypted_debian.md) - [How to Harden Your GRUB Configuration, for Security](grub_hardening.md) +Fedora won't boot? +------------------ + +This may also apply to CentOS or Redhat. + +When you use Libreboot's default GRUB config, and libreboot-grub uses fedora's +default grub.cfg (in /boot/grub2/grub.cfg), fedora by default makes use of the +`linux16` command, whereas it should be saying `linux` + +Do this in fedora: + +Open `/etc/grub.d/10_linux` + +Set the `sixteenbit` variable to an empty string, then do: + + grub2-mkconfig -o /boot/grub2/grub.cfg + Copyright © 2014, 2015 Leah Rowe <info@minifree.org> Copyright © 2017 Elijah Smith <esmith1412@posteo.net> diff --git a/docs/hardware/c201.md b/docs/hardware/c201.md index f268e6f6..2fd9b973 100644 --- a/docs/hardware/c201.md +++ b/docs/hardware/c201.md @@ -92,8 +92,9 @@ well. Ask on IRC if you think you can contribute. Caution: WiFi requires a non-free blob, a USB dongle can be used instead. ========================================================================= -These laptops have non-removeable (soldered on) WiFi chips, which -require non-free firmware in the Linux kernel in order to work. +These laptops have non-removeable (soldered on) M.2 Type 1216 card +with WiFi+Bluetooth, which requires non-free firmware to be loaded by +the Linux kernel in order to work. The libreboot project recommends using an external USB wifi dongle that works with free software. See diff --git a/docs/hardware/d945gclf.md b/docs/hardware/d945gclf.md index c3f4754a..f464e4bd 100644 --- a/docs/hardware/d945gclf.md +++ b/docs/hardware/d945gclf.md @@ -30,7 +30,7 @@ Remarks about vendor bios: -------------------------- - Without coreboot/libreboot this board is utery useless, since the - vendor bios is very bad. It cannot boot from any HDD wether it is + vendor bios is very bad. It cannot boot from any HDD whether it is connected to the SATA port or USB. With libreboot it works just fine. diff --git a/docs/hardware/gm45_remove_me.md b/docs/hardware/gm45_remove_me.md index b2f8db8b..26e5f9f6 100644 --- a/docs/hardware/gm45_remove_me.md +++ b/docs/hardware/gm45_remove_me.md @@ -297,27 +297,21 @@ Early notes {#early_notes} Flash chips {#flashchips} ----------- +- X200 laptop (Mocha-1): + ICH9-M overrides ifd permissions with a strap connected to GPIO33 pin (see IRC notes below) -- Schematics for X200 laptop: - <http://pdf.datasheetarchive.com/indexerfiles/Datasheets-USER/DSAUPLD00006075.pdf> - **~~- Page 20 and page 9 refer to SDA\_HDO or SDA\_HDOUT~~** only on - series 6 or higher chipsets. ICH9-M (X200) does it with a strap - connected to GPIO33 pin (see IRC notes below) - - - According to page 29, the X200 can have any of the following flash + - The X200 can be found with any of the following flash chips: - - ATMEL AT26DF321-SU 72.26321.A01 - this is a 32Mb (4MiB) chip - - MXIC (Macronix?) MX25L3205DM2I-12G 72.25325.A01 - another 32Mb - (4MiB) chip - - MXIC (Macronix?) MX25L6405DMI-12G 41R0820AA - this is a 64Mb - (8MiB) chip - - Winbond W25X64VSFIG 41R0820BA - another 64Mb (8MiB) chip - - sgsit says that the X200s with the 64Mb flash chips are (probably) + - ATMEL AT26DF321-SU 72.26321.A01 - this is a 32Mb (4MiB) chip + - MXIC (Macronix?) MX25L3205DM2I-12G 72.25325.A01 - another 32Mb + (4MiB) chip + - MXIC (Macronix?) MX25L6405DMI-12G 41R0820AA - this is a 64Mb + (8MiB) chip + - Winbond W25X64VSFIG 41R0820BA - another 64Mb (8MiB) chip + + sgsit says that the X200s (Pecan-1) with the 64Mb flash chips are (probably) the ones with AMT (alongside the ME), whereas the 32Mb chips contain only the ME. -- Schematics for X200s laptop: - <http://pdf.datasheetarchive.com/indexerfiles/Datasheets-USER/DSAUPLD00006104.pdf>. Early development notes {#early_development_notes} ----------------------- @@ -424,7 +418,7 @@ region. According to the datasheet, it's supposed to add up to 0xBABA but can actually be others on the X200. -<https://communities.intel.com/community/wired/blog/2010/10/14/how-to-basic-eeprom-checksums> +<https://web.archive.org/web/20150912070329/https://communities.intel.com/community/wired/blog/2010/10/14/how-to-basic-eeprom-checksums> *"One of those engineers loves classic rock music, so they selected 0xBABA"* diff --git a/docs/hardware/index.md b/docs/hardware/index.md index 5fefdff3..12580cf8 100644 --- a/docs/hardware/index.md +++ b/docs/hardware/index.md @@ -31,8 +31,8 @@ Libreboot supports the following systems in this release: ### Laptops (Intel, x86) -- [Lenovo ThinkPad X60/X60s](#list-of-supported-x60s) -- [Lenovo ThinkPad X60 Tablet](#list-of-supported-x60-tablets) +- [Lenovo ThinkPad X60/X60s](#list-of-supported-thinkpad-x60s) +- [Lenovo ThinkPad X60 Tablet](#list-of-supported-thinkpad-x60-tablets) - [Lenovo ThinkPad T60](#supported-t60-list) (some exceptions) - [Lenovo ThinkPad X200](x200.md) - [Lenovo ThinkPad R400](r400.md) @@ -54,7 +54,7 @@ EC update on i945 (X60, T60) and GM45 (X200, T400, T500, R400, W500) ============================================================== It is recommended that you update to the latest EC firmware version. The -[EC firmware](../../faq.md#firmware-ec) is separate from +[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from libreboot, so we don't actually provide that, but if you still have Lenovo BIOS then you can just run the Lenovo BIOS update utility, which will update both the BIOS and EC version. See: @@ -223,8 +223,8 @@ 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 -incompatible! See [\#t60\_ati\_intel](#t60_ati_intel) for how to remedy +*Some T60 variants have ATI GPUs, and all T60p laptops have ATI GPUs These are +incompatible! See [\#thinkpad-t60-ati-gpu-and-thinkpad-t60-intel-gpu-differences](#thinkpad-t60-ati-gpu-and-thinkpad-t60-intel-gpu-differences) for how to remedy this.* Tested LCD panels: (working) @@ -242,11 +242,11 @@ Tested LCD panels: (working) works) - BOE-Hydis HV150UX1-100 (15.1" 1600x1200) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board) +- Samsung LTN141XA-L01 (14.1" 1024x768) 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) - Samsung LTN150XG (15.1" 1024x768) - LG-Philips LP150E06-A5K4 (15.1" 1400x1050) (also, not an official @@ -290,7 +290,7 @@ is very easily replaced; just remove the card and install another one *after* libreboot is installed. See [\#recommended\_wifi](#recommended_wifi) for replacements. -ThinkPad T60 (ATI GPU) and ThinkPad T60 (Intel GPU) differences. +ThinkPad T60 (ATI GPU) and ThinkPad T60 (Intel GPU) differences ---------------------------------------------------------------- If your T60 is a 14.1" or 15.1" model with an ATI GPU, it won't work @@ -337,14 +337,14 @@ Information about the macbook1,1 There is an Apple laptop called the macbook1,1 from 2006 which uses the same i945 chipset as the ThinkPad X60/T60. A developer ported the -[MacBook2,1](#macbook21) to coreboot, the ROM images also work on the +[MacBook2,1](#information-about-the-macbook21) to coreboot, the ROM images also work on the macbook1,1. -You can refer to [\#macbook21](#macbook21) for most of this. Macbook2,1 -laptops come with Core 2 Duo processors which support 64-bit operating -systems (and 32-bit). The MacBook1,1 uses Core Duo processors (supports -32-bit OS but not 64-bit), and it is believed that this is the only -difference. +You can refer to [\#information-about-the-macbook21](#information-about-the-macbook21) +for most of this. Macbook2,1 laptops come with Core 2 Duo processors +which support 64-bit operating systems (and 32-bit). The MacBook1,1 +uses Core Duo processors (supports 32-bit OS but not 64-bit), and it is +believed that this is the only difference. It is believed that all models are compatible, listed here: @@ -358,14 +358,10 @@ Specifically (Order No. / Model No. / CPU): - MA254LL/A / A1181 (EMC 2092) / Core Duo T2400 *(tested - working)* - MA472LL/A / A1181 (EMC 2092) / Core Duo T2500 (untested) -Also of interest: -[../git/\#config\_macbook21](../git/#config_macbook21). - Unbricking: [this page shows disassembly guides](https://www.ifixit.com/Device/MacBook_Core_2_Duo) and mono's -page (see [\#macbook21](#macbook21)) shows the location of the SPI flash -chip on the motherboard. [How to remove the -motherboard](https://www.ifixit.com/Guide/MacBook+Core+2+Duo+PRAM+Battery+Replacement/529). +page (see [\#information-about-the-macbook21](#information-about-the-macbook21)) +shows the location of the SPI flash chip on the motherboard. [How to remove the motherboard](https://www.ifixit.com/Guide/MacBook+Core+2+Duo+PRAM+Battery+Replacement/529). No method is yet known for flashing in GNU+Linux while the Apple firmware is running. You will need to disassemble the system and flash diff --git a/docs/hardware/r400.md b/docs/hardware/r400.md index 4e0a0b19..ae22c50f 100644 --- a/docs/hardware/r400.md +++ b/docs/hardware/r400.md @@ -23,7 +23,7 @@ EC update {#ecupdate} ========= It is recommended that you update to the latest EC firmware version. The -[EC firmware](../../faq.md#firmware-ec) is separate from +[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from libreboot, so we don't actually provide that, but if you still have Lenovo BIOS then you can just run the Lenovo BIOS update utility, which will update both the BIOS and EC version. See: diff --git a/docs/hardware/t400.md b/docs/hardware/t400.md index 7464f682..f7c4d437 100644 --- a/docs/hardware/t400.md +++ b/docs/hardware/t400.md @@ -2,7 +2,7 @@ title: ThinkPad T400 ... -It is believed that all or most T400 laptops are compatible. See notes +It is believed that all or most laptops of the model T400 are compatible. See notes about [CPU compatibility](../install/t400_external.html#cpu_compatibility) for potential incompatibilities. @@ -23,7 +23,7 @@ EC update {#ecupdate} ========= It is recommended that you update to the latest EC firmware version. The -[EC firmware](../../faq.md#firmware-ec) is separate from +[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from libreboot, so we don't actually provide that, but if you still have Lenovo BIOS then you can just run the Lenovo BIOS update utility, which will update both the BIOS and EC version. See: diff --git a/docs/hardware/t500.md b/docs/hardware/t500.md index fdbca0d1..3973346c 100644 --- a/docs/hardware/t500.md +++ b/docs/hardware/t500.md @@ -25,7 +25,7 @@ EC update {#ecupdate} ========= It is recommended that you update to the latest EC firmware version. The -[EC firmware](../../faq.md#firmware-ec) is separate from +[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from libreboot, so we don't actually provide that, but if you still have Lenovo BIOS then you can just run the Lenovo BIOS update utility, which will update both the BIOS and EC version. See: diff --git a/docs/hardware/x200.md b/docs/hardware/x200.md index c5f535cb..fdf992d1 100644 --- a/docs/hardware/x200.md +++ b/docs/hardware/x200.md @@ -25,7 +25,7 @@ EC update {#ecupdate} ========= It is recommended that you update to the latest EC firmware version. The -[EC firmware](../../faq.md#firmware-ec) is separate from +[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from libreboot, so we don't actually provide that, but if you still have Lenovo BIOS then you can just run the Lenovo BIOS update utility, which will update both the BIOS and EC version. See: @@ -132,12 +132,6 @@ comparing it with X200 (factory BIOS) and X200 (gm45 raminit code in coreboot), to see what the differences are. Then tweak raminit code based on that. -Trouble undocking (button doesn't work) ----------------------------------------- - -This person seems to have a workaround: -<https://github.com/the-unconventional/libreboot-undock> - LCD compatibility list {#lcd_supported_list} ---------------------- @@ -236,9 +230,7 @@ different, so this page might be BS) pehjota started collecting some steppings for different CPUs on several X200 laptops. You can get the CPUID by running: - # dmesg | sed -n 's/\^.\* microcode: CPU0 - -sig=0x\\(\[\^,\]\*\\),.\*\$/\\1/p' + # dmesg | sed -n 's/.*microcode:.*sig=\([^,]*\),.*$/\1/p' | uniq What pehjota wrote: The laptops that have issues resuming from suspend, as well as a laptop that (as I mentioned earlier in \#libreboot) won't diff --git a/docs/install/bbb_setup.md b/docs/install/bbb_setup.md index 94cfdc0b..5d684a7f 100644 --- a/docs/install/bbb_setup.md +++ b/docs/install/bbb_setup.md @@ -8,6 +8,16 @@ flash chip with the BeagleBone Black, using the rev. C was used when creating this guide, but earlier revisions may also work. +***NOTE: Use of BeagleBone black is for example purposes only, +don't buy it unless you want _it_ specifically.*** *There are many ARM +Single Board Computers (SBC) that are capable of in system programming +(external flashing) and they perform similarly terrible at that task. +Common use of devicetrees on those devices allows for configuring them +in similar way, but not identical, so a bit of own research is required. +Lastly SBC is an example of self-contained device that is capable of flashing, +but it's possible to use smaller device like stm32 bluepill +with another computer to achieve similar result.* + *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 @@ -226,7 +236,7 @@ Output: Verify that the spidev device now exists: - # ls -al /dev/spid + # ls -al /dev/spid* Output: diff --git a/docs/install/c201.md b/docs/install/c201.md index 238c0734..fb39196a 100644 --- a/docs/install/c201.md +++ b/docs/install/c201.md @@ -155,10 +155,10 @@ 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 -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 +`WP#` since after removing the screw it is pulled up weakly to 3v3. Before +writing to the chip externally, the battery has to be unplugged. +Battery connector is located under the heat spreader, that has to be +unscrewed from the rest of the case. It is located on the right and has colorful cables, as shown on the picture below. [![SPI flash diff --git a/docs/install/index.md b/docs/install/index.md index f2a70112..b54dca15 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -62,10 +62,12 @@ they don't have to build anything from source on their own. The ROM images in each archive use the following at the end of the file name, if they are built with the GRUB payload: `*_*keymap*_*mode*.rom` -Available `modes`: `vesafb` or `txtmode`. The `vesafb` ROM images -are recommended, in most cases; `txtmode` ROM images come with -MemTest86+, which requires text-mode instead of the usual framebuffer -used by coreboot native graphics initialization. +Available modes: vesafb or txtmode. The vesafb ROM images are recommended +for regular use, but when flashing for the first time use txtmode version, +as it comes with Memtest86+, which requires text-mode instead of the usual +framebuffer used by coreboot native graphics initialization. +Machine should be tested with Memtest86+ after each reassembly or changing +from vendor bios to libreboot due to differences in raminit code. `keymap` can be one of several keymaps that keyboard supports (there are quite a few), which affects the keyboard layout configuration that is @@ -169,7 +171,7 @@ ASUS KCMA-D8? ------------- If you have the proprietary BIOS, you need to flash libreboot -externally. See [kcma-d8.md](kgpe-d8.md). +externally. See [kcma-d8.md](kcma-d8.md). If you already have coreboot or libreboot installed, without write protection on the flash chip, then you can do it in software (otherwise, @@ -244,7 +246,7 @@ Flash chip size Use this to find out: - # flashrom -p internal -V + # flashrom -p internal All good? --------- @@ -264,13 +266,13 @@ executables from the libreboot source code archives. How to update the flash chip contents: -`$ sudo ./flash update `[`yourrom.rom`](#rom) +`$ sudo ./flash update `[`yourrom.rom`](#rom) Ocassionally, coreboot changes the name of a given board. If flashrom complains about a board mismatch, but you are sure that you chose the correct ROM image, then run this alternative command: - `$ sudo ./flash forceupdate `[`yourrom.rom`](#rom) + `$ 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 @@ -283,6 +285,8 @@ ThinkPad X60/T60: Initial installation guide (if running the proprietary firmwar already have coreboot or libreboot running, then go to [\#flashrom](#flashrom) instead!* +*If you can, make sure that RTC battery is not discharged. Discharged RTC battery may lead to brick due to not holding BUC register value* + *If you are flashing a Lenovo ThinkPad T60, be sure to read [../hardware/\#supported\_t60\_list](../hardware/#supported_t60_list)* @@ -303,7 +307,7 @@ the flashing script. do this: * The first half of the procedure is as follows: -`$ sudo ./flash i945lenovo_firstflash `[`yourrom.rom`](#rom) +`$ sudo ./flash i945lenovo_firstflash `[`yourrom.rom`](#rom) You should see within the output the following: @@ -324,17 +328,17 @@ Seeing this means that the operation was a *resounding* success! 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* (but do not remove power, especially RTC battery). Wait a few seconds, and then boot; libreboot is running, but there is a 2nd procedure needed (see below). When you have booted up again, you must also do this: -`$ sudo ./flash i945lenovo_secondflash `[`yourrom.rom`](#rom) +`$ sudo ./flash i945lenovo_secondflash `[`yourrom.rom`](#rom) If flashing fails at this stage, try the following: -`$ sudo ./flashrom/i686/flashrom -p internal:laptop=force_I_want_a_brick -w `[`yourrom.rom`](#rom) +`$ sudo ./flashrom/i686/flashrom -p internal:laptop=force_I_want_a_brick -w `[`yourrom.rom`](#rom) You should see within the output the following: @@ -370,7 +374,7 @@ with your device. Use this flashing script, to install libreboot: -`$ sudo ./flash i945apple_firstflash `[`yourrom.rom`](#rom) +`$ sudo ./flash i945apple_firstflash `[`yourrom.rom`](#rom) You should also see within the output the following: diff --git a/docs/install/r400_external.md b/docs/install/r400_external.md index 366896cb..4036c761 100644 --- a/docs/install/r400_external.md +++ b/docs/install/r400_external.md @@ -44,9 +44,10 @@ A note about GPUs ================= Some models have an Intel GPU, while others have both an ATI and an -Intel GPU; this is referred to as "switchable graphics". In the *BIOS -setup* program for lenovobios, you can specify that the system will use -one or the other (but not both). +Intel GPU; this is referred to as "Dual Graphics" (previously +"switchable graphics"). In the *BIOS setup* program for lenovobios, +you can specify that the system will use one or the other (but not +both). Libreboot is known to work on systems with only the Intel GPU, using native graphics initialization. On systems with switchable graphics, the @@ -365,6 +366,7 @@ You should see something like this: Now [install GNU+Linux](../gnulinux/). Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\ +Copyright © 2018 Nico Rikken <nico@nicorikken.eu>\ Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License Version 1.3 or any later diff --git a/docs/install/rpi_setup.md b/docs/install/rpi_setup.md index e74432d4..b083aac9 100644 --- a/docs/install/rpi_setup.md +++ b/docs/install/rpi_setup.md @@ -150,7 +150,7 @@ successfully. If not, just flash again. Pi](http://scruss.com/blog/2013/02/02/simple-adc-with-the-raspberry-pi/) - [Flashing coreboot on a T60 with a Raspberry Pi - the\_unconventional's - blog](https://blogs.fsfe.org/the_unconventional/2015/05/08/flashing-coreboot-on-a-t60-with-a-raspberry-pi/) + blog](https://web.archive.org/web/20150709043222/http://blogs.fsfe.org:80/the_unconventional/2015/05/08/coreboot-t60-raspberry-pi/) - *Pomona SOIC Clip flashing* - [Arch Linux Wiki - Installing Arch Linux on Chromebook](https://wiki.archlinux.org/index.php/Chromebook) @@ -283,10 +283,10 @@ your PI. Power on your Pi, and run the following. Ensure you swap out "your\_chip\_name" with the proper name/model of your chip. Check that it can be read successfully. If you cannot read the chip and receive an -error similar to "no EEPROM Detected" or "0x0 Chip detected" then -you may want to try powering off your PI, and switching the two pins -which are connected to the IO ports. I.E. Connect pins (clip)8 to (pi)19 -and pins (clip)15 to (pi)21 +error similar to "no EEPROM Detected" then +you may want to make sure that MISO/MOSI are not swapped around, check +with multimeter whether voltage is right and that ground is connected +between "programmer" and target. pi# cd ~/flashrom diff --git a/docs/install/t500_external.md b/docs/install/t500_external.md index 37217337..9e114bca 100644 --- a/docs/install/t500_external.md +++ b/docs/install/t500_external.md @@ -39,6 +39,9 @@ Quad-core CPUs Very likely to be compatible, but requires hardware modification. Based on info from German forum post about installing Core Quad CPU on T500 found in coreboot mailing list. Currently work in progress and no guide available. +Q9100 is compatible and confirmed working (after hw mod), as reported by users in the IRC +channel + - [Coreboot mailing list post](https://mail.coreboot.org/pipermail/coreboot/2016-November/082463.html) - [German forum post about install Core Quad on T500](https://thinkpad-forum.de/threads/199129) @@ -359,11 +362,12 @@ Not to be confused with wifi (wifi is fine). Memory ====== -You need DDR3 SODIMM PC3-8500 RAM installed, in matching pairs -(speed/size). Non-matching pairs won't work. You can also install a +DDR3 SO-DIMM sticks will work at PC3-8500 clock and voltage, so make sure that +timings of sticks are matched while they operate at its frequency. +Non-matching pairs won't work. You can also install a single module (meaning, one of the slots will be empty) in slot 0. -Make sure that the RAM you buy is the 2Rx8 density. +Make sure that the RAM you buy has 2Rx8 arrangement when buying 4GiB modules. [This page](http://www.forum.thinkpads.com/viewtopic.php?p=760721) might be useful for RAM compatibility info (note: coreboot raminit is diff --git a/docs/install/x200_external.md b/docs/install/x200_external.md index 3ff34501..83a5c23f 100644 --- a/docs/install/x200_external.md +++ b/docs/install/x200_external.md @@ -19,7 +19,7 @@ Flash chip size Run this command on x200 to find out flash chip model and its size: - # flashrom -p internal -V + # flashrom -p internal The X200S and X200 Tablet will use a WSON-8 flash chip, on the bottom of the motherboard (this requires removal of the motherboard). Not all X200S/X200T are @@ -163,7 +163,9 @@ Now compare the 3 images: # sha512sum factory*.rom -If the hashes match, then just copy one of them (the factory.rom) to a +If the hashes match and if hex editor (like `dhex`) shows that +they have valid contents (eg. it's not filled entirely with `0x00`/`0xFF`), +then just copy one of them (the factory.rom) to a safe place (on a drive connected to another system, not the BBB). This is useful for reverse engineering work, if there is a desirable behaviour in the original firmware that could be replicated in coreboot @@ -178,7 +180,7 @@ address to one that is correct for your system. Now flash it: - # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w path/to/libreboot/rom/image.rom -V + # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w path/to/libreboot/rom/image.rom ![](images/x200/disassembly/0015.jpg) diff --git a/docs/install/x60_unbrick.md b/docs/install/x60_unbrick.md index 0f215302..d7cb17a8 100644 --- a/docs/install/x60_unbrick.md +++ b/docs/install/x60_unbrick.md @@ -20,13 +20,12 @@ two:\ \*Those dd commands should be applied to all newly compiled X60 ROM images (the ROM images in libreboot binary archives already have this -applied!):\ -dd if=coreboot.rom of=top64k.bin bs=1 skip=\$\[\$(stat -c %s -coreboot.rom) - 0x10000\] count=64k\ -dd if=coreboot.rom bs=1 skip=\$\[\$(stat -c %s coreboot.rom) - 0x20000\] -count=64k | hexdump\ -dd if=top64k.bin of=coreboot.rom bs=1 seek=\$\[\$(stat -c %s -coreboot.rom) - 0x20000\] count=64k conv=notrunc\ +applied!): + + dd if=coreboot.rom of=top64k.bin bs=1 skip=\$\[\$(stat -c %s coreboot.rom) - 0x10000\] count=64k + dd if=coreboot.rom bs=1 skip=\$\[\$(stat -c %s coreboot.rom) - 0x20000\] count=64k | hexdump + dd if=top64k.bin of=coreboot.rom bs=1 seek=\$\[\$(stat -c %s coreboot.rom) - 0x20000\] count=64k conv=notrunc + (doing this makes the ROM suitable for use when flashing a system that still has Lenovo BIOS running, using those instructions: <http://www.coreboot.org/Board:lenovo/x60/Installation>. diff --git a/docs/install/x60tablet_unbrick.md b/docs/install/x60tablet_unbrick.md index f4baebf4..fe4352bc 100644 --- a/docs/install/x60tablet_unbrick.md +++ b/docs/install/x60tablet_unbrick.md @@ -20,13 +20,12 @@ two:\ \*Those dd commands should be applied to all newly compiled X60 ROM images (the ROM images in libreboot binary archives already have this -applied!):\ -dd if=coreboot.rom of=top64k.bin bs=1 skip=\$\[\$(stat -c %s -coreboot.rom) - 0x10000\] count=64k\ -dd if=coreboot.rom bs=1 skip=\$\[\$(stat -c %s coreboot.rom) - 0x20000\] -count=64k | hexdump\ -dd if=top64k.bin of=coreboot.rom bs=1 seek=\$\[\$(stat -c %s -coreboot.rom) - 0x20000\] count=64k conv=notrunc\ +applied!): + + dd if=coreboot.rom of=top64k.bin bs=1 skip=\$\[\$(stat -c %s coreboot.rom) - 0x10000\] count=64k + dd if=coreboot.rom bs=1 skip=\$\[\$(stat -c %s coreboot.rom) - 0x20000\] count=64k | hexdump + dd if=top64k.bin of=coreboot.rom bs=1 seek=\$\[\$(stat -c %s coreboot.rom) - 0x20000\] count=64k conv=notrunc + (doing this makes the ROM suitable for use when flashing a system that still has Lenovo BIOS running, using those instructions: <http://www.coreboot.org/Board:lenovo/x60/Installation>. diff --git a/docs/misc/index.md b/docs/misc/index.md index 02e715d8..51c53c2c 100644 --- a/docs/misc/index.md +++ b/docs/misc/index.md @@ -130,6 +130,8 @@ You can set values: sudo intel_reg write 0x00061254 your_value_in_C_hex_format +NOTE: on older versions of this utility, use `intel_reg_write` instead. + The value set has the following structure: bits \[31:16\] is PWM divider. PWM / PWM\_divider = frequency bits \[15:0\] is the duty cycle and determines the portion of the backlight modulation frequency. A @@ -164,6 +166,8 @@ Next this value should be set at boot: either add intel_reg write 0x00061254 <your_ideal_value> +NOTE: on older versions of this utility, use `intel_reg_write` instead. + before exit 0 in /etc/rc.local or create a systemd service file /etc/systemd/system/backlight.service: [Unit] diff --git a/docs/release.md b/docs/release.md index 0cfdf8ef..f8300ac7 100644 --- a/docs/release.md +++ b/docs/release.md @@ -77,7 +77,7 @@ Machines supported in this release: - It is unknown whether a T61 can have it's mainboard replaced with a T60 motherboard. - See ***docs/future/\#t60\_cpu\_microcode***. - - T60P (and T60 laptops with ATI GPU) will likely never be + - T60p (and T60 laptops with ATI GPU) will likely never be supported: ***docs/hardware/\#t60\_ati\_intel*** - **ThinkPad X200** - X200S and X200 Tablet are also supported, conditionally; see @@ -228,7 +228,7 @@ Machines supported in this release: - It is unknown whether a T61 can have it's mainboard replaced with a T60 motherboard. - See ***docs/future/\#t60\_cpu\_microcode***. - - T60P (and T60 laptops with ATI GPU) will likely never be + - T60p (and T60 laptops with ATI GPU) will likely never be supported: ***docs/hardware/\#t60\_ati\_intel*** - **ThinkPad X200** - X200S and X200 Tablet are also supported, conditionally; see @@ -450,7 +450,7 @@ Machines supported in this release: - It is unknown whether a T61 can have it's mainboard replaced with a T60 motherboard. - See **future/\#t60\_cpu\_microcode**. - - T60P (and T60 laptops with ATI GPU) will likely never be + - T60p (and T60 laptops with ATI GPU) will likely never be supported: **hardware/\#t60\_ati\_intel** - **Lenovo ThinkPad X200** - X200S and X200 Tablet are also supported, conditionally; see @@ -658,7 +658,7 @@ Machines supported in this release: - It is unknown whether a T61 can have its mainboard replaced with a T60 motherboard. - See **future/\#t60\_cpu\_microcode**. - - T60P (and T60s with ATI GPU) will likely never be supported: + - T60p (and T60 variants with ATI GPU) will likely never be supported: **hardware/\#t60\_ati\_intel** - **Apple MacBook1,1** (MA255LL/A, MA254LL/A, MA472LL/A) - See **hardware/\#macbook11**. @@ -737,7 +737,7 @@ New systems supported in this release: **hardware/\#supported\_t60\_list** for known working LCD panels. - It is unknown whether a T61 can have its mainboard replaced with a T60 motherboard. - - T60P (and T60s with ATI GPU) will likely never be supported: + - T60p (and T60 variants with ATI GPU) will likely never be supported: **hardware/\#t60\_ati\_intel** - **Apple MacBook1,1** (MA255LL/A, MA254LL/A, MA472LL/A) - See **hardware/\#macbook11**. @@ -1088,7 +1088,7 @@ Revisions for r20140711 (1st beta) (11th July 2014) - Documentation: added a copy of Mono's Coreboot page (for macbook21) and linked it in main index. - T60: Copy CD option from the grub.cfg files for T60 \*serial\*.rom - images into the grub configs for non-serial images. (T60s have + images into the grub configs for non-serial images. (T60 laptops have CD/DVD drive on main laptop) - macbook21: remove options in build-macbook21 for \*serial\*.rom (there is no dock or serial port available for macbook21) @@ -1100,8 +1100,8 @@ Revisions for r20140711 (1st beta) (11th July 2014) - Documentation: Added info about getting LCD panel name based on EDID data. - Documentation: Added a link to this from the list of supported - T60s and LCD panels for T60 (so that the user can check what LCD - panel they have). + T60 laptopss and LCD panels for T60 (so that the user can check + what LCD panel they have). - X60/T60: Merged patches for 3D fix (from Paul Menzel) when using kernel 3.12 or higher (see ./resources/libreboot/patch/gitdiff and ./getcb) @@ -1237,7 +1237,7 @@ Revisions for r20140711 (1st beta) (11th July 2014) put in the coreboot configs - Documentation: In fact, document how the 'config' files in resources/libreboot/config/ were created -- Documentation: Added information about which ThinkPad T60s are +- Documentation: Added information about which ThinkPad T60 laptops are supported, and which are not. - Documentation: added information about LCD inverters (for upgrading the LCD panel on a T60 14.1' XGA or 15.1' XGA) |