startup, proline - ProLine configuration and startup
ProLine is launched by running the Startup program which resides in the system’s root directory ($/). This program automatically senses an active ProLine configuration and engages auto-start mode to bring up the ProLine system. If the system is not configured, it goes directly into the ProLine Installer Menu.
During the auto-start period, the administrator can press ESC to abort auto-start and go to the Installer menu, or press RETURN to immediately launch ProLine. After a short period of no activity, auto-start runs the system in a turn-key fashion by running the ProLine program also in the system’s root directory ($/).
ProLine begins by obtaining the system configuration from the resource file $/etc/rsrc/startup.rsrc. Then it loads in required system modules, creates any directories not present in the locations in which they’re expected, and initializes the modem.
If the modem fails to initialize properly after two attempts, an alarm sounds at the console, and the operator is prompted with:
(A)bort, (I)gnore, (R)etry:
Choosing (A)bort cancels ProLine. (I)gnore tells startup to ignore the failed attempt and continue. (R)etry allows ProLine to try again. If operator intervention does not occur within 30 seconds, ProLine automatically chooses (R)etry.
After initializing the modem, ProLine determines if the shell script $/etc/rc exists. If so, ProLine launches the C-Shell ($/bin/csh) and has it execute the $/etc/rc script. Typically, this script includes commands that complete the system setup.
Eventually, control is passed to $/bin/login. Login handles system events such as answering calls, user logins, cron tasks, and so on.
The startup.rsrc file begins with a count-prefixed list of modules required by ProLine. These modules provide ProLine with basic telecommunications abilities and utilities. Example:
6 Store|GS ModemWorks Time|GS Serial|GS Console Modem
The pipe character (|) used before “GS” with some modules allows ProLine to automatically select the Apple IIGS version of the module if ProLine is running on an Apple IIGS. See the file $/sys/modules/contents for a description of each module. A count-prefixed list offers the flexibility of loading additional modules.
Following the list comes these items, each on its own line:
The name of a modemcap (modem capability) file is given. Modemcap files reside in $/sys/modemcaps. See $/sys/modemcaps/contents for a description of each file.
The slot number of the port to use.
A code regulating the attributes of the modem’s speaker (3=off, 4=on only during connections, 5=always on).
The name of a Printer module.
The slot of the printer.
The name of the host system (e.g. “pro-sol”).
The Internet domain by which the host is governed (e.g. “.cts.com”). For new systems that have not processed a site map, nor have received a paths database, this line should be left blank.
The login name of the administrator.
The full name of the adminstrator.
The three-letter time zone.
The path to a directory in which temporary files are created and deleted by the system (e.g. “tmp”). A RAM disk is perfect for this. Do not use the root directory of any volume, as a volume directory has a limitation of 51 files (the /RAM volume, only 12 files). Always specify a path to a subdirectory on that volume (e.g. “/ram5/tmp”).
The path to a directory in which logs, mail and network news files are temporarily stored for processing (e.g. “spool”). Using a large RAM disk (e.g. “/ram5/spool”) can dramatically improve system performance and avoid excess wear on drives. Note, however, that RAM disks that aren’t battery-backed are volatile and can be destroyed in the event of a power failure. A RAM disk may also limit the amount of mail and news that can be processed due to its size, causing system errors. It may be best to choose a directory on fixed media.
ProLine will create the temporary and spool directories if they are not present during startup. Any unqualified paths (ones that do not start with a slash) are assumed to be located in the ProLine root directory.
boot(ADM), login(C), rc(ADM)