MV/Wiki

A Generation Ago

AOS/VS Startup (Boot)

The information on this page was mainly gleaned from the AOS/VS Internals document which refers to AOS/VS version 5.00 on ‘classic’ (i.e. non-DC-class) hardware.

Below follows a description of the normal cold boot to multi-user AOS/VS from disk.

Prerequisites

To boot from disk:

  • The system disk must have be formatted with the DFMTR program.
  • The base system software must have been installed on the system disk with the INSTL program. The base system includes the DKBT standalone program (also TBOOT) and SYSBOOT.
  • DKBT is the disk bootstrap and is installed on blocks 0 and 1 of the disk.
  • SYSBOOT brings up AOS/VS. If the disk is not prepared in the above manner then you will have to boot from removable media (magnetic tape) via TBOOT.

TBOOT

This description is taken from the AOS/VS Internals Guide (AOS/VS Rev. 5 version).

The operator keys in B 22 (or the correct device code for the intalled tape drive) and the system ROM then loads the first 1024 words (2KB) from file 0 of the tape and does a JMP . at location 0377. Eventually this looping JMP gets overwritten by the data from the tape and causes the TBOOT program to start.

  • Goto location 0 and start program
  • Overwrite location 0777 with a JMP @0376
  • When location 0777 is overwritten it will cause a JMP to location 10.
  • At location 10 an IORST is done
  • Get the device code of the tape drive (from Boot command) and adjust I/O driver for that device
  • Dispay message to ask for file number
  • Ensure tape is backspaced to file 0
  • Space forward the tape the number of files entered at the prompt
  • Move TBOOT to high memory out of the way
  • Set up DCH mapping and initialise the map registers
  • Start the load of the specified file into memory
  • After load completes rewind the tape
  • Get start address from location 2 and JMP to it

DKBT Operation

Normally the operator keys in B nn to initiate system operation from device nn.

The system ROM then loads the two blocks from the boot device and jumps to location 10.

  • Issue an IORST instruction and retrieve boot device code which ROM has put in AC0
  • Prepare for entry into location 400 in DKBT
  • Read in DIB (Device Information Block)
  • Start loading SYSBOOT into memory from the disk address stored in the DIB
  • Recalibrate the disk
  • Move part of SYSBOOT to 76000
  • Move the remainder of SYSBOOT into the right place
  • Enter SYSBOOT through its location 2 entry point

SYSBOOT Operation

  • Issue an IORST instruction and set up ECC error routine for memory
  • Init the entire LDU (Logical Disk Unit) by asking for each disk in the LDU
  • Verify that the disks are valid devices
  • Read in the DIB and check for valid version and FIXUP bit set
  • Set up LDU table for this disk
  • Set up BBT (Bad Block Table) for this disk
  • Get microcode filename and request if it should be loaded
    • If it was the permanent name then load it regardless
  • Resolve the microcode filename on disk
  • Issue an LCS instruction to load the microcode
  • Size the memory for SYSBOOT
  • Get the system (genned AOS/VS) file name
    • If user-specified name then resolve the path, otherwise create a pointer to the installed system
  • Read in the system file and move it to high memory
  • Write out the overlay file for the OS
  • Set up communications area for SINIT (this contains the address of the overlay file and the names of LDU’s in the system)
  • Move part of system into lower memory and start the SINIT code
Last updated on 13 Dec 2016
Published on 13 Dec 2016