## Name

OS9GEN — Build and Link a Bootstrap File

## Synopsis

`os9gen` `device name`

## Description

OS9Gen is used to create and link the `OS9Boot` file required on any disk from which OS-9 is to be bootstrapped. OS9Gen is used to add modules to an existing boot or to create an entirely new boot file. If an exact copy of the existing `OS9Boot` file is desired, the cobbler command should be used instead.

The name of the device on which the `OS9Boot` file is to be installed is passed to OS9Gen as a command line parameter. OS9Gen then creates a working file called `TempBoot` on the device specified. Next it reads file names (pathlists) from its standard input, one pathlist per line. Every file named is opened and copied to `TempBoot`. This is repeated until end-of-file or a blank line is reached on OS9Gen's standard input. All boot files must contain the OS-9 component modules listed in section the section called “The OS9Boot File”.

After all input files have been copied to `TempBoot`, the old `OS9Boot` file, if present, is deleted. `TempBoot` is then renamed to `OS9Boot`, and its starting address and size is linked in the disk's Identification Sector (LSN 0) for use by the OS-9 bootstrap firmware.

WARNING: Any `OS9Boot` file must be stored in physically contiguous sectors. Therefore, OS9Gen is normally used on a freshly formatted disk. If the `OS9Boot` file is fragmented, OS9Gen will print a warning message indicated the disk cannot be used to bootstrap OS-9.

The list of file names given to OS9Gen can be entered from a keyboard, or OS9Gen's standard input may be redirected to a text file containing a list of file names (pathlists) . If names are entered manually, no prompts are given, and the end-of-file key (usually ESCAPE) or a blank line is entered after the line containing the last pathlist.

For more information see: Chapter 6, Use of the System Disk, the section called “The OS9Boot File”, the section called “Changing System Disks”

## Examples

To manually install a boot file on device “d1” which is an exact copy of the `OS9Boot` file on device “d0”:

    OS9: os9gen /d1          (run OS9Gen)
    /d0/os9boot              (enter file to be installed)
    [ESCAPE]                 (enter end-of-file)

To manually install a boot file on device “d1” which is a copy of the `OS9Boot` file on device “d0” with the addition of modules stored in the files `/d0/tape.driver` and `/d2/video.driver`:

    OS9: os9gen /d1          (run OS9Gen)
    /d0/os9boot              (enter main boot file name)
    /d0/tape.driver          (enter name of first file to be added)
    /d2/video.driver         (enter name of second file to be added)
    [ESCAPE]                 (enter end-of-file)

As above, but automatically by redirecting OS9Gen standard input:

    OS9: build /d0/bootlist  (use build to create file bootlist)
    ? /d0/os9boot            (enter first file name)
    ? /d0/tape.driver        (enter second file name)
    ? /d2/video.driver       (enter third file name)
    ? [RETURN]               (terminate build)
    OS9: os9gen /d1 </d0/bootlist  (run OS9gen with redirected input)