Directories: oskit/boot/ofwboot Target: ofwboot Documentation: none Original Code Source: Flux Research Group, University of Utah. Derived from PXE boot loader (oskit/boot/pxe). Description: Like oskit/boot/pxe, this is a simple first-stage boot loader which speaks ``bootinfo'', a custom UDP protocol, to a remote server to determine what to boot next. ofwboot is intended to be loaded via TFTP directly from the OpenFirmware; i.e., it is the boot file specified in the BOOTP or DHCP configuration file. As such, it should be ``wrapped'' using the mkofwimage utility. The ofwboot.image target in the Makefile does this. ofwboot works by issuing an OpenFirmware boot command with the bootinfo- provided kernel and command line as the bootspec argument. Hence, the kernel specified via bootinfo itself needs to be a mkofwimage-wrapped OSKit kernel, or other kernel which knows how to interact with OpenFirmware (e.g., a NetBSD or ARM/Linux kernel). Once the ofwboot kernel is running, it will query our own little bootinfo server to find out what to do next. The protocol is very simple, sending a UDP packet to a port defined in oskit/boot/bootwhat.h, which returns a packet. How you implement that server is up to you, but as a trivial example of how to get started, see oskit/boot/pxe/bootinfo/bootinfo.c. Notes * Requires a BOOTP (or DHCP) server to acquire its host information. * Uses a simple UDP/IP implementation which doesn't support IP fragmentation. * This program should be extended to boot multiboot-complient kernels directly (i.e., by loading and jumping to them) rather than by rebooting the machine.