It looks roughly the same as when I took 15 years ago, except they switched to riscv from x86. Honestly, what you're describing sounds too difficult for a first assignment. Implementing irq handlers or syscalls on an existing codebase is far more realistic, plausible, and useful.
You can look up which top tier schools use it for OS classes.
connect -r
map -r
fs0:
bootaa64.efi
boot bin.rd
Then you'll be in the OpenBSD installer, having booted an OpenBSD kernel.You can grab the files from: https://ftp.openbsd.org/pub/OpenBSD/snapshots/arm64/
Actually installing the system is left as an exercise for the reader.
Traditionally BSD has booted very differently than Linux, because Linus adopted the same boot process as MINIX when he first developed it (since he was actually using the MINIX boot blocks at first).
BSD has historically used a bootstrap that understands V7FS/FFS and can load a kernel from a path on it. MINIX takes the actual kernel and RAM disk images as parameters so it doesn’t need to know about filesystems, and that tradition continued with Linux bootstraps once it was standalone.