Go to file
Ricard Illa 5d950fc295
feat: added support for non-free version
2023-04-27 14:14:10 +02:00
.gitignore feat: added gitignore 2023-03-16 17:49:37 +01:00
LICENSE added license 2022-08-29 16:03:22 +02:00
Makefile feat: added support for non-free version 2023-04-27 14:14:10 +02:00
README.md Update 'README.md' 2022-08-31 17:18:57 +02:00
bootsplash.jpg initial commit 2022-08-29 15:57:30 +02:00
bootsplash.xcf initial commit 2022-08-29 15:57:30 +02:00
coreboot-sdk.sh feat: added support for non-free version 2023-04-27 14:14:10 +02:00
free-defconfig-db4b71ff10 feat: updated coreboot and sdk version 2023-03-16 17:49:22 +01:00
layout.txt initial commit 2022-08-29 15:57:30 +02:00
nonfree-defconfig-db4b71ff10 feat: added support for non-free version 2023-04-27 14:14:10 +02:00
vgabios.bin feat: added support for non-free version 2023-04-27 14:14:10 +02:00

README.md

coreboot-builder

This is what I use to build my coreboot images. It is heavily based on the scripts and configurations used by skulls. But simplified to support only my very specific hardware and preferences. This makes it leaner to use and easier for me to understand it, so it's easier to customize (for example, if I want to change the boot order).

Currently I have only one config for my Thinkpad X230; capibara, and I use a the "free" config (with the VGA BIOS SeaVGABIOS instead of the Intel one).

Build process

I use a Makefile to orchestrate cloning the coreboot code, checking out the right commit, compiling the image, flashing it, etc. The coreboot SDK is run from a docker image because I couldn't manage to compile everything otherwise.

Splash screen

For an X230 the splash screen image needs to be a JPEG using:

  • with "progressive" turned off
  • "4:2:0 (chroma quartered)" Subsampling
  • 1024px wide and 768px tall

But the X230 screen happens to be 16:9 (1366px wide, 768px tall). When the SaBIOSVABIOS is used, the image is just shown centered in the screen, with black blocks on each side. When the Intel VGA is used, the image is stretched to fill the whole 1366 x 768 screen. So make sure to plan accordingly to make the image look right.

Also, the SeaBIOS VGA seems to show weird colors when booting. I don't know how to fix that, so I just keep the image pure black and white to make it look decent.

Updates

I try to follow skull's releases and update the coreboot commit, sdk version and config as they do it.

Last release happened on 2022/05/03.

Flashing

Before flashing, the system needs to boot with the kernel parameter iomem=relaxed.

  • Reboot the computer
  • When the GRUB screen appears, press e to edit the startup command
  • Append iomem=relaxed to the kernel command
  • Press ctrl-x or F2 to boot the system with the modification
  • Then flash the new image with:
flashrom \
    --force \
    --noverify-all\
    -p internal \
    --layout layout.txt \
    --image bios \
    -w build/coreboot_top_prepared_12mb.rom