People who contributed to the Libreboot project


Return to index

This list does not necessarily reflect who is currently working on the project, but it lists some people who have contributed to the project in meaningful ways.

If we forgot to mention you here, let us know and we’ll add you. (or if you don’t want to be mentioned, let us know and we’ll remove your entry)

You can know the history of the libreboot project, simply by reading this page. It goes into detail about all of the major contributions to the project, and in general how the project was created (and who helped create it).

Leah Rowe

Founder of the Libreboot project, and currently the lead developer. Leah works on all aspects of libreboot, such as:

Check the Git repositories to find my own contributions to the project. There are a lot, too many to list here, but my work is enabled by the many people who help me, and those who work on all the upstream projects that I use in Libreboot. I regularly work with all sorts of people.

External projects

Coreboot project

Without coreboot, the libreboot project simply would not be possible.

The people and companies that work on coreboot are numerous, and they make the libreboot project what it is. The libreboot project makes heavy use of coreboot, to provide hardware initialization.

GRUB

GRUB is the bootloader used by libreboot. It goes without saying that the GRUB developers enable libreboot, through their work.

SeaBIOS

The libreboot firmware provides SeaBIOS as a payload option. SeaBIOS provides a legacy x86 BIOS implementation.

U-Boot

Libreboot uses U-Boot as the coreboot payload on supported ARM Chromebooks.

Flashprog

Libreboot uses Nico Huber’s flashprog to provide flashing on all boards; without this code, you would not be able to install Libreboot in freedom, because other NOR flashing tools are typically proprietary (and not as good).

Contributors in alphabetical order

Alexei Sorokin

Sent minor fixes to lbmk; improved sha512sum verification on images, config improvements e.g. hide MEI device where neutered ME is used. General improvements and tweaks.

Alper Nebi Yasak

Contributed the build system integration and documentation for using U-Boot as payload, and initial Libreboot ports of some ARM Chromebooks based on that.

Alper also does upstream development on U-Boot, e.g. continued an almost complete port of the gru-kevin board and got it merged upstream.

Alyssa Rosenzweig

Switched the website to use markdown in lieu of handwritten HTML and custom PHP. Former libreboot project maintainer (sysadmin for libreboot.org).

Alyssa wrote the original static site generator (shell scripts converting markdown to html, via pandoc) for libreboot.org. This static site generator has now been heavily modified and forked into a formal project, by Leah Rowe:

https://untitled.vimuser.org/ (untitled is Leah’s work, not Alyssa’s, but it’s based on Alyssa’s original work on the static site generator that Libreboot used to use; the Libreboot website is now built with Untitled)

Andrea Perotti

Sent several small fixes to Libreboot’s dependencies scripts for Debian, Fedora and Ubuntu distros.

Andrew Robbins

Worked on large parts of Libreboot’s old build system and related documentation. Andrew joined the Libreboot project as a full time developer during June 2017, until his departure in March 2021. Although the work was ultimately scrapped in 2021, in favour of Libreboot’s current lbmk design, he provided countless hours of work to the project over the years, helping users on IRC and generally being a very passionate Libreboot developer.

Andrew was working on a build system re-write that ultimately never reached a stable state, and he abandoned the project after his work was replaced, but the feeling of disgust that he had was not mutual.

I, Leah Rowe, am very grateful to Andrew Robbins for his numerous contributions over the years. Anyone who contributes to Libreboot is a hero. Look at the old Libreboot repository on notabug to find his contributions.

Angel Pons

Angel is a coreboot developer. Their contributions are numerous, in that and many other projects. Countless patches in coreboot from them have enabled Libreboot to be what it is.

The most noteworthy work by Angel, that Libreboot imported, is the native raminit (NRI) for Intel Haswell platform, which Libreboot was able to use for replacing the Intel MRC. Because of these patches, Libreboot is able to provide wholly free initialisation on that platform, in the BIOS region of the flash. For example, the ThinkPad T440p and OptiPlex 9020 ports boot in such a configuration, since these are Haswell machines.

Over 2000 commits in coreboot were written by Angel, as of January 2025. They are one of coreboot’s most active developers.

Arsen Arsenović

Added the config for ThinkPad T430 to Libreboot.

Arthur Heymans

Merged a patch from coreboot into libreboot, enabling C3 and C4 power states to work correctly on GM45 laptops. This was a long-standing issue before Arthur’s contribution. Arthur also fixed VRAM size on i945 on GM45 systems, allowing maximum VRAM allocation for the onboard GPUs on these systems, another longstanding issue in libreboot.

