booter-manual/777 0 0 0643741620610226 5ustar rootgroupbooter-manual/BooterManual.html666 0 0 67701644120772014011 0ustar rootgroup BSD/Mac68k Booter Manual

BSD/Mac68k Booter Manual (HTML version)

Version 6, 3rd December 1997. For Booter 1.11.1

Index of Topics


What is the BSD/Mac68k Booter?

Booter Icon
The BSD/Mac68k Booter is a Mac OS application which boots the NetBSD/Mac68k (and OpenBSD/Mac68k) operating system.

What the heck is NetBSD/Mac68k?

NetBSD/Mac68k, also known as MacBSD, is a port of the UNIX-like operating system NetBSD to the Motorola 680x0 processor-based family of Macintosh computers. For more general information on NetBSD/Mac68k, point your web browser at any of the following sites...

Some NetBSD/Mac68k Web Sites

http://www.NetBSD.org/Ports/mac68k
The area of the main NetBSD web site dedicated to the Mac68k port.
http://www.MacBSD.com/macbsd
The MacBSD web site, including more Mac68k port-specific information.

The 'port-mac68k' mailing list

If you like NetBSD/Mac68k and/or use it, you should subscribe to the Mac68k port mailing list, port-mac68k@netbsd.org. Do this by sending mail to majordomo@netbsd.org with no subject and the single-line message:

subscribe port-mac68k J. Random User

replacing J. Random User with your real name, of course.

Hardware Prerequisites

The minimum hardware configuration includes a 68020 with a 68851 PMMU chip or a 68030 or better processor, without which the Booter will refuse to start. The Booter has been tested under System 7.0.1; it should work under any system from then on without any trouble. System 6.0.x is not supported because the Booter requires the machine to be booted in 32-Bit Addressing mode. The Booter also will certainly fail if Virtual Memory is enabled, so turn that off too while you're snooping around in the Memory control panel.

The Macintosh models that are supported to some extent by NetBSD/Mac68k vary on what seems to be a daily basis sometimes. Check the web sites, and especially the user survey contained therein, for more information.

How do I boot this silly thing!?

First and foremost you must have formatted and partitioned a drive for A/UX, and run Mkfs, and downloaded and installed at least the base package and a kernel. If you haven't done this, you should visit the above Web sites for more information.

Assuming you have enough of Unix (and Mac OS!) installed, here is how to boot it:

A Quick Overview of the Boot Process

First off, the Booter must attempt to open the kernel you've specified. If you've specified a kernel in your BSD partition, it will take a second to search for it. Then the Booter will (hopefully) identify the kernel as a 68K executable and print its entry address, which will look similar to this:

MID_M68K executable: entry 0x3356.

(Here, as in the rest of the boot process, the numbers you get may not be the same as the numbers I get. They are highly kernel-dependent.) Then it will proceed to load the kernel. As the different sections of the kernel are loaded, numbers will appear in the status window, which look something like this:

768400+57532+99064+45588+48244

These numbers correspond to the sizes of the text (executable machine code) section, the static data section, the bss (uninitialized data) section, the symbol table, and the string table, respectively. The final message displayed before the jump to kernel space should be as follows:
  Bye-bye...
        So I sez to him...  The real way
        that it should be done is to...
Then the system will act as if it is restarting, and when the restart would normally happen, the screen will go blank and a short list of memory mappings will appear, followed by a copyright notice and autoconfiguration information, which signals that you've booted.

Boot Options, Ad Nauseam

Devil-guy Booter Icon
The boot process is not completely machine- and installation-independent. Therefore, the Booter allows you to set certain options and flags in order to communicate to the kernel important facts about your machine. Most of these options are set in the 'Booting' dialog window, though some are set in the 'Serial ports...', 'Monitors' and the 'Preferences' dialog windows.

Booting dialog window:

Picture of Boot Options dialog window

Described below are the options that can be set from the 'Booting' dialog window. In most cases you should be able to boot after modifying only these options.

Kernel Location: Mac OS file or BSD device
The chief purpose of the Booter is to load the BSD operating system code into memory. This code is called the kernel and is normally contained in a file called netbsd. This file is normally in the root directory of the root partition of your BSD file system. However, it is also possible to load kernels from the Mac OS file system, such as when testing new systems, or on systems where SCSI is not yet supported. This boot option lets you select the location of your kernel; if you select Mac OS the Booter will look in its own folder for the kernel (or another folder selected by pressing the 'Set' button). This option should, as stated above, normally be set to BSD device
Kernel Name
Normally, the kernel is named netbsd, and that is what you should enter for the Kernel Name. However, if you are testing a recently-installed kernel, or simply want to boot an alternate kernel, you can enter that name here too. Note well, however, that much BSD software assumes that the kernel is named netbsd and is in the root directory, so if you have a kernel that works well, you should probably name it that
Partition and Root SCSI ID
The Booter needs to know which partition contains your kernel, if you are booting from the BSD/Mac68k file system. You should enter the SCSI ID of the drive which contains your root partition. If there is no SCSI ID entered, zero is assumed. By default, the Booter should locate your root partition. If you have more than one such partition at the selected SCSI ID, you may want to force it to use one of them by entering the name of the partition in the Partition Name field (This would be the name which your disk formatting software gave the partition when you created it e.g. 'UNIX Root&Usr slice 0', 'NetBSD Root & Usr' or 'A/UX Root'). If you do not enter a name, the Booter tries to guess the correct partition. The first Unix (i.e. type="Apple_UNIX_SVR2") partition with 'Root' in the name is its best guess, and if there isn't one of those, then the first Unix partition which doesn't have 'Swap' in it's name is its next best
Enabled? (next to SCSI ID box)
This option will allow systems to boot without a root SCSI ID specified, e.g. using NFS filesystems. For normal usage you will probably want to leave this on
Ask? (next to SCSI ID box)
This option allows the user to specify an alternate root or swap device right before the root partition is mounted. This allows you to, for example, boot off a kernel on the first SCSI disk (sd0) and specify that root is on cd0 (a CD-ROM) or sd1 (etc.) For normal usage you will probably want to leave this blank
RAM size and Auto-size RAM
You should click Auto-size RAM to have the Booter automatically calculate the amount of RAM installed in your computer. This will not be an option in future releases. The paranoid can type in the amount of RAM (in megabytes) in the appropriate box as well
GMT Bias and Auto-set GMT Bias
This should be a number of minutes which are added to UTC (Coordinated Universal Time, also known as Greenwich Mean Time or GMT) to get to your time zone. If you have the Mac OS Map control panel set with your location, you can enable the 'Auto-set GMT Bias' option to set this information
Single User
This option tells the kernel to boot the system in single-user (administrative) mode, as opposed to your normal everyday multi-user boot. This can be necessary when you're having trouble booting into multi-user, or if you need to edit some files before the system finishes booting
Halt on non-fatal errors
A few errors (mostly concerning such recondite things as video board interrupt errors) are considered non-fatal. If you are having trouble with BSD/Mac68k video, you might want to try turning this on, so that you can read the error messages as they scroll by. Mostly, though, you'll not need to worry about this; leave it unchecked
Show dialog & wait for OK before booting
If the above option is checked, then a dialog window will appear before booting that asks you whether you want to Boot or Cancel. This was implemented so you might read the messages in the window before they are blanked out by the appearance of the console
Don't disable VBL interrupts on video cards
Booter versions after version 1.8 attempt to disable vertical blanking (VBL) interrupts on all active video cards found, because current implementations of the grf_mv (Macintosh QuickDraw-compatible NuBus video card) driver do not handle VBL interrupts reliably. If this process fails (and it should be obvious if it fails; an error code is printed and the boot stops) then you should check this box and try booting again
Video address hack (for LC575 & LC475)
This option should allow the internal video to be used as the console on these two Macs with almost any kernel. These machines use the MMU to remap the video address under MacOS, and this mapping is lost when BSD/Mac68k kernel execution begins. Do not use this option for any machine other than the LC/Performa 475, 575 & 630 series, as it may cause undesired kernel crashes

