Systemd-boot

Last updated
systemd-boot
Developer(s) Kay Sievers, Harald Hoyer, Karel Zak
Repository github.com/systemd/systemd/tree/master/src/boot
Written in C
Type Boot loader for UEFI systems
License LGPL-2.1-or-later
Website www.freedesktop.org/wiki/Software/systemd/systemd-boot/

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]

Contents

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]

See also

Related Research Articles

<span class="mw-page-title-main">GNU GRUB</span> Boot loader package

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.

<span class="mw-page-title-main">Memtest86</span> Computer memory diagnostics software

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.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

Unified Extensible Firmware Interface is a specification written by the UEFI Forum. It defines the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of firmware that implement the specification are AMI Aptio, Phoenix SecureCore, TianoCore EDK II, InsydeH2O. UEFI replaces the BIOS which was present in the boot ROM of all personal computers that are IBM PC compatible, although it can provide backwards compatibility with the BIOS using CSM booting. Intel developed the original Extensible Firmware Interface (EFI) specification. Some of the EFI's practices and data formats mirror those of Microsoft Windows. In 2005, UEFI deprecated EFI 1.10.

coreboot Open-source computer firmware

coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware 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 or 64-bit operating system.

<span class="mw-page-title-main">TrueOS</span> Unix-like, desktop-oriented operating system

TrueOS is a discontinued Unix-like, server-oriented operating system built upon the most recent releases of FreeBSD-CURRENT.

<span class="mw-page-title-main">EFI system partition</span> Partition used by Unified Extensible Firmware Interface

The EFIsystem partition or ESP is a partition on a data storage device that is used by computers having the Unified Extensible Firmware Interface (UEFI). When a computer is booted, UEFI firmware loads files stored on the ESP to start installing 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 multi-stage booting process of Linux is in many ways similar to the BSD and other Unix-style boot processes, from which it derives.

In Linux, and other Unix-like operating systems, the /boot/ directory holds files used in booting the operating system. The usage is standardized in the Filesystem Hierarchy Standard.

systemd Suite of system components for Linux

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 May and November, although some releases have experienced minor delays.

<span class="mw-page-title-main">Lennart Poettering</span> German software engineer

Lennart Poettering is a German software engineer working for Microsoft and the original author of PulseAudio, Avahi and systemd.

<span class="mw-page-title-main">Harald Hoyer</span>

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

<span class="mw-page-title-main">Devuan</span> Linux distribution based on Debian

Devuan is a fork of the Debian Linux distribution that uses sysvinit, runit or OpenRC instead of systemd. Devuan aims to avoid "lock-in" by projects like systemd and aims to maintain compatibility with other init systems to avoid detaching Linux from other Unix systems.

rEFInd Boot manager for UEFI systems

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.

<span class="mw-page-title-main">LinuxBoot</span> Free software firmware project

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.

References

  1. Rod Smith (2013-04-27). "Managing EFI Boot Loaders for Linux: Using gummiboot".
  2. Michael Larabel (2015-05-21). "Systemd 220 Has Finally Been Released". Phoronix . Retrieved 2015-08-17.
  3. Lennart Poettering (2015-05-21). "[systemd-devel] [ANNOUNCE] systemd v220". lists.freedesktop.org. Retrieved 2021-09-27.
  4. Michael Larabel (2015-07-07). "Gummiboot is Dead". Phoronix . Retrieved 2015-08-17.
  5. "Boot Loader Interface".
  6. 1 2 3 "Gummiboot is an EFI boot loader that "just works"". The H. Retrieved 11 September 2012.
  7. 1 2 "Ubuntu details its UEFI secure boot plans". Linux Weekly News. Retrieved 11 September 2012.