towboot – a Multiboot-compatible bootloader for UEFI-based x86 systems

Read full text
Authors: Niklas Sombert
Cited by: 0

Abstract

Current desktop and server computers run on firmware that is compatible to the UEFI standard[37] and responsible for ini- tializing the hardware and loading a bootloader, e.g. GRUB[8]. The bootloader then prepares the early boot environment and hands control over to the operating system. Modern bootloaders provide many features and functionalities such as interactive scripting languages which results in large code bases – GRUB consists of 300 thousand lines of C/C++ and 64 thousand lines of assembly code. It is not surprising that numerous memory safety violations have been detected in various existing bootloaders[39]. We think many of these issues can be addressed by writing a bootloader in Rust. In this paper we present the design and implementation of tow- boot – a bootloader written in Rust for Multiboot 1 and 2 kernels on UEFI-based x86 / x86_64 systems.

Fields of Study & Subjects

Security and Verification in Computing Logic programming and type systems Parallel Computing and Optimization Techniques

Publication details

Journal / source
Gesellschaft für Informatik (GI)
Publication date
1 January 2026
Language
EN