Currently the UNIX booter and the standalone system used in initial installation have individual drivers for all supported devices, just like the full kernel. However, with the addition of two major subsystems (MSCP and cluster interfaces and SCSI), the complexity of the hardware support code in the kernel will explode, and reproducing it in the standalone system will be out of the question.

Given the impossibility of writing standalone device drivers for something like CI or DSSI, there is only one way to boot UNIX: use DEC booting facilities (VMB and 750-style ROM routines) that don't require knowing how to talk to the hardware, like VMS and Ultrix do.

The Ultrix sources show how to do it within the standalone system. What's needed is a new bootblock and a new /boot program that would use DEC booting facilities instead of standalone device drivers. At the source level they would still use many standalone system components, but would be linked with a special pseudo-driver that calls the VMB or the 750-style ROM routines instead of the usual standalone device drivers.

When this is done the users will have a choice between the old boot path and the new one. The old one cannot be completely dropped because it supports some beloved-by-CSRG non-DEC hardware that VMB doesn't support, but since the Quasijarus Consortium is not obligated in any way to extend this support to newer CPUs, the old system can be frozen where it is. In fact, some things, namely, the standalone uda, kdb, and tmscp drivers, will have to be dropped. They depend on the corresponding drivers in the kernel, which will go away some day in favor of an SCA framework, and are just plain busted in many ways. There is no way someone can sensibly call this a loss of features, since no one in the right mind can prefer those broken drivers to VMB.

Note, however, that this only concerns the boot program. There is no way to implement copy or any of the other UNIX standalone programs in terms of VMB. Therefore, the initial installation will have to be done in some other way. My current plan is to allow the full kernel to be booted directly from a tape or a console medium, like in Ultrix, and add a feature to the GENERIC kernel to copy the miniroot from tape to disk (using normal UNIX device drivers) before mounting and booting it.

It should also be noted that in theory copy can be used for more than just initial installation, and there also exist ls and cat standalone programs. Of course they are of very little practical use, and although this doesn't entitle the Quasijarus Consortium to drop them, the Quasijarus Consortium is in no way obligated to extend them to newer hardware. They can remain frozen.

Finally, I should mention format and drtest, low-level standalone utilities that by definition cannot be based on something high-level like VMB. However, these programs are specific to hp and up disks on the Big 4, and by definition do not need hardware support expansion. They can also remain frozen.

With some luck, the changes described in this section will appear in the next release.

This page has been last updated on 16-MAY-1999.

@(#)boot.html 1.1 03/12/18

Michael Sokolov
msokolov@ivan.Harhan.ORG