Annotation of coherent/d/conf/tboot/FEATURES, revision 1.1

1.1     ! root        1: September 1991
        !             2: updated November 1991
        !             3: 
        !             4: A tertiary boot program is being added to the COHERENT boot sequence.  The
        !             5: old sequence was bios->master boot->secondary boot->/coherent.  The new
        !             6: boot sequence is bios->master boot->secondary boot->tertiary boot->/coherent.
        !             7: 
        !             8: The problem with the old boot scheme was that the secondary boot was limited
        !             9: to 512 bytes, severely limiting its functionality.
        !            10: 
        !            11: The advantages of the new scheme are:  the tertiary boot is written mostly
        !            12: in C; the tertiary boot can be as long as 138 blocks.
        !            13: 
        !            14: Writing in C improves maintainability and eases improvements.
        !            15: 
        !            16: The increased size allows greater functionality.  Already the new tertiary
        !            17: supports much larger kernels.  It also includes some handy builtin commands.
        !            18: Further expansion could include support for other object formats such as COFF.
        !            19: 
        !            20: The ability to support larger kernels is critical for development of the
        !            21: 386 native kernel.
        !            22: 
        !            23: Limitations of Old Secondary Boot
        !            24: _________________________________
        !            25: 
        !            26: The old secondary boot could not load anything from past the first
        !            27: 32 megabytes of a partition.  This was because it only used 2 byte block
        !            28: numbers.
        !            29: 
        !            30: It was also thought to have a length limit of 138 blocks for the l.out file.
        !            31: 138 is the 10 direct blocks + the 128 singly indirect blocks.  Actually,
        !            32: it was capable of loading files up to 256 blocks long.  It read 266 block
        !            33: numbers--the 10 direct + 128 indirect + first 128 double indirect, but it
        !            34: used a 1 byte index into that table.  Each segment had to be less than
        !            35: 64k.
        !            36: 
        !            37: It defaulted to loading a file called "autoboot".
        !            38: 
        !            39: It was entirely in assembly language.
        !            40: 
        !            41: 
        !            42: Features and Limitations of New Secondary Boot
        !            43: ______________________________________________
        !            44: 
        !            45: The new secondary boot uses 4 byte block numbers, and can thus load from
        !            46: anywhere on a legal partition.
        !            47: 
        !            48: It can load an l.out image up to 138 block long.  This covers all 286
        !            49: kernels produced to date.  Each segment must be less than 64k.
        !            50: 
        !            51: It defaults to loading a file called "tboot".
        !            52: 
        !            53: It is entirely in assembly language.
        !            54: 
        !            55: 
        !            56: Features of New Tertiary Boot
        !            57: -----------------------------
        !            58: The new tertiary boot can load from anywhere on a legal partition.
        !            59: 
        !            60: It can load an l.out or COFF image up to slightly over 1 gigabyte long.
        !            61: Individual segments can be up to the full length of the file.
        !            62: 
        !            63: It includes a builtin "dir" command, and "info" for checking disk geometry.
        !            64: 
        !            65: It defaults to loading a file called "autoboot".  Even if "autoboot" is found,
        !            66: it is possible to abort the boot by typing any key during a 10 second
        !            67: waiting interval.
        !            68: 
        !            69: It is written mostly in C, but has assembly language libraries and startup
        !            70: code.
        !            71: 
        !            72: The libraries were designed to facilitate making other bootable utilities.
        !            73: 
        !            74: It is now possible to use open()/read()/close() to access files from tboot
        !            75: code.
        !            76: 
        !            77: The base paragraph can be explicitly set, but will automaticly default
        !            78: to 0x0060 for l.out files (probably 286 kernels), and 0x0200 for COFF
        !            79: files (probably 386 kernels).
        !            80: 
        !            81: There is a mini-monitor available for examining memory.  This is
        !            82: particularly useful for debugging tboot itself.
        !            83: 
        !            84: It caches disk i/o, greatly speeding the load procedure.
        !            85: 
        !            86: A data structure full of information, called a boot gift, is passed to
        !            87: compatable programs.  See the file gift.c for more details.  Right now,
        !            88: some disk geometry information and a command line are passed.
        !            89: 
        !            90: 
        !            91:                                        La Monte H. Yarroll <[email protected]>
        !            92:                                        with many thanks to
        !            93:                                        Vladimir Smelyanski <[email protected]> and
        !            94:                                        Hal Snyder <[email protected]>.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.