Coreboot
   HOME

TheInfoList



OR:

coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary
firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
(
BIOS In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
or
UEFI UEFI (Unified Extensible Firmware Interface) is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of ...
) found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and run a modern
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
or
64-bit In computer architecture, 64-bit Integer (computer science), integers, memory addresses, or other Data (computing), data units are those that are 64 bits wide. Also, 64-bit central processing unit, CPUs and arithmetic logic unit, ALUs are those ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
. Since coreboot initializes the bare hardware, it must be ported to every
chipset In a computer system, a chipset is a set of electronic components An electronic component is any basic discrete device or physical entity in an electronic system used to affect electrons or their associated fields. Electronic components are ...
and
motherboard A motherboard (also called mainboard, main circuit board, mb, mboard, backplane board, base board, system board, logic board (only in Apple computers) or mobo) is the main printed circuit board (PCB) in general-purpose computers and other expand ...
that it supports. As a result, coreboot is available only for a limited number of hardware platforms and motherboard models. One of the coreboot variants is
Libreboot Libreboot (briefly known as GNU Libreboot) is a free software project based on coreboot, aimed at replacing the proprietary BIOS firmware contained by most computers. Libreboot is a lightweight system designed to perform only the minimum number ...
, a
software distribution Software distribution is the process of delivering software to the end user. A distro is a collection of software components built, assembled and configured so that it can essentially be used "as is". It is often the closest thing to turnkey form ...
fully free of proprietary blobs, aimed at end users.


History

The coreboot project began in the winter of 1999 in the Advanced Computing Laboratory at
Los Alamos National Laboratory Los Alamos National Laboratory (often shortened as Los Alamos and LANL) is one of the sixteen research and development laboratories of the United States Department of Energy (DOE), located a short distance northwest of Santa Fe, New Mexico, ...
(LANL), with the goal of creating a BIOS that would start fast and handle errors intelligently. It is licensed under the terms of the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the Four Freedoms (Free software), four freedoms to run, study, share, and modify the software. The license was th ...
version 2 (GPLv2). Main contributors include
LANL Los Alamos National Laboratory (often shortened as Los Alamos and LANL) is one of the sixteen research and development laboratories of the United States Department of Energy (DOE), located a short distance northwest of Santa Fe, New Mexico, ...
, SiS,
AMD Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufactur ...
,
Coresystems Coresystems AG is a software-developing company, headquartered in Switzerland, and a reseller of SAP Business One and SAP's field service management platform. History Coresystems AG was founded in 2006 in Windisch, Aargau. In November 2013, the ...
and Linux Networx, Inc, as well as motherboard vendors MSI,
Gigabyte The gigabyte () is a multiple of the unit byte for digital information. The prefix ''giga'' means 109 in the International System of Units (SI). Therefore, one gigabyte is one billion bytes. The unit symbol for the gigabyte is GB. This defini ...
and
Tyan Tyan Computer Corporation (泰安電腦科技股份有限公司; also known as Tyan Business Unit, or TBU) is a subsidiary of MiTAC International, and a manufacturer of computer motherboards, including models for both AMD and Intel processors. Th ...
, which offer coreboot alongside their standard BIOS or provide specifications of the hardware interfaces for some of their motherboards.
Google Google LLC () is an American multinational technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics. ...
partly sponsors the coreboot project.
CME Group CME Group Inc. (Chicago Mercantile Exchange, Chicago Board of Trade, New York Mercantile Exchange, The Commodity Exchange) is an American global markets company. It is the world's largest financial derivatives exchange, and trades in asset class ...
, a cluster of
futures exchange A futures exchange or futures market is a central financial exchange where people can trade standardized futures contracts defined by the exchange. Futures contracts are derivatives contracts to buy or sell specific quantities of a commodity or f ...
s, began supporting the coreboot project in 2009. Coreboot was accepted in seven consecutive years (2007–2014) for the
Google Summer of Code The Google Summer of Code, often abbreviated to GSoC, is an international annual program in which Google awards stipends to contributors who successfully complete a free and open-source software coding project during the summer. , the program is ...
. Other than the first three models, all
Chromebook A Chromebook (sometimes stylized in lowercase as chromebook) is a laptop or tablet running the Linux-based ChromeOS as its operating system. Initially designed to heavily rely on web applications for tasks using the Google Chrome browser, Chromeb ...
s run coreboot. Code from
Das U-Boot Das U-Boot (subtitled "the Universal Boot Loader" and often shortened to U-Boot; see ''History'' for more about the name) is an open-source, primary boot loader used in embedded devices to package the instructions to boot the device's operating ...
has been assimilated to enable support for processors based on the ARM instruction set. In June 2019, Coreboot began to use the
NSA The National Security Agency (NSA) is a national-level intelligence agency of the United States Department of Defense, under the authority of the Director of National Intelligence (DNI). The NSA is responsible for global monitoring, collecti ...
software
Ghidra Ghidra (pronounced gee-druh; ) is a free and open source reverse engineering tool developed by the National Security Agency (NSA) of the United States. The binaries were released at RSA Conference in March 2019; the sources were published one mo ...
for its
reverse engineering Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
efforts on firmware-specific problems following the release of the suite as
free and open source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
.


