XL-1201 PROM/FEP Boot Sequence

This discusses the initial boot of the XL1201 including the PROM and FEP before Genera is fully running.

Initial PROM Boot Sequence

If you power the XL1201 on and immediately hit a key, you will see this:

XL1200 Device PROM version 325 (Ivory Device PROM 331.0)  
Auto-loading FEP kernel -- type any character for menu

0: Load kernel from disk  
1: Load kernel from tape or CD-ROM  
Enter a choice, or abort to return to automatic mode:  

If you then choose 0, you will see:

   Initializing disk controllers ... Done
   Enter a disk unit, or abort to exit:

At this point, you can enter a number. I have only a SCSI device or two. The SCSI device with SCSI ID 0 is accessed by entering 7 here.

If the backplane connector on the rear of the XL1201 isn't seated properly, you will get an error. Reseating it and tapping it with a mallet helps in my case.

The error looks like:

   Enter a disk unit, or abort to exit: 7
[Error:
"disk: ~A, status: ~A, sense: ~A, additional-sense: ~A, sector: ~A, reason: ~A" (NIL 2 0 0 NIL NIL)]

Then it returns to the PROM announcement. If you leave it alone (backplane not seated) and it has a SCSI device but isn't working, it will loop forever doing this:

Initializing disk controllers ... Done  
Checking for disk unit 0 ... Failed  
Checking for disk unit 1 ... Failed  
Checking for disk unit 2 ... Failed  
Checking for disk unit 3 ... Failed  
Checking for disk unit 4 ... Failed  
Checking for disk unit 5 ... Failed  
Checking for disk unit 6 ... Failed  
Checking for disk unit 7 ...  
Initializing disk controllers ...  

and so forth. If no disks are connected, it will quickly loop all the way up to 31 with Failed each time and then keep looping forever.

However, if the system is able to connect to the drive (but it isn't a good boot drive) you will get something else, more like:

Checking for disk unit 7 ... Found it  
Loading FEP kernel from disk unit 7 DPN 1286083...  
Problems loading the FEP kernel  
Checking for disk unit 8 ... Failed  

If you manually try the boot, with a connected disk, you will instead get something like this:

0: Load kernel from disk  
1: Load kernel from tape or CD-ROM  
Enter a choice, or abort to return to automatic mode: 0  
   Initializing disk controllers ... Done
   Enter a disk unit, or abort to exit: 7
   0: Load installed FEP kernel
   1: Load previous FEP kernel
   2: Enter DPN
   Enter a choice, or abort to enter a new unit:

Once again, if your drive isn't perfect, you'll get an error, something like this:

   Enter a choice, or abort to enter a new unit: 0
   Looking for fep kernel on unit 7 ... Found it
   Load kernel from disk (Enter Y or N):
   Loading FEP kernel from disk unit 7 DPN 1286083...
   [Error:
"File header type not FEPF or FEPP" NIL]
 loading the FEP kernel
   0: Load installed FEP kernel

I've also seen this failure on the "previous" choice: {my notes in braces}

   Enter a choice, or abort to enter a new unit: 1
   Looking for fep kernel on unit 7 ... Failed. Failed. Failed. Failed. Failed. Failed. Failed. Failed. Failed. Failed. {about 5 lines of Failed.}
   Can not find kernel
   0: Load installed FEP kernel

TODO: Finish with manual disk selection FEP load.

FEP Boot Sequence

XL User's Guide says to use this procedure to cold boot the computer from the FEP Command: prompt.

  • Hello
  • Boot

Site Operations gives much more detail.

These are the default boot files:

  • boot.boot: Commands for booting a specific Lisp world. Can use Netboot or Load World. For Ivory-based machines, contains only:
    • Load World - without a specific world, this will load the most recent world on the local disk.
    • Start
  • hello.boot: Scans for FEP overlay (flod) files and initializes the "hardware tables." "This file should contain anything that holds constant for this machine, regardless of the world you are running. For example, your flod files, your paging files, your network address".
    • Should contain two lines for Ivory machines:
    • Hello Innn - nnn is an IFEP number (333 for the latest (?))
    • Hello Local or Hello <hostname>
  • autoboot.boot: Combines both boot.boot and hello.boot for unattended booting. It could contain something like this:
    • Hello
    • Autoboot Delay 10 (Press a character to stop autobooting now)
    • Boot
  • Innn.boot (328 for Genera 8.3, 333 for latest (?))
    • Contains the commands to scan flod files and initialize things
    • Scan I333-lisp.flod
    • Scan I333-loaders.flod
    • Scan I333-info.flod
    • Scan I333-debug.flod
    • Initialize Hardware Tables
  • local.boot - sets up this specific machine. Required for standalone sites. Examples:
    • Declare Paging Files FEP8:>Paging-1.page
    • Declare More Paging Files FEP8:>Paging-2.page,Paging-3.page
    • Set Boot Options :Network Address Chaos|52525 :IDS Enable
    • Can also have Set Network Address

Site Operations recommends using the Set Boot Options command when similar commands also exist.

If the calendar clock has not been set, the machine will notify you so you can set it.

IDS are "Incremental Disk Save" worlds. When loading an IDS world, it looks for the parent worlds and will ask for the parents from the user if not found.

To stop a netboot, use h-c-FUNCTION to get back to the FEP.

Namespace

Site Operations - Setting Up and Maintaining the Namespace Database and Genera User's Guide.

Shutdown

XL User's Guide says to use this procedure to shut down the computer:

  • At Lisp command prompt: Halt Machine
  • At FEP command prompt: Shutdown and answer Yes if you're sure
  • Optionally (but I will always do it), power off

Questions

  • What is DPN?

Douglas Fields

Writing LISP and Haskell since 1990