Arthur also did work on the Libreboot build system, when he was a member of the project. He still works on coreboot, to this day, and Libreboot greatly benefits from his work. His contributions to the coreboot project, and Libreboot, are invaluable.

Ben Westover

Added info about internal flashing for Dell OptiPlex 9020, in the Libreboot documentation.

Caleb La Grange

Caleb contributed heavily to the Libreboot build system, and even implemented the first version of Libreboot’s vendor inject script, back when it was part of the erstwhile osboot project, which formally merged with Libreboot in November 2022.

Before Caleb came along, Libreboot didn’t have any sort of structure in its package management. The current include/git.sh script in Libreboot, which uses a centralised set of configuration files, is ultimately derived from the work that Caleb did.

Caleb was the one who figured out how to auto-download and neuter the Intel ME on ThinkPad T440p, where previous osboot versions had used one that had to be extracted from a dump of the original firmware; the Heads project also made use of his work, in their project, to add the ThinkPad T440p, since their build system focuses a lot on reproducibility so they place an emphasis on auto downloading such files, to get the same version each time. Caleb’s work in Libreboot was largely inspired by Heads, which did the same thing at that time on the ThinkPad X230. Libreboot’s checksum-based design was also implemented by him; when inserting vendor files, checksums are verified on images, to ensure that they match what was built in the original release, for each given release.

Caleb worked heavily on the Libreboot documentation, vastly improving much of the installation instructions, and provided a lot of user support on IRC.

In general, Caleb heavily audited the entire project. The very nature of its design, now, is based directly on the work that he did, when looking at the design of the build system. The various Libreboot build system audits that started in 2023 were essentially turbo-charged versions of the same work he was doing.

Caleb has also been a good friend to me, Leah, and provided a lot of advice during the osboot merger. I avoided a lot of stupid mistakes because of his advice.

Canberk TURAN

Added Turkish Q keyboard layout to Libreboot’s GRUB payload.

Damien Zammit

Maintains the Gigabyte GA-G41M-ES2L coreboot port, which is integrated in libreboot. Also works on other hardware for the benefit of the libreboot project.

Damien didn’t work directly on Libreboot itself, but he worked heavily with Leah Rowe, integrating patches and new board ports into Libreboot, based on Damien’s upstream work on coreboot.

Daniil Prokofev

Translated several Libreboot website pages into the Russian language.

Denis Carikli

Based on the work done by Peter Stuge, Vladimir Serbinenko and others in the coreboot project, got native graphics initialization to work on the ThinkPad X60, allowing it to be supported in libreboot. Denis gave a lot of advice and helped found the libreboot project.

Denis was a mentor to Leah Rowe in the early days, when she founded the Libreboot project. A lot of the decisions taken, especially with the Libreboot build system (lbmk), were inspired from talks with Denis.

Denis taught Leah about registers used by Intel GPUs for backlight control. In the early days, the ThinkPad X60 and T60 laptops in Libreboot did not have backlight control working, so the brightness was always 100%. With Denis’s help, Leah was able to get backlight controls working by reverse engineering the correct values to write in those registers. Based on this, a simple fix was written in coreboot; however, the fix just wrote directly to the register and didn’t work with ACPI based brightness controls. Others in coreboot later improved it, making ACPI-based backlight controls work properly, based on this earlier work.

Very cool guy!!!

Eason aka ezntek

Sent a SOIC8 photo for Raspberry Pi Pico pinout, where previously only SOIC16 info existed. Also added info about thinkpad_acpi Linux kernel module for ThinkPad T480.

I (Leah) worked with ezntek on some testing and he discovered several bugs on the ThinkPad T480, while Mate and I were working on it for Libreboot.

ezntek wrote this guide: https://ezntek.com/posts/librebooting-the-thinkpad-t480-20241207t0933/

This guide was written based on my and other people’s help, on IRC, while we were in the process of adding the T480 to Libreboot. Several parts of this guide were in fact used to improve the Libreboot guide, such as the info about how to update the Lenovo UEFI firmware prior to Libreboot installation, by using USB boot media instead of needing to boot Windows.

Eason’s guide also made number one on hacker news that day, and as a result, many more people learned about Libreboot, especially its support for T480, which helped to spread the news about the work.

Absolute legend. One of Libreboot’s many great champions.

E. Blåsten

Documented several quirks of the MacBook2,1 and ThinkPad X200T, such as swivel/rotation on X200T, and various alt keys on the MacBook to make it more usable with Linux, when used on Libreboot.

Also helped me (Leah) in a very fundamental way, in 2018. The help I got enabled me to be who I am today.

Fedja Beader

Wrote several guides for Libreboot, including the original version of the GRUB hardening guide. Wrote the info about the Linux kernel panic/netconsole on Libreboot’s FAQ.

