Configuration and helper script for easy build, assembly and installation of Coreboot on the Thinkpad X220
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Fivel Sotheby 185a6b78a2 [Coreboot] Checkout a specific revision 1 month ago
binaries Initial commit 2 years ago
config [GRUB.CFG] Vanilla Linux LTS and GRSEC entries 2 years ago
misc Initial commit 2 years ago
.gitignore Ignore source and build folders 1 month ago
LICENSE.md [README] Switch license from plaintext to markdown 2 years ago
README.md [README] Switch license from plaintext to markdown 2 years ago
cb-helper [Coreboot] Checkout a specific revision 1 month ago

README.md

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 and prepares a flash image with Coreboot using SeaBIOS+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 counterparts which are released under the GNU GPLv3

The font DejaVuSans Mono is used in GRUB and is licensed under a free license

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