Skip to content
Simple UEFI Boot Manager
Branch: master
Clone or download
Pull request Compare This branch is 33 commits ahead of msekletar:master.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
project Synced with the latest sources from the 'systemd' project. May 26, 2018
samples/uefi_root/loader Added main project build script. Added sample configuration entries f… Dec 10, 2017
.gitignore
LICENSE Create LICENSE Dec 12, 2017
README.md Updated the link to the latest published release. May 26, 2018
build_project.sh Prepared new release (26-May-2018) and added some useful automations … May 26, 2018
generate_mll_iso_32.sh
generate_mll_iso_64.sh Added helper scripts. Dec 10, 2017
generate_release.sh Prepared new release (26-May-2018) and added some useful automations … May 26, 2018
prepare_third_party_software.sh Prepared new release (26-May-2018) and added some useful automations … May 26, 2018
qemu_uefi_32.sh
qemu_uefi_64.sh Added helper scripts. Dec 10, 2017

README.md

systemd-boot

systemd-boot (previously known as gummyboot) is a simple UEFI boot manager. Its main job is to launch the selected boot menu entry. 'systemd-boot' leverages APIs provided by the UEFI and offloads all the heavy lifting to the firmware (e.g. loading files from disk, executing EFI images). This allows for very minimal implementation, but feature complete to support common usecases (desktop, laptop).

Precompiled 'systemd-boot' UEFI images and sample configuration files are available in the release section. The latest stable release is systemd-boot_26-May-2018. Each release contains the following artifacts:

  • UEFI compliant directory structure with general purpose 'systemd-boot' UEFI boot loader images for 'x86' and 'x86_64' architectures.
  • Sample configuration files for 'x86' and 'x86_64' machines which describe the boot entries for Minimal Linux Live.

The primary use case of this project is to provide precompiled general purpose 'systemd-boot' UEFI boot loader images which in turn support the UEFI boot process of Minimal Linux Live.

The raw source code, along with build documentation can be found in the project folder. Most probably you don't need it, unless you really want to build 'systemd-boot' from scratch.

The shell scripts in the main folder rely on the precompiled binaries and on other third party software. You don't need these scripts, nor you need the third party software, unless you want to build custom Minimal Linux Live ISO image which boots on UEFI systems. This serves as proof of concept that the precompiled binaries work fine.

How to use

Good documentation regarding 'systemd-boot' can be found here:

The helper scripts in the main folder do the following:

  • Download and prepare third party software dependencies, e.g. the precompiled UEFI boot loader images, OVMF images, Syslinux, sample kernel/initramfs files, etc.
  • Genrate sample 'El Torito' boot image as described in UEFI sepcification 2.7, sections 13.3.1.x and 13.3.2.x.
  • Generate sample ISO image with UEFI boot support.
  • Run QEMU with UEFI enabled configuration and attached sample ISO image.

Note that you need QEMU on your system in order to test the sample ISO images. You can install it like this (Ubuntu):

  • sudo apt install qemu

Please consider all helper scritps just as helper scripts. You can use them to gain some more knowledge about the 'systemd-boot' UEFI boot loader insfrastructure and how to create UEFI compatible ISO images.

You can’t perform that action at this time.