Serial ports dialog window:

The options in this dialog window, described below, pertain chiefly to the initial settings of the new zsc/zstty serial driver:

Picture of Serial ports... dialog

Serial Boot Echo
Output from the kernel will be echoed to the printer port at 9600 baud, no parity, 8 data bits, 1 stop bit, if this option is checked. (See also the 'Default Serial Speed' boxes)
Serial Console (Modem or Printer)
The selected serial line will be used as the console, with the same communications settings as with Serial Boot Echo (above), if this option is checked. Be careful that you do not have a getty process running on the same serial line you are using as the console (i.e. do not run getty on both ttye0 and tty00 if Modem port is serial console) because this could panic the kernel. Note that you can select a port for the serial console, but the serial boot echo is always on the Printer port.
LocalTalk connected to Printer port
In some instances the kernel will freeze if it is connected to a high-traffic LocalTalk network. Although LocalTalk is not supported in the kernel, if this box is checked it will keep the kernel from panicking if it encounters this situation.
Open port before booting (for PowerBook)
In order for PowerBooks to use the serial port(s), they must be turned on before booting in order to get the Power Manager to turn the power on to the chip and the ports. Setting this option should only be necessary if you are booting NetBSD/Mac68k on a PowerBook.
Default Serial Speed
With NetBSD/Mac68k kernels later than 20th October 1997 (i.e. 1.3), the port speed can be set by typing the new speed in here. This might be useful if you want to log boot messages to a HP DeskJet printer, for example.
Set Modem (or Printer) port to 'stty raw' defaults
This option instructs the kernel to set the defaults for the serial port in question to those from the 'stty raw' command. BSD assumes serial ports are hooked up to terminals by default, and the default behavior for terminals is for the kernel to echo back characters that the user types into the terminal. In 'raw' mode, no assumptions are made about what's on the other end of the serial port. Among other changes, no characters are echoed back out the port.

The difference is important if your BSD/Mac68k machine is connected to the serial interface of an HP DeskWriter printer. They (and possibly other printers) report status by sending a character to the host computer. Without this boot option, BSD would think that a person was typing these characters and echo them back. But then the printer thinks it is supposed to print these characters. On the DeskWriter, these characters can come out as ugly white-on-black block letters (garbage). This printing will happen seemingly spontaneously, with no intervention from the user. Setting this boot option should cure the problem.

This option is probably not appropriate for a serial port hooked to a terminal, as the normal terminal defaults are the best in this case.

External clock sources
The new zsc/zstty driver (introduced in NetBSD/Mac68k 1.2) tries to support more of the options Apple originally foresaw for the Mac's serial ports. One feature is support for feeding the Mac a clock from which it will generate the baud rate used to send and receive data. Potential uses include talking to certain Personal LaserWriters and driving MIDI adapter units.

Each serial port has two input pins, so there are four possible clock rate values. When a clock rate is entered, two things happen. First, the associated pin is flagged as reserved for a clock, and second, the clock rate is considered when NetBSD requests a particular baud rate.

The first action happens as these pins (which have different names under BSD and Mac OS) are usually considered as modem signal pins by BSD. The kernel must respond accordingly whenever the modem thinks a data carrier has been detected, something which would normally happen less than once a second. Clock rates, on the other hand, are usually in the millions of cycles per second, so the clock reservation acts as a protection for the NetBSD kernel.

Note that one of the pins on the printer port (GPi/DCD) isn't actually usable by the baud rate hardware; it corresponds to the fully-featured clock input on the modem port. Thus it is included to protect the kernel from a device intended for the modem port yet connected to the printer port.

Monitors dialog window:

Current kernels cannot change video modes very well. The BSD/Mac68k console will work with almost any depth or resolution, but the X window system (and maybe the DT multi-window console) cannot.

This dialog window allows you to set the main monitor's bit depth just before booting the kernel:

Picture of Monitors... dialog

Note that the Booter cannot currently change the resolution, or do anything useful with multiple monitor setups.

Preferences dialog window:

A few more miscellaneous options pertaining to the operation of the Booter itself are in the Preferences dialog window:

Picture of Startup... dialog
Auto boot on startup / Timeout before boot
If you have saved your normal boot preferences, you might want to just boot right into BSD as soon as you open the Booter. Checking 'Auto boot on startup' will make the Booter start booting a specified number of seconds after it starts.
Debug level
Setting the debug level to 1 or greater values gets you lots of debugging spew in the status window that can help you diagnose what's going wrong in the boot process. But normally you will want to leave this at 0.
Log to file / set...
If you want to keep a log of the messages in the status window, so that you can dump it into a mail message or just look at it later, check this box and click on 'Set...' to choose where you want the log file created. Note that the Booter will not replace an already-existing log file, but will append to it, even though it says "Replace existing 'bootlog'?" when you save it. Note also that when people ask for a bootlog they usually want you to turn debugging on (to level 1 or 2) and use this option. Normally, of course, you won't need to keep the bootlog turned on.
Extra debugging info
This option tells the kernel to display some extra debugging information, as well as telling the Booter to display a few extra bits of information. Most notably it makes the Booter dump the boot environment, a list of variables not unlike the UNIX process environment, into the status window before booting. For this reason you may also wish to set 'No env dumps' option (described below) if you set this option
No env dumps
If this option is checked, the Booter will not spew the entire list of 'boot environment' strings into the window before booting. They are nice for bug reports, but they do slow down the boot process. This option disabled goes well with 'Show dialog before booting' being enabled & a nice, big boot window. :)