Also sent some small fixes to Libreboot’s GRUB configuration, enabling USB devices to boot more reliably. Also improved Libreboot’s documentation pertaining to Full Disk Encryption.

Ferass El Hafidi

Added cstate 3 support on macbook21, enabling higher battery life and cooler CPU temperatures on idle usage.

Also has a series of extensive improvements to the entire Libreboot system; for example, Ferass made the entire build system use POSIX sh, removing bashisms that previously plagued it.

Libreboot’s original support for cross-compiling AArch64 coreboot was added by him. He also submitted a few bug fixes to the GRUB configuration used by Libreboot.

This is IRC nick f_ on Libreboot IRC. Cool guy!

hslick

Documented Arch Linux ARM installation on ARM64 U-Boot targets.

Integral

Translated the Libreboot home page into Chinese language.

Jason Lenz

Sent instructions for installing Debian Linux on ARM64-based chromebooks with Libreboot and Alper’s U-Boot ARM64 payload.

Jeroen Quint

Contributed several fixes to the libreboot documentation, relating to installing on Arch-based systems with full disk encryption on libreboot systems.

John Doe

This person never gave their name, but they sent two patches:

* 676eb110c7f Perform the silentoldconfig step of seabios before full make 
* acc57bda6df scripts: process git versions when lbmk is a worktree or submodule

Every contribution is appreciated. Every contributor gets their own entry in the Libreboot Hall of Fame.

Joshua Gay

Joshua was in a position during 2014-2016 to help promote Libreboot in the media, in his capacity working for the employer he worked for at the time; I credit him specifically. Joshua was one of Libreboot’s earliest supporters.

He made sure everyone knew what I was doing, and he taught me a lot about licensing; many of Libreboot’s practises today are still based on his lessons, such as the pitfalls of GPL compliance and how to really audit everything.

Klemens Nanni

Made many fixes and improvements to the GRUB configuration used in libreboot, and several tweaks to the build system.

Linear Cannon

Added NetBSD support for dell-flash-unlock.

Lisa Marie Maginnis

Lisa was one of Libreboot’s early contributors to Libreboot. She personally helped me set up a lot of the early infrastructure, including things like IRC, mailing list and so on. She provided a lot of technical guidance, while working in a sysadmin job for a certain free software organisation; she was both a mentor and a friend.

She got me in touch with a lot of people, and at one point was instrumental in helping Paul Kocialkowski secure funding to work on the Veyron Speedy boards in Libreboot, e.g. ASUS Chromebook C201PA - at the time, this was using Google’s own Depthcharge payload, which you can find in 2016 Libreboot releases.

Livio

Sent a small enhancement for GRUB, allowing the user to turn on or off several options at boot time, such as graphical options or spkmodem output, so that these features can be included on every image, and used flexibly.

Sent some small fixes to the QEMU target, fixing a bug in the SMBIOS info.

Lorenzo Aloe

Provided hardware testing for the Dell OptiPlex 9020, also provided testing for proxmox with GPU passthrough on Dell Precision T1650, confirming near-native performance; with this, you can boot operating systems virtually natively, performance-wise, on a Libreboot system in cases where that OS is not natively supported.

All round good guy, an honest and loyal fan.

Luke T. Shumaker

Sent a patch to Libreboot, fixing vboot on 32-bit (i686) hosts; it previously only compiled on 64-bit x86 (amd64) machines.

Marcus Moeller

Made the libreboot logo.

Mate Kukri

Mate Kukri is a major contributor to Libreboot, and several of the upstreams that it uses; he is a coreboot developer, and also contributes heavily to the GRUB bootloader project.

Off the top of my head, here are just a few of the contributions that he has made:

Mate Kukri is a hero to the Libreboot project. Without him, Libreboot would not be what it is today.

Michael Reed

Wrote Libreboot’s original OpenBSD installation guide.

Also sent fixes to the original static site generator that Alyssa wrote, upon which the Untitled Static Site Generator was later based.

Michał Masłowski

Sent several fixes to Libreboot’s early build system, back in the early days of the project. Also taught Leah how to use Git, because the very first revisions were released only as tarballs, without Git history; the first commits in the old repository were imports of those tarballs.

Nicholas Chin

Ported Dell Latitude E6400 to Libreboot and also Dell Latitude E6430 - author of the dell-flash-unlock (formerly e6400-flash-unlock) utility, which can unlock the flash on these boards, allowing internal flashing of Libreboot directly from host OS running under the original Dell firmware.

