Developer(s) | Kay Sievers, Harald Hoyer, Karel Zak |
---|---|
Repository | github |
Written in | C |
Type | Boot loader for UEFI systems |
License | LGPL-2.1-or-later |
Website | systemd |
systemd-boot is a free and open-source boot manager created by obsoleting the gummiboot project and merging it into systemd in May 2015. [1] [2] [3] [4]
gummiboot was developed by the Red Hat employees Kay Sievers and Harald Hoyer and designed as a minimal alternative to GNU GRUB for systems using the Unified Extensible Firmware Interface (UEFI). It automatically detected bootable images (including operating systems and other boot loaders), did not require a configuration file, provided a basic menu-based interface, and could also integrate with systemd to provide performance data. [5]
As a word play, the name "gummiboot" means "rubber (inflatable) boat" in German, the native language of its initial developers. [6] Despite being developed by two of its employees, Red Hat's Fedora Project did not use gummiboot for booting UEFI systems; instead, it used efilinux to chainload GRUB. [6] [7]
gummiboot was licensed under LGPL-2.1-or-later, unlike GRUB which is licensed under the GPL-3.0-or-later. This distinction was intended to allow gummiboot to be suitable for use on UEFI systems implementing secure boot, [6] due to concerns surrounding its requirement to distribute all authorization keys (digital certificates) needed to run GPL-v3-licensed software if hardware restrictions such as secure boot are in effect. [7]
LILO is a bootloader for Linux and was the default boot loader for most Linux distributions. Unlike loadlin, it allowed booting Linux without having DOS on the computer. As of 2009, most distributions have switched to GRUB as the default boot loader. Further development of LILO was discontinued in December 2015 along with a request by Joachim Wiedorn for potential developers.
GNU 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 user the choice to boot one of multiple operating systems installed on a computer or select a specific kernel configuration available on a particular operating system's partitions.
MemTest86 and Memtest86+ are memory test software programs designed to test and stress test an x86 architecture computer's random-access memory (RAM) for errors, by writing test patterns to most memory addresses, reading back the data, and comparing for errors. Each tries to verify that the RAM will accept and correctly retain arbitrary patterns of data written to it, that there are no errors where different bits of memory interact, and that there are no conflicts between memory addresses.
Unified Extensible Firmware Interface is a specification for the firmware architecture of a computing platform. When a computer is powered on, the UEFI-implementation is typically the first that runs, before starting the operating system. Examples include AMI Aptio, Phoenix SecureCore, TianoCore EDK II, InsydeH2O.
TrueOS is a discontinued Unix-like, server-oriented operating system built upon the most recent releases of FreeBSD-CURRENT.
The EFIsystem partition or ESP is a partition on a data storage device that is used by computers that have the Unified Extensible Firmware Interface (UEFI). When a computer is booted, UEFI firmware loads files stored on the ESP to start operating systems and various utilities.
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 operating system, and is sometimes also applied to code running outside the kernel, such as system firmware images, microcode updates, or userland programs. The term blob was first used in database management systems to describe a collection of binary data stored as a single entity.
The Linux Unified Key Setup (LUKS) is a disk encryption specification created by Clemens Fruhwirth in 2004 and originally intended for Linux.
The following tables compare general and technical information for a number of available bootloaders.
The Linux booting process involves multiple stages and is in many ways similar to the BSD and other Unix-style boot processes, from which it derives. Although the Linux booting process depends very much on the computer architecture, those architectures share similar stages and software components, including system startup, bootloader execution, loading and startup of a Linux kernel image, and execution of various startup scripts and daemons. Those are grouped into 4 steps: system startup, bootloader stage, kernel stage, and init process.
In Unix-like operating systems, a boot folder is the directory which holds files used in booting the operating system, typically /boot. The usage is standardized within Linux in the Filesystem Hierarchy Standard.
systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions. Its primary component is a "system and service manager" — an init system used to bootstrap user space and manage user processes. It also provides replacements for various daemons and utilities, including device management, login management, network connection management, and event logging. The name systemd adheres to the Unix convention of naming daemons by appending the letter d. It also plays on the term "System D", which refers to a person's ability to adapt quickly and improvise to solve problems.
Fedora Linux is a popular Linux distribution developed by the Fedora Project. Fedora attempts to maintain a six-month release schedule, offering new versions in Spring and Fall, although some releases have experienced minor delays.
Lennart Poettering is a German software engineer working for Microsoft and the original author of PulseAudio, Avahi and systemd.
Harald Hoyer is a computer programmer and photographer, best known for developing the dracut initramfs generator and framework, the udev device manager of Linux, the systemd replacement for the System V init daemon and the Gummiboot EFI boot loader. Harald Hoyer also made various contributions to the Linux Kernel, starting 1997. In 2012, together with Kay Sievers, Hoyer was the main driving force behind merging the /lib, /bin and /sbin file system trees into /usr in the Fedora distribution
Matthew Garrett is an Irish technologist, programmer, and free software activist who is a major contributor to a series of free software projects including Linux, GNOME, Debian, Ubuntu, and Red Hat. He has received the Free Software Award from the Free Software Foundation (FSF) for his work on Secure Boot, UEFI, and the Linux kernel.
Devuan is a open source, Debian-based Linux distribution that aims to maintain compatibility with other init systems and avoid lock-in by systemd. Devuan offers sysvinit, runit or OpenRC as alternatives to systemd.
rEFInd is a boot manager for UEFI and EFI-based machines. It can be used to boot multiple operating systems that are installed on a single non-volatile device. It also provides a way to launch UEFI applications.
fwupd is an open-source daemon for managing the installation of firmware updates on Linux-based systems, developed by GNOME maintainer Richard Hughes. It is designed primarily for servicing the Unified Extensible Firmware Interface (UEFI) firmware on supported devices via EFI System Resource Table (ESRT) and UEFI Capsule, which is supported in Linux kernel 4.2 and later. Previously, the initiation of UEFI firmware updates within an operating system could, on most systems, only be performed using Microsoft Windows or DOS-specific software. ESRT allows the firmware to expose updatable components to the operating system, which can pass a UEFI capsule with updated firmware for processing and installation on the next boot. Updates can be exposed via a command line tool, or within graphical package managers via a D-Bus interface.
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 software in order to start. This can be the Pre-EFI Initialization (PEI) part of UEFI, coreboot, or U-Boot. It can boot Linux through the kexec syscall, but is also able to boot Windows with a different method.