Linux as a universal boot loader for new operating systems
OPEN ACCESS
Author / Producer
Date
2022-05
Publication Type
Master Thesis
ETH Bibliography
yes
Citations
Altmetric
OPEN ACCESS
Data
Rights / License
Abstract
Booting a non-Linux operating system on ARM-based systems is difficult. The
booting infrastructure developed targeting solely Linux, Linux in turn evolved
to be bootable on a wide range of such systems. As a result, it is simple to
boot Linux, but difficult to boot a non-Linux OS on an ARM-based system. In
this thesis, we use Linux as a boot loader to boot a target, non-Linux kernel.
The idea is to leave the boot and initialization process to Linux, then take over
the initialized system. We focus on making booting simpler for new research
kernels in development. To make the development of a new kernel simpler, we
let Linux continue its execution after boot in order to support the new kernel.
In this thesis, we show the feasibility of such a boot loader and describe a
concrete implementation. This boot loader implementation is able to boot a
simple kernel. The boot process never turns a CPU off, thus leaving it in an
initialized state. A virtual address space with an identity map is created for the
booted kernel. The boot environment can be modified to suit specific use cases.
We show that it is possible to use virtio to let the booted kernel use a device
through Linux, by letting it use a virtio console in that way. The device type
specific implementation of virtio is decoupled from the specific physical device,
so by implementing it once, all physical devices of that type can be used. The
boot loader itself profits from the hardware and software support of Linux as
well, enabling it to use devices, file systems and networking out of the box.
Permanent link
Publication status
published
External links
Editor
Contributors
Examiner: Schwyn, Daniel
Examiner : Roscoe, Timothy
Book title
Journal / series
Volume
Pages / Article No.
Publisher
ETH Zurich
Event
Edition / version
Methods
Software
Geographic location
Date collected
Date created
Subject
Organisational unit
03757 - Roscoe, Timothy / Roscoe, Timothy