CINXE.COM
Libreboot – People who contributed to the Libreboot project
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <meta name="description" content=""> <meta name="keywords" content="libreboot, coreboot, canoeboot, opensource, libre, free software, bios, uefi"> <meta name="generator" content="pandoc"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> <link rel="icon" type="image/x-icon" href="/favicon.ico"> <link rel="canonical" href="https://libreboot.org/contrib.html" /> <!-- anti-social media tags --> <meta property="og:title" content="Libreboot – People who contributed to the Libreboot project"> <meta property="og:type" content="article" /> <meta property="og:image" content="https://av.vimuser.org/bootmenu.jpg"> <meta property="og:url" content="https://libreboot.org/contrib.html"> <meta name="twitter:card" content="summary_large_image"> <meta property="og:description" content="Libreboot – People who contributed to the Libreboot project"> <meta property="og:site_name" content="Libreboot – People who contributed to the Libreboot project"> <meta name="twitter:image:alt" content="Libreboot – People who contributed to the Libreboot project"> <title>Libreboot – People who contributed to the Libreboot project</title> <link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href=""> <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="/feed.xml"/> </head> <body> <div class="page"> <header> <div class="title" onclick="location.href='/';"> <p class="title-logo"> <a href="/"><img loading="lazy" class="title-logo" alt="Libreboot logo" src="/favicon.ico" /></a> </p> <h1 class="title">People who contributed to the Libreboot project</h1> </div> <ul> <li><a href="/">Home</a></li> <li><a href="/faq.html">FAQ</a></li> <li><a href="/download.html">Download</a></li> <li><a href="/git.html">Git</a></li> <li style="font-size:1.3em;"><em><strong><a href="https://minifree.org/">Buy Libreboot preinstalled</a></strong></em></li> <li><a href="/docs/install/">Install</a></li> <li><a href="/docs/">Docs</a></li> <li><a href="/news/">News</a></li> <li><a href="https://codeberg.org/libreboot/lbmk/issues">Bugs</a></li> <li><a href="/contact.html">Contact</a></li> <li style="font-size:1.3em;"><em><strong><a href="https://www.patreon.com/libreleah">Donate</a></strong></em></li> <li><a href="/other.html">Other coreboot distros</a></li> </ul> <hr/> </header> <nav id="TOC"> <h2>Navigate this page:</h2> <ul> <li><a href="#leah-rowe">Leah Rowe</a></li> <li><a href="#external-projects">External projects</a> <ul> <li><a href="#coreboot-project">Coreboot project</a></li> <li><a href="#grub">GRUB</a></li> <li><a href="#seabios">SeaBIOS</a></li> <li><a href="#u-boot">U-Boot</a></li> <li><a href="#flashprog">Flashprog</a></li> </ul></li> <li><a href="#contributors-in-alphabetical-order">Contributors in alphabetical order</a> <ul> <li><a href="#alexei-sorokin">Alexei Sorokin</a></li> <li><a href="#alper-nebi-yasak">Alper Nebi Yasak</a></li> <li><a href="#alyssa-rosenzweig">Alyssa Rosenzweig</a></li> <li><a href="#andrea-perotti">Andrea Perotti</a></li> <li><a href="#andrew-robbins">Andrew Robbins</a></li> <li><a href="#angel-pons">Angel Pons</a></li> <li><a href="#arsen-arsenović">Arsen Arsenović</a></li> <li><a href="#arthur-heymans">Arthur Heymans</a></li> <li><a href="#ben-westover">Ben Westover</a></li> <li><a href="#caleb-la-grange">Caleb La Grange</a></li> <li><a href="#canberk-turan">Canberk TURAN</a></li> <li><a href="#damien-zammit">Damien Zammit</a></li> <li><a href="#daniil-prokofev">Daniil Prokofev</a></li> <li><a href="#denis-carikli">Denis Carikli</a></li> <li><a href="#eason-aka-ezntek">Eason aka ezntek</a></li> <li><a href="#e.-blåsten">E. Blåsten</a></li> <li><a href="#fedja-beader">Fedja Beader</a></li> <li><a href="#ferass-el-hafidi">Ferass El Hafidi</a></li> <li><a href="#hslick">hslick</a></li> <li><a href="#integral">Integral</a></li> <li><a href="#jason-lenz">Jason Lenz</a></li> <li><a href="#jeroen-quint">Jeroen Quint</a></li> <li><a href="#john-doe">John Doe</a></li> <li><a href="#joshua-gay">Joshua Gay</a></li> <li><a href="#klemens-nanni">Klemens Nanni</a></li> <li><a href="#linear-cannon">Linear Cannon</a></li> <li><a href="#lisa-marie-maginnis">Lisa Marie Maginnis</a></li> <li><a href="#livio">Livio</a></li> <li><a href="#lorenzo-aloe">Lorenzo Aloe</a></li> <li><a href="#luke-t.-shumaker">Luke T. Shumaker</a></li> <li><a href="#marcus-moeller">Marcus Moeller</a></li> <li><a href="#mate-kukri">Mate Kukri</a></li> <li><a href="#michael-reed">Michael Reed</a></li> <li><a href="#michał-masłowski">Michał Masłowski</a></li> <li><a href="#nicholas-chin">Nicholas Chin</a></li> <li><a href="#xloem">0xloem</a></li> <li><a href="#patrick-p.-j.-mcdermott">Patrick “P. J.” McDermott</a></li> <li><a href="#patrick-rudolph">Patrick Rudolph</a></li> <li><a href="#paul-kocialkowski">Paul Kocialkowski</a></li> <li><a href="#paul-menzel">Paul Menzel</a></li> <li><a href="#peaksol">Peaksol</a></li> <li><a href="#peter-stuge">Peter Stuge</a></li> <li><a href="#riku-viitanen">Riku Viitanen</a></li> <li><a href="#samuraikid">samuraikid</a></li> <li><a href="#semigel">semigel</a></li> <li><a href="#simon-glass">Simon Glass</a></li> <li><a href="#snooze-function">Snooze Function</a></li> <li><a href="#stacksmashing">StackSmashing</a></li> <li><a href="#steve-shenton">Steve Shenton</a></li> <li><a href="#swift-geek">Swift Geek</a></li> <li><a href="#timothee-benedet">Timothee Benedet</a></li> <li><a href="#timothy-pearson">Timothy Pearson</a></li> <li><a href="#vladimir-serbinenko">Vladimir Serbinenko</a></li> <li><a href="#vladislav-shapovalov">Vladislav Shapovalov</a></li> </ul></li> </ul> </nav> <div class="pagetext"> <p><a href="./">Return to index</a></p> <p>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.</p> <p>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)</p> <p>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).</p> <div class="h"><h2 id="leah-rowe">Leah Rowe</h2><a aria-hidden="true" href="#leah-rowe">[link]</a></div> <p><strong>Founder of the Libreboot project, and currently the lead developer.</strong> Leah works on all aspects of libreboot, such as:</p> <ul> <li>General management. Leah handles all outside contributions to libreboot, reviews pull requests, deals with bug reports, delegates tasks when necessary or desirable. Leah controls the libreboot.org server infrastructure, hosted in her lab.</li> <li>Leah has the final say on all decisions, taking input via discussion with members of the public, mostly on IRC. Leah oversees releases of libreboot, and generally keeps the project going. Without Leah, there would be no Libreboot!</li> <li>The build system (lbmk, short for libreboot Make). This is the automated build system that sits at the heart of libreboot; it downloads, patches, configures and compiles the relevant components like coreboot, GRUB and generates the libreboot ROM images that you can find in release archives.</li> <li>Upstream work on coreboot, when necessary (and other projects that libreboot uses). This means also working with people from outside of the libreboot project, to get patches merged (among other things) on the upstream projects that libreboot uses</li> <li>Providing user support on IRC</li> </ul> <p>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.</p> <div class="h"><h2 id="external-projects">External projects</h2><a aria-hidden="true" href="#external-projects">[link]</a></div> <div class="h"><h3 id="coreboot-project">Coreboot project</h3><a aria-hidden="true" href="#coreboot-project">[link]</a></div> <p>Without coreboot, the libreboot project simply would not be possible.</p> <p>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.</p> <div class="h"><h3 id="grub">GRUB</h3><a aria-hidden="true" href="#grub">[link]</a></div> <p>GRUB is the bootloader used by libreboot. It goes without saying that the GRUB developers enable libreboot, through their work.</p> <div class="h"><h3 id="seabios">SeaBIOS</h3><a aria-hidden="true" href="#seabios">[link]</a></div> <p>The libreboot firmware provides SeaBIOS as a payload option. SeaBIOS provides a legacy x86 BIOS implementation.</p> <div class="h"><h3 id="u-boot">U-Boot</h3><a aria-hidden="true" href="#u-boot">[link]</a></div> <p>Libreboot uses U-Boot as the coreboot payload on supported ARM Chromebooks.</p> <div class="h"><h3 id="flashprog">Flashprog</h3><a aria-hidden="true" href="#flashprog">[link]</a></div> <p>Libreboot uses Nico Huber’s <em>flashprog</em> 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).</p> <div class="h"><h2 id="contributors-in-alphabetical-order">Contributors in alphabetical order</h2><a aria-hidden="true" href="#contributors-in-alphabetical-order">[link]</a></div> <div class="h"><h3 id="alexei-sorokin">Alexei Sorokin</h3><a aria-hidden="true" href="#alexei-sorokin">[link]</a></div> <p>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.</p> <div class="h"><h3 id="alper-nebi-yasak">Alper Nebi Yasak</h3><a aria-hidden="true" href="#alper-nebi-yasak">[link]</a></div> <p>Contributed the build system integration and documentation for using U-Boot as payload, and initial Libreboot ports of some ARM Chromebooks based on that.</p> <p>Alper also does upstream development on U-Boot, e.g. continued an almost complete port of the <code>gru-kevin</code> board and got it merged upstream.</p> <div class="h"><h3 id="alyssa-rosenzweig">Alyssa Rosenzweig</h3><a aria-hidden="true" href="#alyssa-rosenzweig">[link]</a></div> <p>Switched the website to use markdown in lieu of handwritten HTML and custom PHP. <strong>Former libreboot project maintainer (sysadmin for libreboot.org).</strong></p> <p>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:</p> <p><a href="https://untitled.vimuser.org/" class="uri">https://untitled.vimuser.org/</a> (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)</p> <div class="h"><h3 id="andrea-perotti">Andrea Perotti</h3><a aria-hidden="true" href="#andrea-perotti">[link]</a></div> <p>Sent several small fixes to Libreboot’s dependencies scripts for Debian, Fedora and Ubuntu distros.</p> <div class="h"><h3 id="andrew-robbins">Andrew Robbins</h3><a aria-hidden="true" href="#andrew-robbins">[link]</a></div> <p>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 <a href="docs/maintain/">lbmk design</a>, he provided countless hours of work to the project over the years, helping users on IRC and generally being a very passionate Libreboot developer.</p> <p>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.</p> <p>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 <a href="https://notabug.org/libreboot">notabug</a> to find his contributions.</p> <div class="h"><h3 id="angel-pons">Angel Pons</h3><a aria-hidden="true" href="#angel-pons">[link]</a></div> <p>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.</p> <p>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.</p> <p>Over 2000 commits in coreboot were written by Angel, as of January 2025. They are one of coreboot’s most active developers.</p> <div class="h"><h3 id="arsen-arsenović">Arsen Arsenović</h3><a aria-hidden="true" href="#arsen-arsenović">[link]</a></div> <p>Added the config for ThinkPad T430 to Libreboot.</p> <div class="h"><h3 id="arthur-heymans">Arthur Heymans</h3><a aria-hidden="true" href="#arthur-heymans">[link]</a></div> <p>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.</p> <p>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.</p> <div class="h"><h3 id="ben-westover">Ben Westover</h3><a aria-hidden="true" href="#ben-westover">[link]</a></div> <p>Added info about internal flashing for Dell OptiPlex 9020, in the Libreboot documentation.</p> <div class="h"><h3 id="caleb-la-grange">Caleb La Grange</h3><a aria-hidden="true" href="#caleb-la-grange">[link]</a></div> <p>Caleb contributed heavily to the Libreboot build system, and even implemented the first version of Libreboot’s <a href="docs/install/ivy_has_common.html">vendor inject script</a>, back when it was part of the erstwhile osboot project, which formally merged with Libreboot in November 2022.</p> <p>Before Caleb came along, Libreboot didn’t have any sort of structure in its package management. The current <code>include/git.sh</code> script in Libreboot, which uses a centralised set of configuration files, is ultimately derived from the work that Caleb did.</p> <p>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.</p> <p>Caleb worked heavily on the Libreboot documentation, vastly improving much of the installation instructions, and provided a lot of user support on IRC.</p> <p>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.</p> <p>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.</p> <div class="h"><h3 id="canberk-turan">Canberk TURAN</h3><a aria-hidden="true" href="#canberk-turan">[link]</a></div> <p>Added Turkish Q keyboard layout to Libreboot’s GRUB payload.</p> <div class="h"><h3 id="damien-zammit">Damien Zammit</h3><a aria-hidden="true" href="#damien-zammit">[link]</a></div> <p>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.</p> <p>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.</p> <div class="h"><h3 id="daniil-prokofev">Daniil Prokofev</h3><a aria-hidden="true" href="#daniil-prokofev">[link]</a></div> <p>Translated several Libreboot website pages into the Russian language.</p> <div class="h"><h3 id="denis-carikli">Denis Carikli</h3><a aria-hidden="true" href="#denis-carikli">[link]</a></div> <p>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.</p> <p>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.</p> <p>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.</p> <p>Very cool guy!!!</p> <div class="h"><h3 id="eason-aka-ezntek">Eason aka ezntek</h3><a aria-hidden="true" href="#eason-aka-ezntek">[link]</a></div> <p>Sent a SOIC8 photo for Raspberry Pi Pico pinout, where previously only SOIC16 info existed. Also added info about <code>thinkpad_acpi</code> Linux kernel module for ThinkPad T480.</p> <p>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.</p> <p>ezntek wrote this guide: <a href="https://ezntek.com/posts/librebooting-the-thinkpad-t480-20241207t0933/" class="uri">https://ezntek.com/posts/librebooting-the-thinkpad-t480-20241207t0933/</a></p> <p>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.</p> <p>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.</p> <p>Absolute legend. One of Libreboot’s many great champions.</p> <div class="h"><h3 id="e.-blåsten">E. Blåsten</h3><a aria-hidden="true" href="#e.-blåsten">[link]</a></div> <p>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.</p> <p>Also helped me (Leah) in a very fundamental way, in 2018. The help I got enabled me to be who I am today.</p> <div class="h"><h3 id="fedja-beader">Fedja Beader</h3><a aria-hidden="true" href="#fedja-beader">[link]</a></div> <p>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.</p> <p>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.</p> <div class="h"><h3 id="ferass-el-hafidi">Ferass El Hafidi</h3><a aria-hidden="true" href="#ferass-el-hafidi">[link]</a></div> <p>Added cstate 3 support on macbook21, enabling higher battery life and cooler CPU temperatures on idle usage.</p> <p>Also has a series of extensive improvements to the entire Libreboot system; for example, Ferass made the entire build system use POSIX <code>sh</code>, removing bashisms that previously plagued it.</p> <p>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.</p> <p>This is IRC nick <code>f_</code> on Libreboot IRC. Cool guy!</p> <div class="h"><h3 id="hslick">hslick</h3><a aria-hidden="true" href="#hslick">[link]</a></div> <p>Documented Arch Linux ARM installation on ARM64 U-Boot targets.</p> <div class="h"><h3 id="integral">Integral</h3><a aria-hidden="true" href="#integral">[link]</a></div> <p>Translated the Libreboot home page into Chinese language.</p> <div class="h"><h3 id="jason-lenz">Jason Lenz</h3><a aria-hidden="true" href="#jason-lenz">[link]</a></div> <p>Sent instructions for installing Debian Linux on ARM64-based chromebooks with Libreboot and Alper’s U-Boot ARM64 payload.</p> <div class="h"><h3 id="jeroen-quint">Jeroen Quint</h3><a aria-hidden="true" href="#jeroen-quint">[link]</a></div> <p>Contributed several fixes to the libreboot documentation, relating to installing on Arch-based systems with full disk encryption on libreboot systems.</p> <div class="h"><h3 id="john-doe">John Doe</h3><a aria-hidden="true" href="#john-doe">[link]</a></div> <p>This person never gave their name, but they sent two patches:</p> <pre><code>* 676eb110c7f Perform the silentoldconfig step of seabios before full make * acc57bda6df scripts: process git versions when lbmk is a worktree or submodule</code></pre> <p>Every contribution is appreciated. Every contributor gets their own entry in the Libreboot Hall of Fame.</p> <div class="h"><h3 id="joshua-gay">Joshua Gay</h3><a aria-hidden="true" href="#joshua-gay">[link]</a></div> <p>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.</p> <p>He made sure everyone knew what I was doing, and he taught me a <em>lot</em> 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.</p> <div class="h"><h3 id="klemens-nanni">Klemens Nanni</h3><a aria-hidden="true" href="#klemens-nanni">[link]</a></div> <p>Made many fixes and improvements to the GRUB configuration used in libreboot, and several tweaks to the build system.</p> <div class="h"><h3 id="linear-cannon">Linear Cannon</h3><a aria-hidden="true" href="#linear-cannon">[link]</a></div> <p>Added NetBSD support for <code>dell-flash-unlock</code>.</p> <div class="h"><h3 id="lisa-marie-maginnis">Lisa Marie Maginnis</h3><a aria-hidden="true" href="#lisa-marie-maginnis">[link]</a></div> <p>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.</p> <p>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.</p> <div class="h"><h3 id="livio">Livio</h3><a aria-hidden="true" href="#livio">[link]</a></div> <p>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.</p> <p>Sent some small fixes to the QEMU target, fixing a bug in the SMBIOS info.</p> <div class="h"><h3 id="lorenzo-aloe">Lorenzo Aloe</h3><a aria-hidden="true" href="#lorenzo-aloe">[link]</a></div> <p>Provided hardware testing for the <a href="docs/install/dell9020.html">Dell OptiPlex 9020</a>, 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.</p> <p>All round good guy, an honest and loyal fan.</p> <div class="h"><h3 id="luke-t.-shumaker">Luke T. Shumaker</h3><a aria-hidden="true" href="#luke-t.-shumaker">[link]</a></div> <p>Sent a patch to Libreboot, fixing vboot on 32-bit (i686) hosts; it previously only compiled on 64-bit x86 (amd64) machines.</p> <div class="h"><h3 id="marcus-moeller">Marcus Moeller</h3><a aria-hidden="true" href="#marcus-moeller">[link]</a></div> <p>Made the libreboot logo.</p> <div class="h"><h3 id="mate-kukri">Mate Kukri</h3><a aria-hidden="true" href="#mate-kukri">[link]</a></div> <p>Mate Kukri is a <em>major</em> 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.</p> <p>Off the top of my head, here are just a few of the contributions that he has made:</p> <ul> <li>Wrote several enhancements for <code>pico-serprog</code>, based on the original work done by <a href="https://github.com/stacksmashing">stacksmashing</a>, who also has this very interesting <a href="https://www.youtube.com/channel/UC3S8vxwRfqLBdIhgRlDRVzw">youtube channel</a>; Riku’s work is heavily inspired by Mate’s and stacksmashing’s work.</li> <li>Ported the Dell OptiPlex 9020 SFF and MT, and provided several fixes on it for the Libreboot project; several fixes that I (Leah) did were also based on advice that he gave me.</li> <li>Wrote the <a href="docs/install/deguard.html">deguard</a> utility for disabling Intel Boot Guard on MEv11; this is used for the Dell OptiPlex 3050 Micro and ThinkPad T480 ports.</li> <li>Ported the Dell OptiPlex 3050 Micro and Lenovo ThinkPad T480/T480s to coreboot, directly providing Leah with advice when integrating these ports into Libreboot. This work included heavy amounts of reverse engineering Lenovo’s EC firmware.</li> <li>Ported the ASUS H610M-K D4 motherboard to coreboot, an Alderlake machine that Libreboot is interested in, for the release planned by April 2025; this bullet-point is being written on 5 January 2025 prior to its addition in Libreboot.</li> <li>Wrote the NVMe driver that Libreboot uses in GRUB, based upon work done for the SeaBIOS project.</li> </ul> <p>Mate Kukri is a hero to the Libreboot project. Without him, Libreboot would not be what it is today.</p> <div class="h"><h3 id="michael-reed">Michael Reed</h3><a aria-hidden="true" href="#michael-reed">[link]</a></div> <p>Wrote Libreboot’s original OpenBSD installation guide.</p> <p>Also sent fixes to the original static site generator that Alyssa wrote, upon which the Untitled Static Site Generator was later based.</p> <div class="h"><h3 id="michał-masłowski">Michał Masłowski</h3><a aria-hidden="true" href="#michał-masłowski">[link]</a></div> <p>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.</p> <div class="h"><h3 id="nicholas-chin">Nicholas Chin</h3><a aria-hidden="true" href="#nicholas-chin">[link]</a></div> <p><a href="news/e6400.html">Ported Dell Latitude E6400 to Libreboot</a> and also <a href="docs/install/latitude.html">Dell Latitude E6430</a> - author of the <code>dell-flash-unlock</code> (formerly <code>e6400-flash-unlock</code>) utility, which can unlock the flash on these boards, allowing internal flashing of Libreboot directly from host OS running under the original Dell firmware.</p> <p>Nicholas has ported many more Dell Latitude laptops to Libreboot, and he works heavily on the upstream coreboot project. In fact, <em>every</em> Dell Latitude board supported in Libreboot was done by him, at least as of 5 January 2025.</p> <p>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.</p> <p>He has advised me, Leah, on many occasions, teaching me things. Needless to say, he is one of Libreboot’s champions.</p> <p>Nicholas also contributes to coreboot heavily, to flashprog, and several other projects that Libreboot uses.</p> <div class="h"><h3 id="xloem">0xloem</h3><a aria-hidden="true" href="#xloem">[link]</a></div> <p>Added info about LPC flashing on Libreboot’s external flashing guide.</p> <div class="h"><h3 id="patrick-p.-j.-mcdermott">Patrick “P. J.” McDermott</h3><a aria-hidden="true" href="#patrick-p.-j.-mcdermott">[link]</a></div> <p>Patrick also did a lot of research and wrote the libreboot FAQ section relating to the <a href="../faq.html#intelme">Intel Management Engine</a>, in addition to making several improvements to the build system in libreboot. <strong>Former libreboot project maintainer.</strong></p> <div class="h"><h3 id="patrick-rudolph">Patrick Rudolph</h3><a aria-hidden="true" href="#patrick-rudolph">[link]</a></div> <p>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.</p> <div class="h"><h3 id="paul-kocialkowski">Paul Kocialkowski</h3><a aria-hidden="true" href="#paul-kocialkowski">[link]</a></div> <p>Ported the ARM (Rockchip RK3288 SoC) based <em>Chromebook</em> laptops to libreboot. Also one of the main <a href="http://www.replicant.us/">Replicant</a> developers.</p> <p>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.</p> <div class="h"><h3 id="paul-menzel">Paul Menzel</h3><a aria-hidden="true" href="#paul-menzel">[link]</a></div> <p>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 <em>GTT Stolen Memory</em> 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.</p> <p>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.</p> <div class="h"><h3 id="peaksol">Peaksol</h3><a aria-hidden="true" href="#peaksol">[link]</a></div> <p>Translated several pages, including the SPI flashing guide, into Chinese language.</p> <div class="h"><h3 id="peter-stuge">Peter Stuge</h3><a aria-hidden="true" href="#peter-stuge">[link]</a></div> <p>Helped write the <a href="../faq.html#hddssd-firmware">FAQ section about DMA</a>, 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 <em>libusb</em> project (which flashprog makes heavy use of).</p> <p>Peter also wrote the <em>bucts</em> 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.</p> <div class="h"><h3 id="riku-viitanen">Riku Viitanen</h3><a aria-hidden="true" href="#riku-viitanen">[link]</a></div> <p>Added support for HP Elite 8200 SFF desktop PC to Libreboot. You can read about this in the hardware page:</p> <p><a href="docs/install/hp8200sff.html">HP Elite 8200 SFF</a></p> <p>Riku also ported the HP Elite 8300 USDT.</p> <p>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.</p> <p>Riku also added the HP Folio 9470m to Libreboot.</p> <p>Riku is also in charge of Libreboot’s fork of <code>pico-serprog</code>, 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.</p> <p>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.</p> <p>Riku also contributes to coreboot and flashprog, and several other projects that Libreboot uses.</p> <div class="h"><h3 id="samuraikid">samuraikid</h3><a aria-hidden="true" href="#samuraikid">[link]</a></div> <p>Added Portuguese keyboard layout to Libreboot’s GRUB payload.</p> <div class="h"><h3 id="semigel">semigel</h3><a aria-hidden="true" href="#semigel">[link]</a></div> <p>Added BTRFS subvolume support to Libreboot’s GRUB configuration, for auto-booting various Linux distros.</p> <div class="h"><h3 id="simon-glass">Simon Glass</h3><a aria-hidden="true" href="#simon-glass">[link]</a></div> <p>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.</p> <p>Without him, Libreboot would not have a functioning U-Boot implementation on x86.</p> <div class="h"><h3 id="snooze-function">Snooze Function</h3><a aria-hidden="true" href="#snooze-function">[link]</a></div> <p>Translated several pages on the Libreboot documentation into the German language.</p> <div class="h"><h3 id="stacksmashing">StackSmashing</h3><a aria-hidden="true" href="#stacksmashing">[link]</a></div> <p>Author of the original <a href="https://github.com/stacksmashing/pico-serprog">pico-serprog</a> project, upon which Libreboot’s fork (maintained by Riku Viitanen) is based.</p> <p>StackSmashing didn’t do this specifically for Libreboot, but their work is outstanding, so their name is honoured here.</p> <p>StackSmashing also has a <a href="https://www.youtube.com/channel/UC3S8vxwRfqLBdIhgRlDRVzw">YouTube channel</a> with a lot of really cool videos on it about all things electronics, and hacking of electronics. Check it out!</p> <div class="h"><h3 id="steve-shenton">Steve Shenton</h3><a aria-hidden="true" href="#steve-shenton">[link]</a></div> <p>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 <em>disabling</em> the Intel ME (management engine) on those platforms.</p> <p>His initial proof of concept only defined the descriptor, and would do this:</p> <ul> <li>Read the default descriptor and GbE regions from a Lenovo X200 ROM (default firmware, not coreboot)</li> <li>Disable the ME, by setting 2 bits in the descriptor</li> <li>Disable the ME region</li> <li>Move descriptor+GbE (12KiB in total) next to each other</li> <li>Allocate the remaining flash space to the BIOS region</li> <li>Generated the 12KiB descriptor+GbE region, based on this, to insert into a coreboot ROM image.</li> </ul> <p>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.</p> <p>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.</p> <p>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.</p> <p>Based on this, I was able to take Steve’s initial proof of concept and work with him extensively to write the <code>ich9gen</code> utility, which generates an Intel Flash Descriptor and GbE NVM region, from scratch, without an Intel ME region defined, without needing a dump of the original Lenovo BIOS firmware. Libreboot used to use <code>ich9gen</code> 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 <em>without</em> needing Intel Management Engine (ME) firmware, thus making those machines <em>libre</em> (the ME is fully disabled, when you use a descriptor+gbe image generated by <code>ich9gen</code>). Note that <code>ich9gen</code> is now obsolete as the Flash Descriptor and NVM region are generated pre-assembled, and <code>nvmutil</code> is used to change MAC addresses instead.</p> <div class="h"><h3 id="swift-geek">Swift Geek</h3><a aria-hidden="true" href="#swift-geek">[link]</a></div> <p>Contributed a patch for ich9gen to generate 16MiB descriptors.</p> <p>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 <em>code</em>, 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.</p> <p>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.</p> <p>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).</p> <p>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.</p> <div class="h"><h3 id="timothee-benedet">Timothee Benedet</h3><a aria-hidden="true" href="#timothee-benedet">[link]</a></div> <p>Translated several Libreboot website pages into the French language.</p> <div class="h"><h3 id="timothy-pearson">Timothy Pearson</h3><a aria-hidden="true" href="#timothy-pearson">[link]</a></div> <p>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.</p> <p><strong>D16 support was removed on 19 November 2022. You can still use older revisions of Libreboot, and older release versions.</strong></p> <div class="h"><h3 id="vladimir-serbinenko">Vladimir Serbinenko</h3><a aria-hidden="true" href="#vladimir-serbinenko">[link]</a></div> <p>Ported many of the thinkpads supported in libreboot, to coreboot, and made many fixes in coreboot which benefited the libreboot project.</p> <p>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).</p> <div class="h"><h3 id="vladislav-shapovalov">Vladislav Shapovalov</h3><a aria-hidden="true" href="#vladislav-shapovalov">[link]</a></div> <p>Translated several pages of the Libreboot website into Ukranian language.</p> <hr /> <p><strong>Did we forget your name?</strong></p> <p><strong>If so, and you would like to be listed here, please contact the Libreboot project.</strong></p> <div id="footer"> <hr /> <ul> <li><a href="/news/policy.html">Binary Blob Reduction Policy</a></li> <li><a href="/freedom-status.html">Freedom status</a></li> <li><a href="https://canoeboot.org/">Canoeboot</a></li> <li><a href="/git.html">Edit this page</a></li> <li><a href="/license.html">License</a></li> <li><a href="/template-license.html">Template</a></li> <li><a href="/logo-license.html">Logo</a></li> <li><a href="/contrib.html">Authors</a></li> </ul> <hr /> </div> <p>Markdown file for this page: <a href="https://libreboot.org/contrib.md" class="uri">https://libreboot.org/contrib.md</a></p> <p><a href="/feed.xml">Subscribe to RSS for this site</a></p> <p><a href="/sitemap.html">Site map</a></p> <p>This HTML page was generated by the <a href="https://libreboot.org/docs/sitegen/">Libreboot Static Site Generator</a>.</p> </div> </div> </body> </html>