-
Notifications
You must be signed in to change notification settings - Fork 23
T60p Build Coreboot
This method embeds a proprietary VGABIOS into Coreboot. Coreboot can also be built with SeaBIOS or a GRUB2 payload (used in Libreboot).
We recommend using the GRUB2 Payload; Libreboot has already integrated SeaBIOS into it.
In this method, SeaBIOS will be used. SeaBIOS will display perfectly unlike on Libreboot, since it is able to use the proprietary VGABIOS.
-
Install all the packages required to build Coreboot:
sudo apt-get install libncurses-dev iasl libc6-dev bison flex git zlib1g-dev gnat
-
Then, clone the Coreboot source code with Git:
git clone https://review.coreboot.org/coreboot.git cd coreboot git submodule update --init --checkout
Note: We will borrow Libreboot's T60 config file, which has all the options set up for us.
-
Download and extract the Libreboot source code.
-
Obtain the T60 Coreboot
config
file, found under thelibreboot_src/resources/libreboot/config/t60
folder. -
Copy that
config
file to thecoreboot/
source code folder. -
Rename
config
to.config
, with a dot at the beginning..config
will become a hidden file. -
Choose between the two payloads below: Coreboot's default SeaBIOS, or Libreboot's GRUB2.
This section will use SeaBIOS as the payload, which can run MBR bootloaders. (If you want to use GRUB2 as the payload instead, check this section)
-
Edit the
.config
file with a text editor. (you may need to use the command line andnano
to do so, since it is a hidden file) -
Find the
Payload
section (use Ctrl-F), and replace the entire section with the following:
#
# Payload
#
CONFIG_PAYLOAD_SEABIOS=y
CONFIG_SEABIOS_STABLE=y
CONFIG_PAYLOAD_FILE="payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
CONFIG_COMPRESSED_PAYLOAD_LZMA=y
-
From the
coreboot
folder, use this command to visually configure the.config
file.make menuconfig
-
SeaBIOS automatically detects and runs VGABIOS binaries on it's own. Please make sure Devices -> Run VGA Option ROMs is disabled.
-
Copy over the
vgabios.bin
file (from wherever it was saved) to thecoreboot/
folder. -
From the
coreboot/
folder, use this command to visually configure the.config
file.make menuconfig
-
Enter the VGABIOS menu, and enable the following settings, as shown in the following example.
VGA BIOS ---> [*] Add a VGA BIOS image (vgabios.bin) VGA BIOS path and filename (1002,7145) VGA device PCI IDs
Warning: Make sure to use the VGA PCI IDs found from [[extracting the
vgabios.bin
|T60p Extract VGABIOS]]), each one is unique.
-
Now exit configuration, and run
make crossgcc
to build the Coreboot toolchain. (The Coreboot toolchain is used since many distro toolchains have been modified and are incompatible with Coreboot)make crossgcc
-
Run
make
to build coreboot.make
-
Finally, we need to patch the compiled
coreboot.rom
so that it does not overwrite the Lenovo BIOS (protected bybucts 1
). This step is very important! It provides a safety net in case Coreboot does not run the first time.cd build 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
-
Flash that Coreboot ROM by following these instructions.
- Source: Coreboot Wiki - VGA Support
Coreboot is an open source, user configurable BIOS. However, it does use a few proprietary blobs here and there.
These require hardware flashing. Due to Intel Management Firmware, proprietary blobs are required for newer Intel motherboards to even power up.
-
ThinkPad T430/X230
- xx30 BIOS Whitelist Removal
- xx30 BIOS Mod with Old Keyboard - Since Libreboot's ROMs each can use a different keyboard layout, would it be possible to modify Coreboot to work with the old xx20 keyboard? Or just mod the official BIOS to do so?
- ThinkPad X201
- ThinkPad T60p (ATI GPU)
- ThinkPad T22 - Back when Coreboot was known as "LinuxBIOS", they installed it on a ThinkPad T22 for Richard Stallman.
Most Intel Chromebooks come with Coreboot preinstalled. SeaBIOS can optionally be installed to add Windows support.
Just use John Lewis's Installation Script for All Models to autoinstall.
-
Chromebook Coreboot Installation - Install Coreboot + SeaBIOS for 2nd gen laptops. Not necessary for 3rd gen.
- Acer C7 Chromebook
- Toshiba Chromebook 2 - The only 13-inch model around with an FHD 1920x1080 IPS screen.
- Samsung Series 5 550
- Acer C720 Chromebook
- ThinkPad X131e Chromebook
- Install Typical BIOS
- Chromebook Pixel
NOTE: The Libreboot components of this wiki was divested into the Official Libreboot Documentation here. Please use that from now on.
Libreboot laptops are certified by the FSF to protect your freedom.
They contain no proprietary blobs of any kind, and have the best support for FSF certified GNU/LInux.
- Customizing Libreboot
- X60 T60 Hardware Flashing
- X200 X201 Hardware Flashing
- Installing Trisquel with Full Disk Encryption
- BIOS Flashchip Identification Method
- Phoenix BIOS Crisis Recovery - (under research) Software method for recovering the factory BIOS, even if you lost the original dump.