Supported platforms

CPU architectures supported by coreboot include
IA-32 IA-32 (short for "Intel Architecture, 32-bit", commonly called i386) is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnation of ...
,
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mod ...
,
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
,
ARM64 AArch64 or ARM64 is the 64-bit extension of the ARM architecture family. It was first introduced with the Armv8-A architecture. Arm releases a new extension every year. ARMv8.x and ARMv9.x extensions and features Announced in October 2011, AR ...
, MIPS and
RISC-V RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
. Supported
system-on-a-chip A system on a chip or system-on-chip (SoC ; pl. ''SoCs'' ) is an integrated circuit that integrates most or all components of a computer or other electronic system. These components almost always include a central processing unit (CPU), memory ...
(SOC) platforms include AMD
Geode A geode (; ) is a geological secondary formation within sedimentary and volcanic rocks. Geodes are hollow, vaguely spherical rocks, in which masses of mineral matter (which may include crystals) are secluded. The crystals are formed by the fill ...
, starting with the Geode GX processor developed for the OLPC. Artec Group added Geode LX support for its
ThinCan ThinCan is the name for a thin client manufactured by Estonian electronic design start-up Artec Group. The ThinCan remained relatively unknown outside Estonia until 2006, when a recent ThinCan iteration was selected as the hardware base for the ...
model DBE61; that code was adopted by AMD and further improved for the OLPC after it was upgraded to the Geode LX platform, and is further developed by the coreboot community to support other Geode variants. Coreboot can be flashed onto a Geode platform using Flashrom. From that initial development on AMD Geode based platforms, coreboot support has been extended onto many AMD processors and chipsets. The processor list includes Family 0Fh and 10h ( K8 core), and recently Family 14h (
Bobcat The bobcat (''Lynx rufus''), also known as the red lynx, is a medium-sized cat native to North America. It ranges from southern Canada through most of the contiguous United States to Oaxaca in Mexico. It is listed as Least Concern on the IUC ...
core,
Fusion Fusion, or synthesis, is the process of combining two or more distinct entities into a new whole. Fusion may also refer to: Science and technology Physics *Nuclear fusion, multiple atomic nuclei combining to form one or more different atomic nucl ...
APU APU or Apu may refer to: Film and television * ''The Apu Trilogy'', a series of three Bengali films, directed by Satyajit Ray, with the fictional character Apu Roy, comprising: ** ''Pather Panchali'' (''Song of the Little Road'') (1955), the first ...
). Coreboot support also extends to AMD chipsets: RS690, RS7xx, SB600, and SB8xx. AMD Generic Encapsulated Software Architecture ( AGESA)a bootstrap protocol by which system devices on AMD64 mainboards are initializedwas open sourced in early 2011, aiming to provide required functionality for coreboot system initialization on AMD64 hardware. However, such releases never became the basis for future development by AMD, and were subsequently halted. Devices that can be preloaded with coreboot or one of its derivatives include * some x86-based
Chromebook A Chromebook (sometimes stylized in lowercase as chromebook) is a laptop or tablet running the Linux-based ChromeOS as its operating system. Initially designed to heavily rely on web applications for tasks using the Google Chrome browser, Chromeb ...
s, * the Libre T440p and X230 (rebranded ThinkPad T440p and X230, respectively, available from Minifree, previously known as Gluglug),, *
OLPC XO The OLPC XO (formerly known as $100 Laptop, Children's Machine, 2B1) is a low cost laptop computer intended to be distributed to children in developing countries around the world, to provide them with access to knowledge, and opportunities to ...
from the One Laptop per Child initiative, *
ThinCan ThinCan is the name for a thin client manufactured by Estonian electronic design start-up Artec Group. The ThinCan remained relatively unknown outside Estonia until 2006, when a recent ThinCan iteration was selected as the hardware base for the ...
models DBE61, DBE62 and DBE63, and fanless server/router hardware manufactured by
PC Engines PC or pc may refer to: Arts and entertainment * Player character or playable character, a fictional character controlled by a human player, usually in role-playing games or computer games * ''Port Charles'', an American daytime TV soap opera * ...
. * All
Purism Purism, referring to the arts, was a movement that took place between 1918 and 1925 that influenced French painting and architecture. Purism was led by Amédée Ozenfant and Charles Edouard Jeanneret (Le Corbusier). Ozenfant and Le Corbusier fo ...
Librem Librem is a line of computers manufactured by Purism, SPC featuring free (libre) software. The laptop line is designed to protect privacy and freedom by providing no non-free (proprietary) software in the operating system or kernel, avoiding t ...
laptops come with coreboot. * Some System76 PCs use coreboot TianoCore firmware, including open source
Embedded Controller An Embedded Controller (EC) is a microcontroller in computers that handles various system tasks. Now it is usually merged with Super I/O, especially on mobile platforms (such as laptop). Tasks An embedded controller can have the following task ...
firmware. * StarLabs Systems use Coreboot firmware, as an alternative.


Design

Coreboot typically loads a
Linux kernel The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
, but it can load any other stand-alone
ELF An elf () is a type of humanoid supernatural being in Germanic mythology and folklore. Elves appear especially in North Germanic mythology. They are subsequently mentioned in Snorri Sturluson's Icelandic Prose Edda. He distinguishes "ligh ...
executable, such as
iPXE iPXE is an open-source implementation of the Preboot eXecution Environment (PXE) client software and bootloader, created in 2010 as a fork of gPXE (gPXE was named Etherboot until 2008).gPXE gPXE is an open-source Preboot eXecution Environment (PXE) client firmware implementation and bootloader derived from Etherboot. It can be used to enable computers without built-in PXE support to boot from the network, or to extend an existing ...
or Etherboot that can boot a Linux kernel over a network, or
SeaBIOS SeaBIOS is an open-source implementation of an x86 BIOS, serving as a freely available firmware for x86 systems. Aiming for compatibility, it supports standard BIOS features and calling interfaces that are implemented by a typical proprietary x ...
that can load a Linux kernel,
Windows 2000 Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was Software release life cycle#Release to manufacturing (RTM), releas ...
and later, and BSDs; Windows 2000/ XP and
OpenBSD OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. According to the website, the OpenBSD project em ...
support was previously provided by ADLO. Coreboot can also load a kernel from any supported device, such as Myrinet, Quadrics, or SCI
cluster may refer to: Science and technology Astronomy * Cluster (spacecraft), constellation of four European Space Agency spacecraft * Asteroid cluster, a small asteroid family * Cluster II (spacecraft), a European Space Agency mission to study t ...
interconnects. Booting other
kernels Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
directly is also possible, such as a Plan 9 kernel. Instead of loading a kernel directly, coreboot can pass control to a dedicated boot loader, such as a coreboot-capable version of
GNU GRUB GNU GRUB (short for GNU GRand Unified Bootloader, commonly referred to as GRUB) is a boot loader package from the GNU Project. GRUB is the reference implementation of the Free Software Foundation's Multiboot Specification, which provides a use ...
2. Coreboot is written primarily in C, with a small amount of
assembly code In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence b ...
. Choosing C as the primary programming language enables easier
code audit A software code audit is a comprehensive analysis of source code in a programming project with the intent of discovering bugs, security breaches or violations of programming conventions. It is an integral part of the defensive programming paradigm ...
s when compared to contemporary PC BIOS that was generally written in assembly, which results in improved security. There is build and runtime support to write parts of coreboot in
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, ...
to further raise the security bar, but it is currently only sporadically used. The source code is released under the GNU GPL version 2 license. Coreboot performs the absolute minimal amount of hardware initialization and then passes control to the
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
. As a result, there is no coreboot code running once the operating system has taken control. A feature of coreboot is that the
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introd ...
version runs in
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
mode after executing only ten instructions (almost all other x86 BIOSes run exclusively in
16-bit 16-bit microcomputers are microcomputers that use 16-bit microprocessors. A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
mode). This is similar to the modern
UEFI UEFI (Unified Extensible Firmware Interface) is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of ...
firmware, which is used on newer PC hardware. By itself, coreboot does not provide BIOS call services. The SeaBIOS
payload Payload is the object or the entity which is being carried by an aircraft or launch vehicle. Sometimes payload also refers to the carrying capacity of an aircraft or launch vehicle, usually measured in terms of weight. Depending on the nature of ...
can be used to provide BIOS calls and thus allow coreboot to load
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s that require those services, such as Windows 2000/XP/Vista/7 and BSDs. However, most modern operating systems access hardware in another manner and use BIOS calls only during early initialization and as a fallback mechanism.


Coreboot stages

# Bootblock stage: Prepare to obtain Flash access and look up the ROM stage to use # ROM stage: Memory and early chipset init (a bit like PEI in UEFI) # RAM stage: CPU, chipset and mainboard init, PCI resource assignment, ACPI and SMBIOS table creation, SMM handler (a bit like DXE stage in UEFI) # Payload.


Initializing DRAM

The most difficult hardware that coreboot initializes is the DRAM controllers and
DRAM Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access semiconductor memory that stores each bit of data in a memory cell, usually consisting of a tiny capacitor and a transistor, both typically based on metal-oxid ...
. In some cases, technical documentation on this subject is
NDA NDA may stand for: Military * National Defence Academy (India), a military academy in India * National Defence Act, legislation for organizing and funding Canada's military * National Defense Academy of Japan, a military academy in Japan * Nig ...
restricted or unavailable. RAM initialization is particularly difficult because before the RAM is initialized it cannot be used. Therefore, to initialize DRAM controllers and DRAM, the initialization code may have only the CPU's
general purpose registers A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. ...
or Cache-as-RAM as temporary storage. romcc, a C
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
that uses registers instead of RAM, eases the task. Using romcc, it is relatively easy to make
SMBus The System Management Bus (abbreviated to SMBus or SMB) is a single-ended simple two-wire bus for the purpose of lightweight communication. Most commonly it is found in computer motherboards for communication with the power source for ON/OFF instru ...
accesses to the
SPD The Social Democratic Party of Germany (german: Sozialdemokratische Partei Deutschlands, ; SPD, ) is a centre-left social democratic political party in Germany. It is one of the major parties of contemporary Germany. Saskia Esken has been t ...
ROMs of the DRAM
DIMM A DIMM () (Dual In-line Memory Module), commonly called a RAM stick, comprises a series of dynamic random-access memory integrated circuits. These memory modules are mounted on a printed circuit board and designed for use in personal compute ...
s, that allows the RAM to be used. With newer x86 processors, the processor cache can be used as RAM until DRAM is initialized. The processor cache has to be initialized into Cache-as-RAM mode as well, but this needs fewer instructions than initializing DRAM. Also, the Cache-as-RAM mode initialization is specific to CPU architectures, thus more generic than DRAM initialization, which is specific to each chipset and mainboard. For most modern x86 platforms, closed source binary-only components provided by the vendor are used for DRAM setup. For Intel systems, FSP-M is required, while AMD has no current support. Binary AGESA is currently used for proprietary UEFI firmware on AMD systems, and this model is expected to carry over to any future AMD-related coreboot support.


Developing and debugging coreboot

Since coreboot must initialize the bare hardware, it must be ported to every
chipset In a computer system, a chipset is a set of electronic components An electronic component is any basic discrete device or physical entity in an electronic system used to affect electrons or their associated fields. Electronic components are ...
and
motherboard A motherboard (also called mainboard, main circuit board, mb, mboard, backplane board, base board, system board, logic board (only in Apple computers) or mobo) is the main printed circuit board (PCB) in general-purpose computers and other expand ...
that it supports. Before initializing
RAM Ram, ram, or RAM may refer to: Animals * A male sheep * Ram cichlid, a freshwater tropical fish People * Ram (given name) * Ram (surname) * Ram (director) (Ramsubramaniam), an Indian Tamil film director * RAM (musician) (born 1974), Dutch * ...
, coreboot initializes the
serial port In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. ...
(addressing cache and registers only), so it can send out debug text to a connected
terminal Terminal may refer to: Computing Hardware * Terminal (electronics), a device for joining electrical circuits together * Terminal (telecommunication), a device communicating over a line * Computer terminal, a set of primary input and output dev ...
. It can also send byte codes to port 0x80 that are displayed on a two-hex-digit display of a connected
POST card A postcard or post card is a piece of thick paper or thin cardboard, typically rectangular, intended for writing and mailing without an envelope. Non-rectangular shapes may also be used but are rare. There are novelty exceptions, such as wood ...
. Another porting aid was the commercial "RD1 BIOS Savior" product from www.ioss.com.tw, (not to be confused with US Interagency OPSEC Support Staff at www.iad.gov/ioss/) which was a combination of two boot memory devices that plugs into the boot memory socket and has a manual switch to select between the two devices. The computer could boot from one device, and then the switch can be toggled to allow the computer to reprogram or "flash" the second device. A more expensive alternative is an external
EEPROM EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
/ NOR flash programmer. There are also CPU
emulator In computing, an emulator is Computer hardware, hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run so ...
s that either replace the CPU or connect via a
JTAG JTAG (named after the Joint Test Action Group which codified it) is an Technical standard, industry standard for verifying designs and testing printed circuit boards after manufacture. JTAG implements standards for on-chip instrumentation in ele ...
port, with the Sage SmartProbe being an example. Code can be built on, or downloaded to, BIOS emulators rather than flashing the BIOS device.


Payloads

Coreboot can load a payload, which may be written using the helper library. Existing payloads include the following: *
SeaBIOS SeaBIOS is an open-source implementation of an x86 BIOS, serving as a freely available firmware for x86 systems. Aiming for compatibility, it supports standard BIOS features and calling interfaces that are implemented by a typical proprietary x ...
, a tiny implementation of x86 BIOS, written mostly in 16-bit C using the
GNU C compiler The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. The Free Software Foundation (FSF) distributes GCC as free software ...
*
TianoCore TianoCore EDK II (formerly Tiano) is the reference implementation of UEFI by Intel. EDK is the abbreviation for EFI Development Kit and is developed by the TianoCore community. TianoCore EDK II is the de facto standard generic UEFI services implem ...
, a free and open-source implementation of
UEFI UEFI (Unified Extensible Firmware Interface) is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of ...
*
OpenBIOS OpenBIOS is a project aiming to provide free and open source implementations of Open Firmware. It is also the name of such an implementation. Most of the implementations provided by OpenBIOS rely on additional lower-level firmware for hardware i ...
, a free and open-source implementation of
Open Firmware Open Firmware is a standard defining the interfaces of a computer firmware system, formerly endorsed by the Institute of Electrical and Electronics Engineers (IEEE). It originated at Sun Microsystems, where it was known as OpenBoot, and has bee ...
*
GNU GRUB GNU GRUB (short for GNU GRand Unified Bootloader, commonly referred to as GRUB) is a boot loader package from the GNU Project. GRUB is the reference implementation of the Free Software Foundation's Multiboot Specification, which provides a use ...
, a bootloader * FILO, a GRUB-like bootloader with USB boot support * Etherboot, it can boot an operating system over the network *
gPXE gPXE is an open-source Preboot eXecution Environment (PXE) client firmware implementation and bootloader derived from Etherboot. It can be used to enable computers without built-in PXE support to boot from the network, or to extend an existing ...
/
iPXE iPXE is an open-source implementation of the Preboot eXecution Environment (PXE) client software and bootloader, created in 2010 as a fork of gPXE (gPXE was named Etherboot until 2008).ChromeOS ChromeOS, sometimes stylized as chromeOS and formerly styled as Chrome OS, is a Linux-based operating system designed by Google. It is derived from the open-source ChromiumOS and uses the Google Chrome web browser as its principal user interfac ...
* A branch of
Das U-Boot Das U-Boot (subtitled "the Universal Boot Loader" and often shortened to U-Boot; see ''History'' for more about the name) is an open-source, primary boot loader used in embedded devices to package the instructions to boot the device's operating ...
was used by Google for
ChromiumOS ChromiumOS is a free and open-source operating system designed for running web applications and browsing the World Wide Web. It is the open-source version of ChromeOS, a Linux-based operating system made by Google. Like ChromeOS, ChromiumOS is ...
in the past


European Coreboot Conference

One physical meeting is the European Coreboot Conference which was organized in October 2017 and lasted for three days.


Conference history


Vendors

Coreboot is open source, and third-parties such as
Chromebooks A Chromebook (sometimes stylized in lowercase as chromebook) is a laptop or tablet running the Linux-based ChromeOS as its operating system. Initially designed to heavily rely on web applications for tasks using the Google Chrome browser, Chromeb ...
, PC Engines, Star Labs, System76 and
Purism Purism, referring to the arts, was a movement that took place between 1918 and 1925 that influenced French painting and architecture. Purism was led by Amédée Ozenfant and Charles Edouard Jeanneret (Le Corbusier). Ozenfant and Le Corbusier fo ...
ship their hardware with coreboot.


Variants

Coreboot has a number of variants from its original code base each with slightly different objectives: * librecore - A variant with more focus on
freedom Freedom is understood as either having the ability to act or change without constraint or to possess the power and resources to fulfill one's purposes unhindered. Freedom is often associated with liberty and autonomy in the sense of "giving on ...
, non-x86
instruction set In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ' ...
computers, and firmware development frameworks. *
Libreboot Libreboot (briefly known as GNU Libreboot) is a free software project based on coreboot, aimed at replacing the proprietary BIOS firmware contained by most computers. Libreboot is a lightweight system designed to perform only the minimum number ...
- A variant with a primary focus to remove all binary blobs. * osboot - A variant similar to Libreboot that scrapped its no blob policy to increase hardware support and stability. As of November 2022 merged with libreboot.
Libreboot Libreboot (briefly known as GNU Libreboot) is a free software project based on coreboot, aimed at replacing the proprietary BIOS firmware contained by most computers. Libreboot is a lightweight system designed to perform only the minimum number ...
has been established as a distribution of coreboot without proprietary
binary blob In the context of free and open-source software, proprietary software only available as a binary executable is referred to as a blob or binary blob. The term usually refers to a device driver module loaded into the kernel of an open-source ope ...
s. Libreboot is not a straight
fork In cutlery or kitchenware, a fork (from la, furca 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods ei ...
of coreboot; instead, it is a parallel effort that works closely with and re-bases every so often on the latest coreboot as the upstream supplier, with patches merged upstream whenever possible. In addition to removing proprietary software, libreboot also attempts to make coreboot easy to use by automating the build and installation processes. The Libreboot project made possible the required modifications for completely libre variants of some
ThinkPad ThinkPad is a line of business-oriented laptop computers and tablet computers, tablets designed, developed and marketed by Lenovo, and formerly by IBM until 2005, when IBM's Personal computer, PC business was acquired by Lenovo. ThinkPads have ...
, MacBook and ARM
Chromebook A Chromebook (sometimes stylized in lowercase as chromebook) is a laptop or tablet running the Linux-based ChromeOS as its operating system. Initially designed to heavily rely on web applications for tasks using the Google Chrome browser, Chromeb ...
laptops.


See also

*
Beowulf cluster A Beowulf cluster is a computer cluster of what are normally identical, commodity-grade computers networked into a small local area network with libraries and programs installed which allow processing to be shared among them. The result is a hig ...
*
LinuxBoot LinuxBoot is a free software project aimed at replacing most of the Driver Execution Environment (DXE) modules in Unified Extensible Firmware Interface (UEFI) firmware with the Linux kernel. LinuxBoot must run on top of hardware initialisation s ...
*
LOBOS Lobos is the headquarters city of the Lobos Partido in Buenos Aires Province, Argentina. It was founded on 2 June 1802 by José Salgado. Background Located 100 km from Buenos Aires, Lobos is currently a fertile agricultural area known ma ...
*
Open-source hardware Open-source hardware (OSH) consists of physical artifacts of technology designed and offered by the open-design movement. Both free and open-source software (FOSS) and open-source hardware are created by this open-source culture movement and a ...
* Rapid Boot


References


Further reading


Inside the Linux boot process
by M. Jones, IBM
Open BIOSes for Linux
by Peter Seebach (archive only)
LinuxBIOS ready to go mainstream
by Bruce Byfield
First desktop motherboard supported by LinuxBIOS: GIGABYTE M57SLI-S4
by Brandon Howard
Video recording of Ron Minnich's LinuxBIOS talk from FOSDEM 2007

Coreboot Your Service
Linux Journal ''Linux Journal'' (''LJ'') is an American monthly technology magazine originally published by Specialized System Consultants, Inc. (SSC) in Seattle, Washington since 1994. In December 2006 the publisher changed to Belltown Media, Inc. in Houston ...
, October 2009
media.ccc.de - Search for "Peter Stuge"


External links

* * {{Official website Free BIOS implementations High-priority free software projects Firmware Custom firmware Software related to embedded Linux