rootware.net
(not affiliated with any other websites, rootware.net is my only domain.)
i buy and fix old computers, i also make small guides on specific laptops
index / github / software / guidesLibreboot build guide
This is my libreboot rom build guide, as the official documentation did not work for me. Although i do still recommend using the official doc's.
First install every dependency (THIS IS FOR DEBIAN, I TRIED 3 DIFFERENT DISTRIBUTIONS WITH NO SUCCESSION)sudo apt install --no-install-recommends acpica-tools autoconf autogen automake autopoint autotools-dev bc binutils-arm-none-eabi bison build-essential cmake curl device-tree-compiler doxygen e2fsprogs efitools flex fonts-unifont gawk gcc-arm-linux-gnueabi gcc-arm-none-eabi gcc-multilib gdb gettext git gnat help2man imagemagick innoextract libc6-dev-i386 libdevmapper-dev libfdt-dev libfont-freetype-perl libfreetype-dev libftdi-dev libftdi1-dev libfuse-dev libjaylink-dev libgnutls28-dev libgpiod-dev liblz4-dev liblzma-dev libncurses5-dev libncurses-dev libnewlib-arm-none-eabi libopts25 libopts25-dev libpci-dev libpython3-dev libsdl2-dev libselinux1-dev libssl-dev libstdc++-arm-none-eabi-newlib libtool libusb-1.0-0 libusb-1.0-0-dev libusb-dev lz4 lzma lzma-alone m4 make nasm openssl 7zip parted pciutils perl pkg-config python3 python3-distutils-extra python3-pkg-resources python3-pycryptodome python3-pyelftools python3-setuptools python-is-python3 sharutils swig unar unifont unifont-bin unzip uuid-dev wget xfonts-unifont zlib1g-dev g++-mipsel-linux-gnu genisoimage mtools libx86-1 libx86-dev autoconf-archive
Then clone the repo and change dir into it:
git clone https://codeberg.org/libreboot/lbmk && cd lbmk
!!!CONFIGURATION!!!
Run the mk script to get a list of all the currently supported libreboot devices./mk -b coreboot list
For me I will be building a rom for the T60 thinkpad so i use t60_intelgpu, To configure your rom configuration you can run
./mk -m coreboot t60_intelgpu
Ofcourse its not just limited to the t60 and you should put your device you got from the coreboot list in the place of 't60_intelgpu'
If your including payloads like coreDOOM then you should put your .wad files inside of src/coreboot/default/, Beware of the file size as most bios chips are limited to under 64MB and are different on each device
!!!ME_CLEANER!!!
This is something that stuffed my build up the first time i ran it, In the make menu you should NOT select 'Strip down the Intel ME/TXE firmware' as the mk script already does this and pulls in a valid IntelMe file which has been stripped to the bare minimum to allow your pc to run. Enabling this will give you an error at the end of your build and not succeed in getting a finished rom file.!!!BUILDING!!!
Once you have configured your rom with payloads and whatnot you can start building the rom, To build your device run:./mk -b coreboot t60_intelgpu
The rom should build correctly and will be put in 'bin/(your device)/' which you can then use to flash your bios chips.
!!!BIOS FLASHING!!!
1. If you dont backup your rom with you can brick your device.
2. Alot of people say that using the ch341a black will fry your bios chip since it runs at 5V, this is not true and you are perfectly fine to use a ch341a.
Backing up your roms
To back up your original bios rom you can run
"sudo flashrom -p ch341a_spi -r backup.rom"
And if youd like to use flashprog with a rasp pi pico and a ponoma clip like i am in the photo, the command is
sudo flashprog -p serprog:dev=/dev/ttyACM0:115200 -r backup.rom
Next is actually writing your rom file, for flashrom to write coreboot.rom then use:
sudo flashrom -p ch341a_spi -w coreboot.rom
And for flashprog use the command:
sudo flashprog -p serprog:dev=/dev/ttyACM0:115200 -w coreboot.rom