Common Boot Errors

Some of the following errors are practically FAQs on the port-Mac68k list. Some are not. Any of these could possibly happen to you. This guide can help you understand what is going wrong. Don't leave Mac OS without it!
Partition -1 is nonexistent. Cannot open kernel (0,?)netbsd.
This error occurs when the Booter cannot open the partition you specified for the kernel. Check for typos in the SCSI ID and/or Partition Name boxes in the 'Booting' dialog window. Hint: The number in parentheses is the SCSI ID it is looking at.

File 'foobar' is nonexistent. Cannot open kernel (0,?)foobar.
This error occurs when the Booter found the partition, but couldn't open the kernel you specified. Make sure you specified the right partition, and make sure you didn't mistype the name of the kernel (in the 'Booting' dialog window.)

Cannot malloc()...
malloc() failed...
Not enough free memory to load this kernel.
(etc.)
These all mean that the Booter has run out of memory. Increase the Booter's memory partition using the 'Get Info' command in the Finder, and try booting again.

Magic numbers do not match -- Improper UFS partition.
This means that the Booter went to read the NetBSD partition you specified, and it didn't find a valid BSD filesystem there. Did you remember to run Mkfs on the partition?

Error -nnn turning off interrupts for slot SS
Error -nnn {getting name of,trying to open} slot 0xSS video driver
(etc.)
Though these shouldn't happen, if a video card error stops your booting, you might want to try booting again with "Don't disable VBL interrupts on video cards" checked in the 'Booting' dialog window

Error #-nnn locking kernel memory.
The Booter is trying to boot with virtual memory enabled, and it couldn't lock the kernel buffer in real RAM. Booting with virtual memory enabled is not supported at all, and on top of that, it is extremely unlikely to work. You should turn off VM in the Memory control panel, restart, and try booting again

Failed to read executable header from kernel image.
This kernel is not in a format which the Booter can execute.
The kernel does not appear to be a 68k kernel.
Short boot_read. Kernel file corrupt?
These messages all indicate that the Booter can't imagine that the file you have designated as a kernel is really a NetBSD 680x0 executable. It may have become corrupted in transfer - you did use binary mode when FTPing, didn't you? - or you may have forgotten to untar the kernel

Booter Versions

