-
Notifications
You must be signed in to change notification settings - Fork 23
Compiling Libreboot with SeaBIOS
Note: This method is outdated, since Libreboot has integrated a modified SeaBIOS into it's latest builds, so a VGABIOS is no longer required.
Libreboot uses the GRUB2 payload in it's Coreboot image. However, SeaBIOS may be necessary to boot non-Linux operating systems.
-
Install the packages needed to build Coreboot.
sudo apt-get install libncurses-dev iasl libc6-dev-i386 svn
-
Grab a copy of the Libreboot source code.
-
In the
coreboot
folder, change the entirePayload
section in.config
to the text shown below. This will embed SeaBIOS into coreboot, rather than GRUB2.# # Payload # CONFIG_PAYLOAD_SEABIOS=y CONFIG_SEABIOS_STABLE=y CONFIG_PAYLOAD_FILE="$(obj)/seabios/out/bios.bin.elf" CONFIG_COMPRESSED_PAYLOAD_LZMA=y
-
Then, just run
make
to build thecoreboot.rom
file.make
-
Copy the compiled
coreboot.rom
file to theflashrom
source code folder.
- Trisquel Forums - X60 Flashing Guide is hard to understand
- Coreboot Wiki - Compiling Coreboot
- Coreboot Wiki - Fchmmr's Guide to compiling Coreboot for X60 with GRUB2 Payload and no nonfree binaries
This step is REQUIRED if you are flashing Coreboot for the first time. Otherwise, the ROM might overwrite some portions of the BIOS protected by bucts 1
.
-
Copy the
coreboot.rom
file inX60_source
to theflashrom
source code folder. -
Run the
dd
command below to shift the first 64K of data fromcoreboot.rom
.dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
-
Run the dd command below to display the first 64k of
coreboot.rom
.dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
-
Verify that the complete range is filled with
ff
bytes before proceeding.
The output of the
dd
command above must EXACTLY match the text below. If not, the coreboot image needs to be rebuilt with the second-to-last 64kbyte block unused.
0000000 ffff ffff ffff ffff ffff ffff ffff ffff
*
0010000
-
Run the
dd
command below:dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc
- gmane.linux.bios Mailing List - LinuxBIOS on T60 - Peter Stuge's Method of installing Coreboot on the X60.
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.