Nicholas has ported many more Dell Latitude laptops to Libreboot, and he works heavily on the upstream coreboot project. In fact, every Dell Latitude board supported in Libreboot was done by him, at least as of 5 January 2025.

Nicholas has provided countless hours of user support on the Libreboot IRC channel and in those of projects which Libreboot uses, and submitted many fixes to Libreboot, both in terms of code and documentation.

He has advised me, Leah, on many occasions, teaching me things. Needless to say, he is one of Libreboot’s champions.

Nicholas also contributes to coreboot heavily, to flashprog, and several other projects that Libreboot uses.

0xloem

Added info about LPC flashing on Libreboot’s external flashing guide.

Patrick “P. J.” McDermott

Patrick also did a lot of research and wrote the libreboot FAQ section relating to the Intel Management Engine, in addition to making several improvements to the build system in libreboot. Former libreboot project maintainer.

Patrick Rudolph

Coreboot developer. Also wrote the xHCI GRUB driver, that Libreboot uses; without it, several ports in Libreboot would not be feasible, unless they excluded GRUB as a payload, because several newer Intel platforms no longer have (or configure) EHCI controllers. Upstream GRUB currently has no xHCI driver, but Patrick sent patches in 2020 that Libreboot later re-based, on top of GRUB 2.12.

Paul Kocialkowski

Ported the ARM (Rockchip RK3288 SoC) based Chromebook laptops to libreboot. Also one of the main Replicant developers.

He was also responsible for the original re-write of the Libreboot build system, upon which Libreboot’s effort from 2017-2021 was based; ultimately, this work never became stable and the work was scrapped in 2021, in favour of the current Libreboot build system design, named lbmk.

Paul Menzel

Investigated and fixed a bug in coreboot on the ThinkPad X60/T60 exposed by Linux kernel 3.12 and up, which caused 3D acceleration to stop working and video generally to become unstable. The issue was that coreboot, when initializing the Intel video chipset, was mapping GTT Stolen Memory in the wrong place, because the code was based on kernel code and the Linux kernel had the same bug. When Linux fixed it, it exposed the same bug in coreboot.

Paul worked with Libreboot on this, sending patches to test periodically until the bug was fixed in coreboot, and then helped her integrate the fix in libreboot.

Peaksol

Translated several pages, including the SPI flashing guide, into Chinese language.

Peter Stuge

Helped write the FAQ section about DMA, and provided general advice in the early days of the project. Peter was a coreboot developer in those days, and a major developer in the libusb project (which flashprog makes heavy use of).

Peter also wrote the bucts utility used to set Backup Control (BUC) Top Swap (TS) bit on i945 laptops such as ThinkPad X60/T60, which is useful for a workaround to flash Libreboot without using external hardware; on this machine, with Lenovo BIOS present, it’s possible to flash everything except the main bootblock, but Intel platforms have 2 bootblocks, and you specify which one is to be used by setting the TS bit. You then boot with only one bootblock flashed (by the coreboot project’s bootblock on that machine), and afterwards you reset bucts before flashing the ROM again, to flash the main bootblock. Libreboot hosts a copy of his work, because his website hosting bucts is no longer responsive.

Riku Viitanen

Added support for HP Elite 8200 SFF desktop PC to Libreboot. You can read about this in the hardware page:

HP Elite 8200 SFF

Riku also ported the HP Elite 8300 USDT.

Riku implemented MXM support as an INT15h handler in SeaBIOS, and wrote some tooling for it, which enables the HP EliteBook 8560w port to work reliably in Libreboot.

Riku also added the HP Folio 9470m to Libreboot.

Riku is also in charge of Libreboot’s fork of pico-serprog, which is used to provide serprog firmware on RP2040 and RP2530 devices. These devices can be used to set up a cheap but reliable NOR flasher, which is now the default recommended one for flashing Libreboot externally. Riku’s fork contains several enhancements, such as a higher default drive level of 12mA and the ability to control multiple chip select pins, useful for flashing dual-chip Intel boards.

Riku has submitted numerous bug fixes to many boards, and generally sent many improvements for the build system and also the Libreboot documentation. He also added the HP EliteBook 2560p to Libreboot.

Riku also contributes to coreboot and flashprog, and several other projects that Libreboot uses.

samuraikid

Added Portuguese keyboard layout to Libreboot’s GRUB payload.

semigel

Added BTRFS subvolume support to Libreboot’s GRUB configuration, for auto-booting various Linux distros.

Simon Glass

Simon Glass is principally responsible for the x86 U-Boot payload that Libreboot now uses as a coreboot payload. Simon provided Leah with several critical patches and advised Leah on several aspects of U-Boot’s design, that helped a lot when integrating it.

