1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# tashaboot
Small multi stage bootloader for powerpc and arm64. The goal is a
bootloader you can read in an afternoon. Every knob is a #define in one
obvious place, each board is a board.h, and the flasher takes an
editable boot.conf.
Scope, plainly: tashaboot lives in the loaded payload slot, the one
device firmware hands off to. On qcom that is the ABL / BOOT partition
slot, on open firmware boxes it is whatever that stage loads. It loads
a kernel, or chainloads another bootloader, lk2nd style. The boot ROM
is upstream of all of that, it decides whether tashaboot ever runs, and
tashaboot does not touch it.
Targets:
- powerpc: qemu pseries and the OSUOSL LPAR it runs on
- arm64: qemu virt first, real boards after
Design rules:
- small enough to read in one sitting, no mini libc, no driver zoo
- board.h per board, one config header per arch
- boot.conf parsed at flash time, not boot time
- fail loud: if a load fails you see it on the console, not a hang
Status: skeleton. No code yet. C base first (OSU senior project
candidate), asm and bringup after.
License: GPL-2.0
|