Annotation of coherent/d/conf/tboot/FEATURES, revision 1.1.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.