The Booter src code package contains a file ChangeLog.txt which has a detailed log of different Booter versions. Here is a summary of the ones you will probably need to know about:
Version: 1.9.4
Author: Brian Gaeke
  • First Booter to support any 68040 (i.e. Quadra-class) machines. Known to boot kernels from NetBSD/Mac68k versions 1.1 and later. For kernels older than 1.1, your mileage may vary -- in theory the support is still there, but it's not been tried in quite a while

    Version: 1.9.6
    Author: Allen Briggs
  • Allows booting with larger kernels (many post 1.2 kernels require this Booter)
  • Known to have problems booting the Mac IIvx

    Version: 1.9.7
    Author: Steve Brown
  • New 'Auto Set GMT bias' checkbox which uses the 'Map' Mac OS Control panel to set Unix's time zone information
  • Known to have problems booting the Mac IIvx

    Version: 1.10.0
    Author: Allen Briggs
  • New ability to boot from gzip-ed kernel files
  • Known to have problems booting the Mac IIvx

    Version: 1.10.3b1
    Author: Nigel Pearson
  • Some user interface improvements and new functionality
  • Fixes the recent problems with booting the Mac IIvx
  • New serial fields to set different default serial port speeds
  • New Monitors options which allow changing of the main screen depth before booting

    Version: 1.11.1
    Authors: Scott Reynolds, Nigel Pearson
  • More user interface improvements
  • If boot is aborted, resets monitor depth
  • Saves preferences in a file in the System Folder
  • Added video address hack for LC475/LC575 Macs to allow console on internal video
  • Mac OS kernel file can be selected using a file requestor, allowing selection of a kernel file which is an alias, is not in the current directory, et cetera

  • Who's responsible for this?

    The Booter is currently being maintained by Nigel Pearson. <nigel@ind.tansu.com.au or nigel@socs.uts.edu.au>

    There are a list of Booter improvement suggestions in the file TO-DO.txt (in the src code package). Feel free to email any new suggestions to Nigel after glancing through that file. Also feel free to contact Nigel about implementing any of them yourself!

    If you have a bug report for the Booter, please send him a complete record of your system configuration, including NuBus cards, along with a detailed description of the erroneous behavior and how to repeat it. If you broke into MacsBug, you should include the contents of the Standard Log (type StdLog into the MacsBug command buffer and hit return; with luck it will end up in the Desktop Folder of your boot disk.) Note: If you got past the NetBSD copyright message, the error is probably not the fault of the Booter.

    The long list of people have worked on the Booter: Allen Briggs, Steve Brown, Chris Caputo, Michael Finch, Brian Gaeke, Brad Grantham, Markus Hitter, Dan Jacobowitz, Lawrence Kesteloot, Nigel Pearson, Scott Reynolds and Bill Studenmund.

    This manual was written originally for NetBSD/Mac68k Booter version 1.9.4 by Brian Gaeke. Thanks to Bill Studenmund for descriptions of the new serial port options.


    Copyrights, Trademarks, etc.

    Apple, Macintosh, LocalTalk, System 7, and Mac OS are all registered trademarks of Apple Computer Corporation. UNIX is a registered trademark of SCO. Other trademarks mentioned herein are property of their respective companies.

    Copyright (C) 1996 Brian R. Gaeke

    Copyright (C) 1997 Nigel Pearson

    All rights reserved.

    Redistribution and use of this document, with or without modification, are permitted provided that the following conditions are met:

    1. Redistributions of this document must retain the above copyright notice, this list of conditions and the following disclaimer.
    2. The name of the author may not be used to endorse or promote products including this document without specific prior written permission.
    THIS DOCUMENT IS PROVIDED BY THE AUTHORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. booter-manual/Booting.GIF666 0 0 12364643737274212472 0ustar rootgroupGIF89a80 sss,8x0I8ͻ`(diPplp,tmx|pH,䋰(ШtJZجvzxL.z͎2ζ|N~K+~QqZ a U YObT]PXk͛z QRsοݱH`'h*>yW!Ňjܸe C7=dMZFL"c,͛SGr'D>+IԦǙHP%ʦ+sB&ҫXq,5]Cr6NRʶѬp>*ܻxmm˷~ ~wÈDǐ#KL˘3k̹ϠCMӨSװc˞M۸-ͻ Nȓ+_μУKN/νËO_Ͼ˟]Ͽw(h`x 6` >(Vh!u^v(afv#Vt%,bu3.hȀ@)H2CeT&Xb#B*)_J!(AJIhdNf)n)fo %zin6ɤ}I硈jh]N餛'*)|覜⹧Ij"gꠙ^FykZ2*(V+ޢfa˥k榫n; ֩i{므+Lg5Gi _g^<'W1cnKwoq+r$8_)+K3Ἤsͮs|H27voWrD@x(c3.']׸zWG]XHMƢVeךz,LG;f)}^{g-oȏ;=B{t깗b^^m"ƈSoUN{tz[êgwFs]-(Cߤe-=^|%nr,Xeuy ׼gY MfCc|:79pVI&9bhE:eϩE9(Z[2Z jKȱ:x쀎>⋏~ (B LdFj )J$0Nf  atf<9ρSA a$/~JӇ[RG2!RMXmzRz+vmUVBw+Si *_0EEZƵܻ!5Ԣ5腫dq\>3`$HV-PN8ceI7p}o65hȡ+6kE1jISt7 1p8HNdPFГ%iǙS'7#g]2-C pܸ:&\f5rx5%ϞFЂ& 8ZYVTh/S>3DOw5O>̤}HMXt87րM 45h2O6_ss3P782kiQ}#.^+&R>[,XutDWrp҂u2Tu6`#;fb[${a4BfU_@S؁`u7C2ZhA\x\>w#oȀuh3x#4w[vȇ(PXgcOi~(.^uder22xH8(lXHVPfԉփuw7c=mIm(S05o68rsvq ^(nMx:X)^0UVFb̸XQh#xi\_O^BGcC6\xW67`((Xx-eKc#ow%YxtU?#IXHXr 4s yvh\荱4iuh8&ŒF6ǎtWShi)-^v,B=yDJ)?ٔBƔ=PrO9qUlZ9i=ՒXI"`9tR BWtlcjF-pl7vv^ypRAُTIiJ5x.biD{QsCh1yuuY!(G6zYRƊFQH}wb8$9pGRIbU(Ƙ~ɍx#t =9l)X(Eb^@3 pkjӉsHXJkq}ɐ>ri;4C:s.X&Js<3hhs娞8aOwZxY#iGsYńX 3Wvx-hx9'hgqᦜ1Y~S" آ *՘%CHcY( 8Ws,PդMBl8ZcWE&g]+AcUgCjvI⸊!_Z/(sٛi8tf0ŧt֋ww=ÞYUt –E Zw(ԕWGų$کi"K*ѫ*:DZ@sJNĺ⣬fjWceD֘VLWmJTQ÷VZ ;0bjwcN)eYc6jfu>(y !Rnxb mY4 # ;glo")sXD9Q+ql&4V1+AFYհ(oW_ v,uS?) UE259HKJ]X\=YsY*O;Mq钾@Y+sVX{RRLc:]9TWC%FDZbF+&k MWYKL{E(rqK Ƶ]Vʚd,۲{P۸YV*XfJ VK[էv\oީTekI+[7_::/ITu$b{ms ݓxkyAyDxkp8:ج+{:̬{d 0,L0,CwEHKkyJb2ċ+d lKkJƷ3P?pg%V ڳĻ+xat1C=̊E34keK`ƭZ`w)b / , ^+-ec7ͩm3>ݻ*J}P] -aˤ 0 g욍wL }zxcb(X۶y!̯f(ˏ%,Ί˒%va B.ʣ˩k"3ӣ;v^FN~JݟL}KRT^Ts{֬[= iMzeݝhSA!Ym\w^yyھ/G~! MACGCon 1Written by GIFConverter 2.3.7 of Jan 29, 1994;booter-manual/ChangeLog.txt666 0 0 51446644120246613124 0ustar rootgroup BSD/mac68k Booter Change Log ============================ Up until 1.9.4 -- Brian Gaeke After 1.10.0 -- Nigel Pearson This document was originally adapted from notes found in ufs_test.c. Some quick notes about version numbers and information passing... Originally, there was the first booter. This booter passed information to the kernel through registers. Yknow, A4=video, A2=boot flags, and so on. We ran out of registers fairly quickly. Then there was the Christmas '94 booter. That booter passed an environment buffer. The buffer contained arguments specifying interesting parameters to the booter. That's what the arguments are in ufs_test.c:shutdownProc(). Then there was the generic booter + a version number. That (this) booter specifies the MacOS video and serial addresses, so that the kernel may maintain contact with the hardware in the correct locations up until it activates its own page tables, whether or not MacOS is operating in a mapped environment. There is also a version field, so that newer kernels can know not to boot from old booters. Here is a (non-exhaustive) list of booters that have existed. Which of these correspond to the ones above (or below)? * Original booter, Summer 1992 * 32-bit booter, September 1993 * nofpu booter, September 1993 * New parameters and 8k-4k (8k didnt work) booter, December 1993 * Newer parameters booter, 01/26/1994 ChangeLog starts here. ==================================================================================== * Version 5 -- January 26th, 1994 (the newer parameters booter above.) Fifth in line of booters. This booter, amazingly, should work with ALL previous kernels, because parameters have been preserved. Added all parameters below. ==================================================================================== * Version 6 -- Allen did some stuff [what?] ==================================================================================== * Version 1.6 -- Brad added some time variables and some ROM ADB necessitated variables; ROMBASE, ADBDELAY, TIMEDBRA. No kernel that depends on this info (e.g. MRG kernels) will boot with an earlier Booter. ==================================================================================== * Version 1.7 -- Brad added the setenvbuf() function and added two new variables, ADBBASE and EGRETBASE, which actually contain the config info for the ADB and Egret systems, so we can reset them properly. (Maybe.) ==================================================================================== * Version 1.8 -- Allen added support for mini-root partition image files, and added routines to set variables directly in the kernel namespace, and cleaned up some. Brian added video card sRsrc-searching and VBL disabling code, as well as passing of HwCfgFlags and friends as environment variables, dumping of environment variables before boot, a pause-before-booting dialog, and a little bit more clean-up. It seems setenvbuf() has been disabled. ==================================================================================== * Version 1.9 -- OK, lots of changes described here but not so much real innovation: Added No env dumps option so that if you don't want to see the environment dumped, you don't have to. This will be subsumed in 2.x booters into the diagnostic messages settings. main.c: Added check for 32-bit mode at booter startup; Booter will refuse to start up if the machine wasnt booted in 32-bit addressing mode. appkill.c: added. Booter will now try to send quit AppleEvents to all other applications before booting. ufs_test.c: Added ADBREINIT_JTBL environment variable, 4 bytes at 0xdd8. Flush instruction+data caches just before calling copycode(). Make CLEANUP macro try to free(buf) if its been mallocd. Added more EVENT_CHECKs to copyunix(). Used BootError() in more places. videocard.c: video_call() returns an error code. (Hopefully) more informative error messages. Dont stop the boot when things go wrong. -Allen. Moved some things around in get_video_info so that if there's no place to put the info (i.e. an older kernel), it's not gathered. strcasecmp.c, strcasestr.c: added (former from BSD libc, latter adapted from Net2 libc (ok, I had it lying around...)) stricmp() removed. read_part.c: Revamped get_part_sector() to look at partition names (Root,Swap) as a quick patch until the silly thing can support interpretation of the BZB, in response to some bug report or another. Tried to bring in newer BSD headers but backed out -- structures weren't aligned properly or something (magic nums were wrong, et c.) Maybe later. ==================================================================================== * Version 1.9.1 (M.Hitter) main.c, Dialogs.c, MacBSD.h: added Preferences Dialog with DebugLevel. Moved AutoBoot controls to there. Removed some obsolete variables and move VerbosePrintf to DebugPrintf (1,...). Made modeless Dialogs full working as expected (Event handling etc.). ==================================================================================== * Version 1.9.2 (M.Hitter) Reviewed to allow THINK C's option infer prototypes, i.e. added a lot of prototypes and statics. Maybe I'm stupid, but I was unable to fix for required prototypes (the prototype for harry() was the problem). Added support for logging messages to a logfile. Moved cache disabling from the end of copyunix() to ShutdownProc(). Using now the same code as in the kernel. ==================================================================================== * Version 1.9.3beta1 (W. Studenmund) Added a Serial Ports... Dialog to control the new serial port options in the zsc/zstty serial port driver. Added entries for clocks present on the clock input lines, selection of "stty raw" defaults for either port, warning the kernel that there might be LocalTalk on the printer port (sets the baud rate to 1), and opening the modem for output just before boot (to turn on power to the SCC chip on powerbooks). Moved Serial Echo and Serial Console selection controls to the Serial Ports... dialog. Added code to the save and load user configuration routines to deal with no preferences being present. LoadUserConfiguration() now just zeros out currentConfiguration if no prefs are present, and SaveUserConfiguration() will make a preferences resource if needed. ==================================================================================== * Version 1.9.3beta2 -- This is a bug-fix-only release. Major changes are that we now test for the presence of the VM system and existence of the _MemoryDispatch trap before calling LockMemoryContiguous. Hopefully this squashed the unimplemented trap crashing bug which was appearing on minimal install systems. Also, the booter now compiles in CodeWarrior AND in THINK C. (To be precise, it has been tested in MW C/C++ 68k v1.5, the version on the CW9 disk, and in THINK C 8.0.) The mess resulting from having to deal with the two compilers and their two incompatible sets of header files and libraries will be removed after version 1.9.3 final, so compiling under THINK C will not be supported for long. More user-invisible changes: Everywhere: Misc. type & type-cast changes, removed some unused variables, Quickdraw globals now use qd. prefix. ufs_test.c: The name of the struct exec which holds the a.out header of the kernel was changed from x to exec. Better environment printing (i.e. the environment is no longer calculated twice - once for printing and once for real.) print1env() is history. Assembly-language blocks moved into their own functions and MOVEC instrs hand-assembled for compatibility with brain-damaged CodeWarrior assembler. (A complaint has been lodged with the proper authorities. Grumble.) Low memory globals are now accessed by their proper accessor functions where available (LMGetXxxxx()). Prototype for harry added (at considerable cost to code simplicity.) It compiles in CW9 with Require Function Prototypes and in THINK C with Require Prototypes. Dialogs.c: Cleaned code up substantially. MacBSD.h: CLEANUP is no longer defined by default to be while(0);, now it is /* NOTHING */ by default. Note that this only makes a difference in read_ufs.c. Sooner or later, Im just going to ditch EVENT_CHECK and CLEANUP as they are currently implemented. ==================================================================================== * Version 1.9.3 BETA 3 -- Mostly cleanup this time around, with 1 important bug fix in dialog code and a whole new way to get the parameters of the main screen using the Graphics Device Manager and Color QuickDraw routines. Dialogs.c: Fixed bug in GroupSet() which was not taking into account argument promotion when retrieving item numbers off the vararg stack. main.c: Now we check for availability of 68020+68851 or 68030 or better at booter startup time. getRAMSize() and MacOS32BitMapping() moved to machdep.c. machdep.c: (added.) Most of the boolean functions that result from interpreting Gestalt results have been moved here. getRAMSize is now GetRAMSize, for consistency. ufs_test.c: Changes to include files. load, lowram and mach are history, as well as many other superfluous variables of which Ive lost track. BootError now works like printf(). New max_avail_mem() which should probably migrate to machdep.c. Caches are now flushed and disabled before the call to copycode(), only. kern_geteof() is history. In copyunix(): Now, load address is LOAD_ADDR (a #define.) All the video info comes out of GetMainDevice() and its subsidiary data structures; the old code is still there (but #ifd out.) Lots more comments, including a try at describing the format of the kernel buffer, and documentation of the new algorithms for finding screen parameters. Figured out exactly what /* LAK says I need this. */ meant: copycode() must be copied to the end of the buffer, which must end on a page boundary. The first two lines round down len to the next lowest page boundary, and then harry is assigned to be 1KB below that. ==================================================================================== * Version 1.9.4 -- The new, improved Booter Manual (in HTML) has been included. The string+environment size has been doubled to 256KB. Eventually this will be fixed for good by allocating it dynamically. Mikael Forselius posted a big list of things to do to make the Booter boot correctly on the LC475 series machines. This includes changing the way the caches are disabled (implemented) and changing (again) the way the video address is determined (not implemented yet). More on this in future versions, for sure. ==================================================================================== * Version 1.9.5 (Dan Jacobowitz, youngdrow@mail.geocities.com, Nov 22, 1996) Was available at . Changes: Option for B/W Mode booting! Rearranged prefs dialogs. Fixed the buttons in the Untested Machine dialog. (These changes were subsequently lost in later Booters. Nigel) ==================================================================================== * Version 1.9.5 and 1.9.6 (Allen Briggs, briggs@macbsd.com, Mar 4, 1997) The main (only?) change I made was to support booting with larger kernels--it dynamically sizes RAM to account for larger symbol tables. Older versions of the booter just assumed that the symbol table would be 120K or less... Many post-1.2 kernels do exceed this size. ==================================================================================== * Version 1.9.7 (Steve Brown, sbrown@best.com, Mar 19, 1997) Added an Auto Set GMT bias checkbox and the code to make the booter automatically get the GMT offset from the MacOS. Also moved the Centris & Quadra 610 and 650 into the tested machine category. ==================================================================================== * Version 1.10.0 (Allen Briggs, briggs@macbsd.com, Apr 24, 1997) Added ability to read gzipped kernels. Removed testedMachine stuff. ==================================================================================== * Version 1.10.1 (Nigel Pearson) * Never Officially Released Mainly changes to get it to compile under Think C v7 _and_ CodeWarrior. Added alias of the resource file (for Think C compilation). Updated versions in ChangeLog and resource file. Dialogs.c: Put all of the SMALLFUNC stuff into a new file, DialogMgr.h and added new function GroupHilite(). machdep.c: Changed MachineLocation structure de-reference so that it compiles under both Think C _and_ CodeWarrior ufs_test.c: Cast shutdownProc() to (ShutDwnUPP)shutdownProc to match Think C prototype for ShutDwnInstall() BSD_Mac_Booter.rsrc: Updated version numbers and took chopped list of names out of version resources, replacing with by the NetBSD/Mac68k group zlib: Changed all text files from Unix to Macintosh format, added Think C project zconf.f: Put (#if !defined (THINK_C) ) wrapper around Byte typedef zutil.h: Changed start of line 151 to #if defined(__STDC__) to match Think C ==================================================================================== * Version 1.10.2 (Nigel Pearson) * Never Officially Released Added new Serial fields to set different default serial port speeds (with a matching kernel), and a new Monitors dialog which allows you to change the depth of your main screen before booting. (will also allow you to change the resolution in the future) Dialogs.c: Extracted Serial dialog stuff into separate file, Serial.c main.c: Added extra menu item for Monitors dialog, and a call to MonitorChange() just before booting MacBSD.h: Added extra constants for Monitors and Serial dialog, and variables in the user configuration structure Monitors.c: New file containing three functions to handle the new Monitors dialog and MonitorChange() which actually changes the depth Serial.c: Added a little code for handling the new Default Port Speed items ufs_test.c: Added a few lines to output environment variables for new serial items BSD_Mac_Booter.rsrc: New dialog resources for Monitors dialog, re-arranged Serial dialog and added new fields, added my name to the About dialog ==================================================================================== * Version 1.10.3b1 (Nigel Pearson, Aug 29, 1997) Fixed nasty booting problem on IIvx machiness, and small bug where Auto Set GMT bias could be turned on but not off. Dialogs.c: Added currentConfiguration.AutoSetGMT = 0 machdep.c: Added dummy function UsingVM(); Monitors.c: Removed some commented-out code ufs_test.c: Removed old (assembler) cache-disabling code (incompat. IIvx) BSD_Mac_Booter.rsrc: Again took chopped list of names out of version resources, replacing with by the NetBSD/Mac68k group (This change somehow was in 1.10.1 but not 1.10.2) ==================================================================================== * Version 1.11b1 (Scott Reynolds & Nigel Pearson, Sep 19, 1997) Standalone miniroot files are no longer supported, as they have been obsoleted by in-kernel root filesystems. As a result of the previous, the Miniroot field was deleted from the Boot Options dialog. The minimum and preferred memory sizes have been set to 2048K and 5120K respectively. A new check box was added for the root SCSI ID field: Enabled? tells the kernel to construct a boot device cookie based on the root SCSI ID. This has been the case in the past, and by default this box is checked. The purpose of this option is to allow systems to boot without a root SCSI ID specified, e.g. using NFS filesystems or in-kernel miniroots. The option dialogs had cosmetic cleanup done on them; positions of several items were adjusted slightly, and the order of items when tabbing through editable text fields was made consistent. The dialog brought up by File -> Preferences... has been moved to Options -> Startup..., as this is more descriptive of its function. The dialog itself hasnt changed at all. Consequently, the Save Options & Preferences menu item is now simply `Save Options. The About ... dialogs author list has been split into two columns. It was getting a bit unwieldy. Dialogs.c : Added DoButtonOutline() MacBSD.h : Re-numbered some menus and dialog items main.c : When creating empty/initial prefs, clear with MetroWerks memset() and set some defaults. Removed MonitorChange() call, disable options menus when booting, menu restructure read_macos.c : Removed miniroot stuff ufs_test.c : Updated BOOTERVER env. var., removed miniroot stuff, improved Not enough free memory message, added a bit in the booting flag for setting the boot device cookie thingy, added MonitorChange() call BSD_Mac_Booter.rsrc : Re-numbered menus and dialog items, fiddled with positions Monitors.c, Serial.c : Added DoButtonOutline() call ==================================================================================== * Version 1.11.0 (Scott Reynolds, scottr@og.org, Sep 27, 1997) Fixed code to display outline around default (i.e. OK) buttons. Dialogs.c : Added DeDefaultOutline() and SetDialogDefaultOutline() MacBSD.h : Renumbered dialog items for extra user item Monitors.c, Serial.c : Changed DoButtonOutline() call to SetDialogDefaultOutline() BSD_Mac_Booter.rsrc : Added user item (for drawing default button's outline) to each dialog, and a few more names to the 'About...' Dialog ==================================================================================== * Version 1.11.1b5 (Nigel Pearson, Scott Reynolds, Nov 2, 1997) Now writes preferences into a separate file. Better handling of Mac OS kernel file. Some user-interface changes. Moved all common copyright-related stuff (e.g. licence details) into a new file COPYRIGHT.txt boot_vfs.c : Moved all gzip related stuff into a new file, gzip.c Dialog.c : Removed stuff relating to Startup Preferences dialog into a new file, Startup.c. Added code to use a file requestor to select the Mac OS kernel file and to save the resultant FSpec structure MacBSD.h : Reworked user_config structure. Added some #defines to easily enable/ disable gzip code (e.g. #define kernel_read gzboot_read or boot_read) main.c : Tidied up error handling logic after calling boot_read. Removed Load/SaveUserConfiguration stuff into a new file, Prefs.c Monitors.c : Added code to remember and restore monitor depth read_macos.c : Changed from Unix style io calls to Mac style BSD_Mac_Booter.rsrc : Moved debuging-related items from Booting to Startup dialog. Added button to set Mac OS kernel file, separated kernel location items from others in Booting dialog ==================================================================================== * Version 1.11.1b7 (Nigel Pearson, Nov 9, 1997) Changed booting sequence so that the attempt to kill other MacOS applications (note that this is broken, at least in my testing) happens _before_ the depth change occurs. This is so that every other app won't have to redraw all of its windows. Added UI for an optional booting item to get the real version of the mmapped video_address for LC475 type machines (Mikael Forselius's suggestion from about a year ago). Killed a few bugs and eliminated unneeded #includes MacBSD.h : Moved EVENT_CHECK macro into a new file, event_check.h Prefs.c : Fixed 2 bugs; 1) "Log debugging to file" failed if the "Set" button hadn't been used (i.e. there was no default value for the filename) 2) Modified preferences file code so that the file is only written when a "Save Options" is done ufs_test.c : Removed some #includes and moved kernel console video address stuff into a new file, videoaddr.c ==================================================================================== * Version 1.11.1b8 (Nigel Pearson, Nov 11, 1997) Implemented hard-coded video address option for LC475/575 machines (looking up MMU maps was too hard). Bug fix b7 where video_address was never set (i.e. no console) ufs_test.c : Removed extra video_address variable videoaddr.c : Added hard-coded address ==================================================================================== * Version 1.11.1 (Nigel Pearson, Dec 3, 1997) Improved low-lever SCSI debug output and added sensible(?) errors for wrong SCSI ID MacBSD.h, read_disk.c, read_part.c : Added return value for read_scsi, read_ufs.c : Print partition name when searching for boot partitionbooter-manual/icon.GIF666 0 0 374644121247311644 0ustar rootgroupGIF87a ̘fwwwDDD""", pI86~`(JAQOltM {.& ~@C |*&c`LzKK<\ҕTsK9.T?4v~2vp# /") 1!D2LqY'#;booter-manual/icon2.GIF666 0 0 327644121266011722 0ustar rootgroupGIF87a UUU, $믚A4&f7#w2}p3(aynJ3~`݄=t(\SG*9Q0VKyU%tF5g5dShYH%Ryf9g:9@(9Y+;Ku+w{ësu<3@;booter-manual/Monitors.GIF666 0 0 5570642633471712622 0ustar rootgroupGIF89asss,X0I8)(C(dihlp,Ϩ D|pH,Ȥr)p̨tJZL'(zpK.u"9ի րbrq;{QwTuD}Jl7 pvwsmy={̝=mqڽܳĞū<ͯӁr飍y"R5GȀluA$Um M4ӮxඡGϢ@eT2B~vP`#Y/ޠ- JaΠiC3ҧP4Uc3իXMʵW)ZKٳhӪ]˶۷pʝKWmx˷ LÈ+^̸ǐ#Kx˘3k̹sf˞CMthЦS^͚4ְc˞m5۸sVߑmNȓ>s׼K0)3ν;=x|чG~oq{᝗j}YbAk~p{^ؠX1`a .ڃ}H0ZVa$!$ƣ=h䐷8yWdE")%PI6ZidZN$)cbeA Q>!\hG>9%|YY~Z'N:p.be}9_zA*vNHTRs* cꡚaa.Z H^=8z&klGl:l&9m¶lܦmmn6njwmpֺnYΊ*˥rYgҪݰd**o2'6jf":rB}ʨiL2baJZq\g4;Z%%r2¼qić2;D*3|#cP|uӷB6,\_-*Rjhh;r~)fq'֕ }c}N:覟oꪣz;'>;[~{{ٿK-sӝpoK;n=#Ƕr5Et>6z;Ӧ>b&S[`XFՉq^~D9mUHUU9A.|ڿЇ vj[ U8O3:d=:jA 1U{ <;"Db")VKVDbDrv[ld,/gƐF6g hůbObUq~ ѦWo4+!Nj1>_4(L͎$&D D`'g0TGo=I'WQfelyGQr%$wllan^K={2ԡHpp)؜"b7')鐳9': u<ugl򳟓h)c#x*O!?%ZN%hIǗ# :A1՚H3͡ECzI=Ռ0}i"*SȣL+Z+ݩ8ˏc:jRwҤ:SJ5PZTg^5YŪJֲU-*XVD}WJן4nkTњ՚U.R穴u%kֲ̪b[WjP,`YgEUudzWޔ`Y Sֶ `a'?ʹb}B 5.q?uީe.rR7׍7-&Ժ$a6f*yϋ07c0yZُ¶r%`IZ1bZfAY`E0|U2վ`mnjѮզ5T 6]dcK (֯WQ挤]W<`[R+b[6;&pc)U#{SC,jLN}0KX}R1'úkV=gG#ٻpv<.rL`jм~†hUZ8̡gRsA[ŗ5/ ?].^s#xmv7'-|ܘ6ϼwʚQwuזXw9.3Vo x b?&;ܱWer} {fO8#u} cʧm]쓋Z"4S|վ%gBa-J׻ƾ#])s5{6ˊr⣦~#Jg{M;b6O'lƏZ"O4Ҳ_xXƝ6[XJch}+u@K^C2E0cr͛8xϟ@ JѣH*]ʴӧH=HJիXfׯ`ÊKٳhӪ]˶۷hKݻx-+w߿  /È+^lxǐ#m,ˌ`̹^ʞCM4Ө=Nͺ5ծc {vksݚ.D&X!Jxu`HbBaw-!)>8c({_u]8Xpcidjn/k 'Ku|зxOO_zگ}>y ~8>:ŵG*k7eË)'gad"K_b`醕4xkmt":}|S AkT#!nǀ- u&p  3'nFrRB)B!"%*ţU_,#<Ll\K\Q2%.uIP$ q[SS.U0v*!IX94hwJ;)%;bn*f^S}YH1ImBc%s^\@}XP%fk(SO:o\cs&'Ѣ:SAL~erhH9:RpchWa+JA. l:MjR1@aBiLR=FO9Kt&$Z|ˑYD(QԵK1,1̪6Җ҃NWuRsY.Lnt}`ڕ / Rr,np,he(d:Ch;6-rTjBm8ͺǀ,B2V u'?MtcqJ{Ҵ̚ljT3J!N1ZquR攽vc*f+R'IqbxߦtnM-:o|jcVXjܷoC&5R)+U)7 >->+DƤ1/>V lcȤ"h c}"ds>R$Ra=B:.?pԪ;^Cuч `%YU^y̷&פuQ `#Ee%f!HLŮ$#!?' p/}Y!fegLb2dXӚ6CkrR5V- 5?l37[~]j/J#,oji{+py0}lqU mmGm43BTּU0߹boݻ-\.`³p2f(^Ivlڭ#f*{_TJ] JkB >r nnl|@<<5grtѾmv)rdMWǡܡUGdir|=3+^սugeSxz. 3; dǹ+6IWi'~gtc<ቡwnȓ+g7>Fn>Q뷭'öG~78|?ɼ?>뒯|b1Q{>]:_i>jZw_ғO! MACGCon 1Written by GIFConverter 2.3.7 of Jan 29, 1994;booter-manual/Serial.GIF666 0 0 16011642633473412276 0ustar rootgroupGIF89a9)9!(A0sss,9x0I8ͻ`(diplp,tmx|pH,d(ШtJZجvzxL.zf*|N~ߺW}kph ^ WR _ `^TiP]Yʵх־QOȭַ#a÷^dMǮ᪆tU 3"xJ C$-w͋%E{ӡL'Fs&ӤJD  ˇ*SĉΈP۹zTfUTWV!ʵk'?Rr4'ٚ;2kɔ)۲/Ɣ)^ꕴ0.77  WnrOW͍JltM}y {zv3iz^ʰ=&miͻo< N'(_μУKNسkνËOQ_Ͼ˟OϿ(h& 6F(Vfv ($a(,0^@4h8#'@)HH&8PF) :IXfeVn`bbih.H&bn)kwߌv޹_ '}'J8 h~I(X)z~n`|~*j訔桭h+&ޚ`J M'(w.#j䥎Z ӆZ!J:i:ij2;i۬6l"վKovk.pɦp!rKp.;.[< S,.$.SL\0w|ܳA0{K'pɪbS:GsA<&[}۩i?\T o_ͭIvEӼ3 sڻj^C 2R:g- wcNug~91-k㛻-c[m.95>e>}9g :bͻ𐧌Ǧ?w:75kزompӃ~K8ҟvS p $ v̠78q <("! WBb0_(PN410B9졢tF-E1*Pχ 5|M<"ݤ8sAhB|P .U[$F%-Pӛ"741"$ 0d?2SW{(X&27*#7Cb^5WX+Ron{B2+cqkZ;M5VLV$Ϗ'S|ݬwT_#EAr"WxVoYIaFm9[:CU޼=d۫,ek_,)|OϏ'@'Jk[>+[gu+]ӇwT9Oٵ?3~d[O.J{T'i[倚}n6UNIvDFU 5\)F?t$}O~ڔw EqCf(׳\C5;P?7%c@SDs%seGFW9YPgtRy<YzIxOuMJLxoWuPsWUs8!{x*vSjE/6Mb_(Gwޗs<^}M 6nhI}ogWxUYwȉ)PQXoLWlO%g18c+hH{wyx*G7;WFuFX47qcw\Bbo8HgGeJ HTSUhLi戎,5zH<(Y]X~Wz's҈|,qxdgS1;'}33[ yU3(? yjY Č_^Hy&yHY1ٝɓ9Sdbyqo2gIFh)wHx7钟k鎠Gway}xi`}G&-xiO)IK3ei!6igS76)91;#x*Wh)*xr MIucB>~YQ|yWM䙞v9]rj`]CZT ;TkZZadXt1mi:ףcr sɸq'mKWꈖztwکmv:cWu`ڝeת%ʝ:rʇW㙫xGr%:foehJTnC96zF*}:WƊxv9Lm{z>׍-'J^8Jm8MǮ/p{zgPL8sI(? ʹ?\Ii O1**sJfn_| U5Lz_:x= ?;],C-P>b&˽\^`t|d]f}h_|XKPZ]Q}#rԊzp]$ Ocb¡{`6nM07^jْL|xV[Jy{tח-Rm7[8lC;ǻ(gtĂPI  ',$b ROwS-=ۋmzyDXaxS[H$Ɲ iLEM9>bdf>idٛ+]MK]x^zc@}^b8\1P.G].K0ڍ4C}J$-;Ϭ ާ_@:tx٘9L=}ުNDάB롍#-o溎_N'l>pw3wn:d-ޫ%?^YZOV;cMrW$i_|~ ʮ†{+5 >\쐉>%5ǎ;ono!.NNW.K$_۱-TN~lI]3+vS}l?uFoHzXfUbĕ6~>Nrԏ*n*&sm$\Ɉ~EAYLb\ߟؖO1^Y;ĐX]ދ 7m,v9(Wiܡ*.STZM{(y4gɢ2jnoN5ѭZ˲ ęރzAG/`}_ՍN(K>a2.P`~:^nul:f2ZJP(rzvK&myhF{+6[cy_뇀A%[hK}mgvo_jcX0&bXwRGv_pl VF#raksQ(>u>*s=L6p[/m=`kT~D HV*\mÄ6dPĊ3j,xƏ=y"!F$ɲ˗0cʜ M+oɳϟ@ &ѣH*]ڎӧPJ*(իXjҪ@SCU'`r[yBCSZlvV-Ɏ<+3Pٚ'FhζD9j- 2 Fwt( #-5|Kѡoy~*ցʆnY33X'R.nzω4((2آ)?omda_ҥ!qH%_vYt"dZ株V+\eevm\)'׷n2l l/\rƽ+8K/b 'B!ÎXE7Ń떽?jxkl{ ##L-W6$']6S>'jvȶ#H.=gDF ]ǚ{w7 ^|v byer'Ɠ8vj5g8}?O*yӜ37|| ZkcyL㈷^uM97&yWrڹ= wBbhmӄ;7m>|eb<츃.?dlp_=8)߻VEJwPt'm?F8wp*;a) \qOqCS-M+hn؁'fku2tqBPz*A*9TH2EpaX ʀ™'ċ0ۢ[1f`;sfF*.%^g#KF7x#>1e Ah#"ȭ(񑐌$'IJZ̤&7Nz (GIRr8*WV򕰌,gIZ ! MACGCon 1Written by GIFConverter 2.3.7 of Jan 29, 1994;booter-manual/TO-DO.txt666 0 0 2432643135645712037 0ustar rootgroup Booter improvement/to do list ----------------------------- Bugs: * Add workaround for having to reset PRAM on AV Macs * Make gzip code re-entrant (currently, if you stop a boot half way through and then start it again, it fails - reported Dave Huang, 24th September, 1997) * Put up a dialog box and quit if virtual memory is on (Ken Nagata, 8th July 1997) * Problems with "Minimum Install"s of the Mac OS ? User Interface: * Command-B during an autoboot to boot immediately Functionality: * Ability to force a particular MACHINEID for clock-chipped Macs (Bob Nestor, 28th August, 1997) * Find and include monitor resolution changing code which compiles under Symantec and works on non-PowerMacs * "Open and Boot" item in the File menu? * Ability to "Drag and Drop" a kernel file onto the booter? This would either just set the MacOs kernel file, or do an "Open and Boot" * Multiple Monitor re-ordering and maybe depth/resolution changing. * Resizable and printable log window? * Simple Booter extension (like Das-Boot?) which uses the same preferences file? * Ability to open preferences from multiple prefs files Kernels stored under MacOs: * Add ability to boot from tarred kernels (e.g. netbsd.tar or netbsd.tar.gz)