From 364109a099a368876910ce15fe3140a5519f125e Mon Sep 17 00:00:00 2001 From: Bradley Morgan Date: Sat, 3 Oct 2026 13:46:22 +0000 Subject: 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. --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 README.md 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 -- cgit v1.2.3