14+1 person-weeks. A Linux computer with ISA and PCI buses. A small selection of network adapters, suggest NE2000/PCI, Tulip/PCI, WD/SMC 16 bit ISA card. Another Un*x computer with BOOTPD, DHCPD, tftpd and NFS server installed. This could be the contractor's normal machine, just supply a hard disk. Access to an EPROM burner or an EEPROM card (preferred). Web site for release snapshots. Mailing list for testers.
An additonal incentive might be to offer paid registration to a conference such as Usenix to present the work as a paper.
3 monitors. Monitors shall review the design document and provide immediate feedback. They shall test code releases and provide feedback on the quality. The monitors shall between them cover all the operating systems to be booted.
Alpha testers on a mailing list.
Contact persons for various Un*x distributions to create installation packages from the releases.
The Web site and mailing list should be maintained indefinitely after the final release.
Here is a list of existing resources and what useful code if any can be reused.
The startup assembler code and (de)compression code. Maybe the PCI code.
The skeleton of NILO and the Unix driver for testing.
The mknbi utilities.
The drivers themselves.
Routines for interfacing to drivers and tasks such as handling the timer and memory allocation.
For testing the PXE conformance.
gcc, gas (with the 16-bit mode enhancements).
Reference.
By Alessandro Rubini, O'Reily and Associates, Inc.