/r/libreboot
The Libreboot project provides free, open source (libre) boot firmware based on coreboot, replacing proprietary BIOS/UEFI firmware on specific Intel/AMD x86 and ARM based motherboards, including laptop and desktop computers. It initialises the hardware (e.g. memory controller, CPU, peripherals) and starts a bootloader for your operating system. Linux and BSD are well-supported. Help is available via #libreboot on Libera IRC.
Libreboot is a free (libre) BIOS/UEFI replacement. Based on coreboot, the aim is to distribute low-level boot firmware that is 100% free software, and easy to use.
To report a bug, go here: https://notabug.org/libreboot/libreboot/issues
For support and troubleshooting join irc channel: #libreboot at freenode
To avoid spam, we require that your user account is at least over 24 hours old.
/r/libreboot
when using lbmk to create a x200 rom is the ime still compiled into the rom even tho its not needed and if so how do i remove it
can the libreboot load microcode during startup without a kernel effecting it
how do i tell lbmk to create a seabios with grub x200 rom
are there any advantages to having the ime blobs
im trying to get my computer to a point where im happy with it ive already put alot of work into it and id appreciate some help
As the title says, I am trying to make sure I am getting the right rom for flashing a thinkpad t440p purchased from amazon linked below. https://a.co/d/5FrPIzP
In the repository located at stable/20240612/roms is a rom called libreboot-20240612rev1_t440plibremrc_12mb.tar.xz is this the correct rom for the laptop?
There are several other roms that say t440p besides this one but with .sig at the end, is there a difference between them?
I cannot find a way to install flashprog in debian. Any help would be greatly appreciated.
I'm a linux noob
Last few testing releases for 8MB X200 ThinkPad have a roughly minute delay booting Linux Mint. Is this a feature or a flaw?
I get this error when trying to make flashprog:
tobi@Tobi-ThinkPad-X220:~$ cd /home/tobi/flashprog
tobi@Tobi-ThinkPad-X220:~/flashprog$ make
Replacing all version templates with p1.2-4-g768cfc4.
Building flashprog version p1.2-4-g768cfc4
C compiler found: cc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
Target arch: x86
Target OS: Linux
Target endian: little
Dependency libpci found: yes 3.10.0
Checking for old "pci_get_dev()": no
CFLAGS: -I/usr/include/x86_64-linux-gnu
LDFLAGS: -lpci -lz -lresolv -ludev
Dependency libusb1 found: yes 1.0.27
CFLAGS: -I/usr/include/libusb-1.0
LDFLAGS: -lusb-1.0 -ludev
Dependency libjaylink found: no
Dependency NI-845x found: no
Dependency libftdi1 found: no
Dependency libgpiod found: no
Checking for header "mtd/mtd-user.h": yes
Checking for header "linux/spi/spidev.h": yes
Checking for header "linux/i2c-dev.h": yes
Checking for header "linux/i2c.h": yes
Checking for header "sys/utsname.h": yes
Checking for function "clock_gettime": yes
Checking for external "librt": yes
The following features require libftdi1: CONFIG_FT2232_SPI=yes CONFIG_USBBLASTER_SPI=yes
The following features require libgpiod: CONFIG_LINUX_GPIO_SPI=yes
The following features require libjaylink: CONFIG_JLINK_SPI=yes
You can disable individual features with CONFIG_feature=no in your make command.
make: *** [Makefile:973: config] Error 1
Currently trying to set the MAC adress on a Latitude E6400, with supposedly intel ME disabled by dell from the factory, for internal flashing.
Therefore i compiled flashprog and am advised to extract the "internal region" using "sudo flashprog -p internal -r rom.bin" which errors out with "flash descriptor ... readonly" and "ME region ... locked" see here: https://pastebin.com/raw/0EbVpZ3a
My grub config has "iomem=relaxed" set - any advice on what to do here?
Edit: also advised "https://flashprog.org/ME" 404's
Edit2: do i first need to use "dell-flash-unlock"? Counterintuitive as its advised for use later - dont wanna experiment with this - rather stick to the guide.
Libreboot instructions tell me to "Copy the file rpi-pico-serprog.uf2 into your Pico."
This file is not present in https://codeberg.org/libreboot/pico-serprog
I tried the instructions from this reddit comment. But I get this output:
make is installed: https://imgur.com/a/UjXDAJW
Hello all,
I librebooted my T440p and the SD card reader doesnt work. I've tried two seperate SD cards and my Debian 12.7 doesnt detect either. The SD card doesnt show up in `fdisk -l` nor does it show up in `lspci -vv`.
Has anyone else had this issue? Maybe it is a libreboot/coreboot related bug?
Subj.
1. What You Will Need:
• A Raspberry Pi (preferably Pi 3 or later for easier setup).
• An SOIC8 clip to connect to the BIOS chip.
• Dupont wires for connecting the clip to the Raspberry Pi.
• A microSD card for the Raspberry Pi’s operating system.
• A secondary computer to prepare the files and handle the initial steps.
• Libreboot ROMs.
• Software: flashrom on Raspberry Pi for flashing the BIOS.
2. Preparing the Raspberry Pi
First, install Raspberry Pi OS and update all packages by running the following commands:
sudo apt update && sudo apt upgrade -y
Next, install flashrom:
sudo apt install flashrom
3. Connecting the Raspberry Pi to the BIOS Chip
Remove the battery and the back cover, then locate the BIOS chip, which is often near the RAM sticks (it’s a SOIC8 chip).
You’ll need a SOIC8 clip to connect the BIOS chip to the Raspberry Pi. The connections are as follows:
• Pin 1 (3.3V) → VCC
• Pin 9 (GND) → GND
• Pin 19 (MOSI) → MOSI
• Pin 21 (MISO) → MISO
• Pin 23 (SCLK) → CLK
• Pin 24 (CE0) → CS#
Make sure the connection is secure.
4. Reading the Original ROM
Before flashing Libreboot, make a backup of the original BIOS:
sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -r original_bios.rom
Store this file somewhere safe in case something goes wrong.
5. Downloading Libreboot
On your secondary computer, download the Libreboot ROMs:
git clone https://codeberg.org/libreboot/lbmk
cd lbmk
6. Preparing the Libreboot ROM
You will need to patch the release ROM with the necessary vendor files. To do this, use the following command:
./vendor inject /path/to/libreboot-RELEASE_targetname.tar.xz
Alternatively, if you want to patch a specific ROM file, use:
./vendor inject -r t440p_libreboot.rom -b t440plibremrc_12mb
If you want to modify the MAC address:
./vendor inject -r t440p_libreboot.rom -b t440plibremrc_12mb -m 00:f6:f0:40:71:fd
7. Splitting the ROM
After preparing the ROM, split it into two parts for flashing:
dd if=libreboot.rom of=top.rom bs=1M skip=8
dd if=libreboot.rom of=bottom.rom bs=1M count=8
8. Flashing the ROM
Now, flash the ROM to the two BIOS chips:
For the top chip:
sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -w top.rom
For the bottom chip:
sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -w bottom.rom
9. Reassembling the Laptop
After flashing, disconnect the Raspberry Pi, reassemble the laptop, and boot it up. Your ThinkPad should now be running Libreboot.
i have a thinkpad x200 librebooted with arch linux on. How can i remove beep codes? I see people saying that you can do that in the bios..
I have a ThinkPad T440p running Skulls implementation of coreboot. Using the skulls script is very straightforward for updating. Is the process for updating Libreboot also straightforward? This year Skulls has only received an update in February which has led me to seek alternatives with more active development. What are Libreboot's pros and cons compared to Skulls? Should I make the switch?
Furthermore, since Skulls is already installed and the BIOS was left unlocked (it can be updated via software, no more physical chip flashing necessary), what would the Libreboot installation process be in this case?
I now have a librebooted x230 thinkpad (as you may have seen from my prievous post) but I am trying to figure out how to change the bootscreen/splashscreen image as right now it's black.
From what I have found online, some say I need to just put an image file in the rom then flash it but I have also seen I need to change the grub.cfg. I have tried inserting the image into the rom and flashed it and that didn't work.
Does anyone know how to do this?
Thanks, any help is greatly appreciated.
Why devs cant use it on modern devices?
https://libreboot.org/docs/install/hp8560w.html
I noticed that the hp 8560w lacks support for internet. I was wondering if it supports enternet or a usb WiFi? I'm considering getting one of these hp 8560w for myself as I'm in need of a decent workstation laptop. Something powerful cheap and easily fixable. I'm also wondering with the external bios would I be able to use any MxM GPU? As far as I know the hp laptop is limited to HP MxM GPUs, The quadro 1000m is fine but I would love to stick a gtx 970m in there.
Hi everyone, I’ve run into some trouble while trying to Libreboot my X230 and could use some advice.
Initially, I couldn’t flash the original BIOS chips, so I ordered new ones from DigiKey. These chips are commonly used in other X230 boards and are supposed to be more compatible with flashrom. However, I had issues using my Raspberry Pi 3 to flash them—it’s likely that my Pi is damaged, which might explain why I couldn’t flash the chips properly.
I then switched to a CH341A programmer. I’m aware it’s not the best option, but since I was flashing blank chips outside of the board, I wasn’t too worried about the potential damage. The flashing process appeared successful, and I soldered the chips back in. But, after reassembly, the laptop wouldn’t post.
Here’s what happens:
I double-checked my soldering, and all pins seemed to have a solid connection with the board. I also attempted to flash a known good BIOS dump, which worked fine.
I’ve tried different BIOS versions and Libreboot images, including both prebuilt ones and those I built myself. I also performed the vendor inject as required, but I’m still stuck with no post.
Now, I suspect that I might have killed the three sets of chips I’ve been working with due to my earlier attempts(writing to the chips with flashrom gives an error every time). So, I’ve ordered 10 new sets of chips, and I’ve upgraded to a newer CH341A programmer that allows voltage control (v1.7).
At this point, I’m unsure what else could be causing the issue. Any insights or suggestions would be greatly appreciated!
I recently fixed a X230 ThinkPad with a motherboard that's flashed with coreboot. Is there a way to internally flash it and change it to libreboot or do I have to externally flash it. If it is only libreboot that has to be externally flashed and coreboot can be internally flashed, could someone explain to me how?
Any help is much appreciated. Thanks.
Hello everyone,
I'm experiencing an issue with my system.
I have Ubuntu 24.04.1 LTS installed on an SSD, with 8GB of DDR3 RAM and a Core 2 Quad Q9100. I was on a 2021 release of libreboot and uptated to 20241008 recently. I already had this problem before updating and it still persists after the update. I tried another SSD but its the same.
When I boot the laptop, I see the Libreboot menu and select the first option to boot the OS. Immediately after, I get a black screen and nothing happens for about 1-2 minutes. During this time, the HDD activity LED doesn’t light up, and I hear a noise that sounds like coil whine. It seems like the system is waiting for something.
After that, the noise stops, and the OS begins to boot. I also notice the HDD LED starts flashing at this point.
Once booted its fine, the disk is fast. Booting is slow and I dont know if there is a problem with my system or not.
Maybe others libreboot users had the same issue and found a fix ?
Hello everybody,
I'm about to flash my X230 with Libreboot.
Does any of you had tried a recent Libreboot on X230 with dock station successfully working?
Any particular issue?
Mine are Mini Dock serie 3 type 4337 & Mini Dock Plus serie 3 4338.
Thanks for your feedback.
Cheers
Hey, I’ve recently got my hands on a x230 ivy bridge ThinkPad and I think I’m finally comfortable enough to attempt installing libreboot on it. Since this will be my first time doing this sort of thing I kindly ask any of the more experienced libreboot enthusiasts for some tips/advice in this field. I’ve read the wiki page and the things listed there are pretty straight forward and clear. Although I haven’t yet found a list of specific system components/features that work and don’t work on my specific device in the documentation.
TLDR - It’s my first attempt at installing libreboot on any kind of system. I’m asking for some tips/advice for a newbie like me. If anyone could provide me with the list of supported system components with libreboot on x230 it would be much appreciated.
I spent the whole day installing Libre on my Thinkpad X220 and I finally got it working.
When I first booted into my OS, I tried the IntelME Tool recommended by Coreboot, and I got the following output:
"Bad news... you have ME hardware on board"
"ME PCI device is hidden" "Error mapping physical address memory 0x00000000fed1c000... Operation not permitted"
"Do you have kernel cmdline argument "iomem relaxed"? "Error reading RCBA"
I tried adding the iomem line to the grub.cfg file, I then ran grub-mkconfig, rebooted and it still gave me the same message. Is there any way to fix this?
As for the ME hardware, the X220 comes with a QM67 LPC controller, which means that the only way of getting rid of it is NOT buying this model, right?
On the official guide, it's stated: "Intel ME firmware: all Sandy/Ivy/Haswell boards. Libreboot’s build system runs me_cleaner to neuter the Intel ME, so that it’s disabled after BringUp." Then why do I get this message??
I got two A1181 Macbooks from a yard sale & I wasn't sure if they were going to be the Macbook 1,1 (Core Duo) or the Macbook 2,1 (Core Two Duo). I did found out that they were Intel Core Two Duo's by looking at the EMC version online.
I searched the EMC 2300 and 2330, but from looking online, I ended up having 2 2009 Macbook 5,2 which is not on the Libreboot hardware compatibly list.
This revision has a NVIDIA GEFORCE 9400M GPU (this is not on Libreboot but if it was, it would need the NVIDIA blobs to make this work) and the ram can be max out to 4GB or 6GB (*Apple officially supports a maximum of 4 GB of RAM but third-parties have been able to upgrade the system to 6 GB of RAM using one 2 GB and one 4 GB memory module.) *Go to sources for specs
So anything after 2,1 (or the EMC Verison is after 2139) is not supported or has not been tested on Libreboot.
The Macbook lineup had revisions of same Macbooks but with different CPU or parts that were added on later Macbooks.
So even if it you have the A1181 and you know that it has a Core Two Duo, it doesn't mean you have the right one that's supported on Libreboot.
You need to check the EMC version by taking out the battery and looking at the label that Apple provides for you.
To check if you got the right EMC version on Libreboot, go to this link:
https://libreboot.org/docs/install/macbook21.html
I hope this helps people who have Macbook A1181 and want to know if they have the right one. I thought that I had the model but I didn't from a quick search. Maybe some day we will have these Macbooks supported on Libreboot. They have Core Two Duos after all. So it is possible.
*Sources:
EMC 2300:
EMC 2330:
Hello everyone,
I sincerely apologize if I am posting too much but I am yet again having another issue with my machine. I cannot seem to install the required `gcc-arm-linux-gnueabi` for my Raspberry Pi 2. It does not appear as if the package is supported on armhf but is a listed dependency for lbmk.
Is there any other method I can utilize to install this application? Is it required to utilize Libreboot? Thank you so much for your help.
I have the Dell Optiplex 9020 SFF. It worked just fine with the iGPU, but it was a bit slow so I stuck a new Radeon RX 6400 graphics card into it. When I try to boot into graphical environments from SeaBIOS it won't boot. Do I need to insert a vbios blob? It boots Debian from GRUB, but any graphical environments cannot boot directly from SeaBIOS and it seems not even Debian's GRUB cannot boot from SeaBIOS. I use the textmode ROM and have tried to extract the vbios from a running linux system. I took the extracted vbios binary and used coreboot's menuconfig to alter Libreboot's coreboot config so the blob was included. I used "Insert VGA BIOS" and set the correct PCI IDs. There was also an option for using a discrete GPU vbios, should I use that instead?
Hello everyone!
I am struggling to flash my T400 with LibreBoot. Upon installing flashprog (from source on their website) I get the following error:
dietpi@DietPi:/flashprogs$ sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 flashprog p1.2-3-gd128a0a on Linux 6.1.21-v7+ (armv71)
flashprog is free software, get the source code at
https://flashprog.org
Using clock_gettime for delay loops (clk_id: 1, resolution: ins).
Note: flashprog can never write if the flash chip isn't found automatically.
dietpieDietPi:/flashprogs$
At the end are some images about my current set-up.
Thank you so much for all of your time and support. I immensely appreciate any help you may be able to give.
Thank you all once more!
--Best
____________________________________
Edit: I have already followed the pigpio
steps:
https://libreboot.org/docs/install/spi.html#rpi-drive-strength
Hello everyone,
I immensely apologies but for some reason I cannot understand which ROM to utilize for my machine. It is a T400 with an SOIC16.
Do I utilize libreboot-20240612_t400_16mb.tar.xz? My sincerest of apologies if this is already posted elsewhere. If anyone could help provide some additional information as to which ROM to utilize I would immensely appreciate it.
-Best of wishes
I have this motherboard, bootguard is not enabled, I'd like to port libreboot but I'm way over my head. Any advice?
Hello. I have been trying to lobreboot a device. I have a e6440 and a t440p but I read you can internally flash the dells. I have looked at libre boots release ROMs and j see all of the lattitudes EXCEPT the e6440. Is there a ROM for the e6440? I don't see it addressed anywhere in the documentation. Also canoeboot doesn't show for it or t440p. Which is the right ROM to use for e6440 or t440p. I kboe people have flashed the t440p. Do I huet use the normal e600 or t400 ROMs?
Thabm you.
Can I increase multiplier and other overclocking-related settings on a Librebooted system, given that the CPU is unlocked? It is a i7-4770K on a Dell 9020. Is there a tool that I can do it from within Linux, as there are no menu for setting it in firmware (and not in coreboot menuconfig either).