x220-coreboot/README.md

106 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2017-06-01 18:19:43 +00:00
# x220 Coreboot Setup
2017-06-03 17:22:40 +00:00
Configuration and helper script for easy build, assembly and installation of Coreboot on the Thinkpad X220
2017-06-01 18:19:43 +00:00
This setup keeps the descriptor, gbe config and Intel ME from the stock BIOS, neutralizes the Intel ME by removing most of its partitions with [me_cleaner](https://github.com/corna/me_cleaner) and prepares a flash image with [Coreboot](https://www.coreboot.org/) using [SeaBIOS](https://www.seabios.org)+[GRUB](https://www.gnu.org/software/grub/) with LUKS+LVM support as the default payload
Usage:
./cb-helper operation [parameters]
Alternatively the **auto-run** script can be launched to automatically run through all the operations in order, provided a valid BIOS stock image as been placed in "binaries/bios.bin"
## Configs
**coreboot.config** - Coreboot build configuration
**grub.config** - GRUB build configuration
**grub.cfg** - GRUB configuration and boot menu
**grub_memdisk.cfg** - GRUB configuration inside the memdisk
**grub_modules.conf** - GRUB modules, installed and loaded
## Operations
**download_code**
Download repositories for Coreboot, GRUB and me_cleaner
**build_utils**
Build useful utilities like cbfstool and idftool
**split_bios**
Splits the stock bios ("binaries/bios.bin") into descriptor, gbe configuration and Intel ME
**neuter_me**
Neutralize Intel ME by removing most of its partitions using me_cleaner
**pre_build_coreboot**
Copy config files and build Coreboot's toolchain
**build_coreboot**
Build Coreboot
**build_grub**
Build GRUB
**assemble_grub**
Assembles configurations and resources in a nice usable GRUB payload
**config_seabios**
Configure SeaBIOS to boot GRUB directly from the CBFS volume
**install_grub**
Install the GRUB payload and configuration in the CBFS volume
**flash** operation programmer
Read or write flash chips with a multitude of programmers
Valid operations: check, read, write
Valid programmers: internal, ftdi, u2, rpi
## Attribuition
2017-06-02 23:12:43 +00:00
config/**grub.cfg**, config/**grub_modules.conf** and misc/**usqwerty.gkb** are based on their [Libreboot](https://libreboot.org/) counterparts which are released under the [GNU GPLv3](https://notabug.org/libreboot/libreboot/raw/master/COPYING)
2017-06-01 18:19:43 +00:00
2017-06-02 23:12:43 +00:00
The font **DejaVuSans Mono** is used in GRUB and is licensed under [a free license](https://dejavu-fonts.github.io/License.html)
2017-06-01 18:19:43 +00:00
Converted to bitmap with the following command
grub/grub-mkfont --size=24 --bold -o "misc/dejavusansmono.pf2" /usr/share/fonts/TTF/DejaVuSansMono.ttf
2017-06-02 23:12:43 +00:00
## Licensing
This entire project is licensed under the [GNU General Public License Version 3](https://notabug.org/Velsoth/x220-coreboot/raw/master/LICENSE.md)