106 lines
2.6 KiB
Markdown
106 lines
2.6 KiB
Markdown
# x220 Coreboot Setup
|
|
|
|
|
|
Configuration and helper script for easy build, assembly and installation of Coreboot on the Thinkpad X220
|
|
|
|
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
|
|
|
|
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)
|
|
|
|
The font **DejaVuSans Mono** is used in GRUB and is licensed under [a free license](https://dejavu-fonts.github.io/License.html)
|
|
|
|
Converted to bitmap with the following command
|
|
|
|
grub/grub-mkfont --size=24 --bold -o "misc/dejavusansmono.pf2" /usr/share/fonts/TTF/DejaVuSansMono.ttf
|
|
|
|
|
|
## Licensing
|
|
|
|
This entire project is licensed under the [GNU General Public License Version 3](https://notabug.org/Velsoth/x220-coreboot/raw/master/LICENSE.md)
|