Without him, Libreboot would not have a functioning U-Boot implementation on x86.

Snooze Function

Translated several pages on the Libreboot documentation into the German language.

StackSmashing

Author of the original pico-serprog project, upon which Libreboot’s fork (maintained by Riku Viitanen) is based.

StackSmashing didn’t do this specifically for Libreboot, but their work is outstanding, so their name is honoured here.

StackSmashing also has a YouTube channel with a lot of really cool videos on it about all things electronics, and hacking of electronics. Check it out!

Steve Shenton

Steve did the early reverse engineering work on the Intel Flash Descriptor used by ICH9M machines such as ThinkPad X200. He created a C struct defining (using bitfields in C) this descriptor region. With some clever tricks, he was able to discover the existence of a bit in the descriptor for disabling the Intel ME (management engine) on those platforms.

His initial proof of concept only defined the descriptor, and would do this:

In the early days, before Libreboot supported GM45+ICH9M platforms such as ThinkPad X200/T400, you could use those machines but to avoid the Intel ME you had to flash it without a descriptor region. This worked fine in those days, because the ME only handled TPM and AMT on those machines, and the system would work normally, but that Intel Flash Descriptor also handles the Intel GbE NVM region in flash, which is used for the Intel Gigabit Ethernet interface.

So you either had Intel ME, or no ethernet support. Steve figured out how to disable the Intel ME via 2 toggle bits in the descriptor, and also how to remove the Intel ME region from flash.

Based on his research, I, Leah Rowe, working alongside Steve, also reverse engineered the layout of the Intel GbE NVM (non-volatile memory) region in the boot flash. This region defines configuration options for the onboard Intel GbE NIC, if present.

Based on this, I was able to take Steve’s initial proof of concept and write the ich9gen utility, which generates an Intel Flash Descriptor and GbE NVM region, from scratch, without an Intel ME region defined. It is this tool, the ich9gen tool, that Libreboot uses to provide ROM images for GM45+ICH9M platforms (such as ThinkPad X200/T400/T500/W500), with a fully functional descriptor and functional Gigabit Ethernet, but without needing Intel Management Engine (ME) firmware, thus making those machines libre (the ME is fully disabled, when you use a descriptor+gbe image generated by ich9gen).

With my ich9gen tool (Steve’s tool was called ich9deblob), you didn’t need a dump of the original Lenovo BIOS firmware anymore! I could not have written this tool, without Steve’s initial proof of concept. I worked with him, extensively, for many months. All GM45+ICH9M support (X200, T400, etc) in Libreboot is made possible because of the work he did, back in 2014.

Swift Geek

Contributed a patch for ich9gen to generate 16MiB descriptors.

After that, Swift Geek slowly became more involved until he became a full time developer. Swift Geeks contributions were never really in the form of code, but what he lacked in code, he made up for in providing excellent support, both to users and other developers, helping others learn more about technology at a low level.

When Swift Geek was a member of the project, his role was largely providing user support (in the IRC channel), and conducting research. Swift Geek knows a lot about hardware. Swift Geek also did some upstream development on GRUB.

Swift Geek has provided technical advice on numerous occasions, to Leah Rowe, and helped her to improve her soldering skills in addition to teaching her some repair skills, to the point where she can now repair most faults on ThinkPad motherboards (while looking at the schematics and boardview).

Swiftgeek left the project in March 2021. I, Leah Rowe, wish him all the best in his endeavours, and I’m very grateful to his numerous contributions over the years.

Timothee Benedet

Translated several Libreboot website pages into the French language.

Timothy Pearson

Ported the ASUS KGPE-D16 board to coreboot for the company Raptor Engineering of which Timothy is the CEO. Timothy maintains this code in coreboot, helping the project with the libreboot integration for it. This person’s contact details are on the raptor site.

D16 support was removed on 19 November 2022. You can still use older revisions of Libreboot, and older release versions.

Vladimir Serbinenko

Ported many of the thinkpads supported in libreboot, to coreboot, and made many fixes in coreboot which benefited the libreboot project.

Vladimir wrote a lot of the original video initialization code used by various Intel platforms in Libreboot, when flashing it (now rewritten by others in Ada, for libgfxinit in coreboot, but originally it was written in C and included directly in coreboot; libgfxinit is a 3rdparty submodule of coreboot).

Vladislav Shapovalov

Translated several pages of the Libreboot website into Ukranian language.


Did we forget your name?

If so, and you would like to be listed here, please contact the Libreboot project.

Markdown file for this page: https://libreboot.org/contrib.md

Subscribe to RSS for this site

Site map

This HTML page was generated by the Untitled Static Site Generator.