diff options
| author | Bradley Morgan <brads@mainlining.org> | 2026-10-03 13:46:22 +0000 |
|---|---|---|
| committer | Bradley Morgan <brads@mainlining.org> | 2026-10-03 13:46:22 +0000 |
| commit | 364109a099a368876910ce15fe3140a5519f125e (patch) | |
| tree | f5ca7b38a643db5a7f8b9c23f15d2b254d68531c | |
tashaboot: repo skeleton with scope statement
State plainly what tashaboot is and is not before any code lands.
Payload slot bootloader, boot ROM untouched, read in an afternoon
as the hard requirement.
| -rw-r--r-- | README.md | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..34fdf32 --- /dev/null +++ b/README.md @@ -0,0 +1,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 |
