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

BSD/Mac68k Booter Manual (HTML version)

Version 8, 30th June 1998. For Booter 1.11.3

Index of Topics


What is the BSD/Mac68k Booter?

Booter Icon
The BSD/Mac68k Booter is a MacOS 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 recently under System 7.1 and 7.5 (both minimal and full installs), but it should work under any System 7 setup. 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 MacOS!) 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 MacOS 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 as 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?
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 for alternate root/swap?
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 (et cetera ). 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 MacOS 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
Extra kernel debugging messages
This option tells the kernel to display some extra debugging information
Jump into debugger after booting
This flag tells the kernel to go into the debugger (either kgdb or ddb) shortly after initialization
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 and X Windows servers 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.

For those of you whose use your Macs for MacOS as well as BSD/Mac68k, these options allow you to keep you MacOS screen the way you like them, and then change the settings just before booting the BSD/Mac68k kernel:

Picture of Monitors... dialog
Change Monitor Colourmap to GreyScale
Support for colour is not currently in all X servers, but some of them do support 256 greys. This option should make X Windows a little more usable on those systems
Change Monitor Depth
A set of common depths, some of which your Mac may not support. If the requested depth isn't supported, no depth change should occur
Change Monitor Resolution
Common MacOS screen sizes, which both your monitor and your Mac may not support. If your Mac doesn't support the requested size, the screen may flash, but no change should happen. If you monitor doesn't support the requested resolution and scan rate, behaviour depends on the monitor and cable. Usually, there will be no resolution change. If you have a Mac to PC style cable which is set differently to your monitor's capabilities, the monitor may lose sync, and in rare situations, damage may occur

Note that these options only affect the main monitor. They don't currently do anything with multiple monitor setups.

Startup 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.
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
Debugging 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 debugging 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.
No env dumps
If this option is not checked, the Booter will dump the boot environment, a list of variables not unlike the UNIX process environment, into the status window before booting. If this option is checked, the booter will not spew this entire list of 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 & wait for OK before booting' being enabled & a nice, big boot window. :)
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

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 MacOS without it!
Couldn't locate any partitions on SCSI ID (0). 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.

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.
(et cetera)
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
(et cetera)
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

Version: 1.9.6
Author: Allen Briggs

Version: 1.9.7
Author: Steve Brown

Version: 1.10.0
Author: Allen Briggs

Version: 1.10.3b1
Author: Nigel Pearson

Version: 1.11.1
Authors: Scott Reynolds, Nigel Pearson

Version: 1.11.2
Authors: Eugenio Macia Vivo, Nigel Pearson

Version: 1.11.3
Author: Nigel Pearson

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, Bill Studenmund and Eugenio Macia Vivo.

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, et cetera

Apple, Macintosh, LocalTalk, System 7, and MacOS 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-8 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 12565653733011212457 0ustar rootgroupGIF89a8Isss,8h0I8ͻ`(dilp,tmx|pH,Ph:ШtJZجvzxL.贺T0|N~l|O~oW _ S N`R\OUj̙wį MPj̾R YxO5ɛ\‹#ȱGB*6ܷ"z(E˗ fISMnl훹@/nI讐'uKtI8J̠X-,kt*1Ҭhg ʶm#Rg縝K7մxjo޻~ L+^̸ǐ#KL˘3k̹ϠCMbS^ͺװc˞M۸sͻ Nȓ+_μУK{سkνËm}ӫ_Ͼ ˟OϿ~h& 6FVh&Havm$hr",b&40h@iI)N2Fb**M֊룾 ƒ2*:Fk+knm .˭隮1{jj.h++ꎻ\vKi޻ĨkrBl_pÚ#;d\'/ŽfZB1&,Z2쎜|_\]9,${p~=5q_7lc;3n_MvIJ,$Ò2Z 4" pjwx ͋wڴ(wHwv'4XV-a^.]˚uOf^X:tN;Wݨ$?-<@AL=ߤ w/ tދ/s#4/|8?Ûg'b?=ˀ`;Uo7>z GH5(LN$0 g&8\awCذ@DaD5kb&W$\0XeωX~ˢC q+3V}?6x^htABis`iH162ԡc,]PpiɽuRu'_e!ЁnmT:Jz(@ZvxQX)FUfZB&r]f$#6?Psc2aXs?ÈPkEQ7Ms:Ke%Nrpd0?Q4u(Ksю־NK44+ 6i04G]&k)2t@g<)ͭE5v˪*R UyV ӨX-I?N3dפ : ^\^XH4%e8)Jr'9Q$mlP#%Pf,eA!2vY%D9ZՒ1^k]K[Yemspk4[B5q7\*wmr;W;~k{;t tYJnotO)GO"Sݟ^F7l%ejА}8x[I&&~0+kDU;b 8XpoK+π!mg<a2G,HKp2R6NsZjcdOzӠuYԩ.Tz[ ^g#7wf'u:QԷWq,N%3cVU6אOs.mV@ Xӌ_ԔEMk5|1^UuDb^ueY櫋7׍1^o-;WM8ɵmcXM-ኵq#<&T/.wېscm [t R}{)ߨ'0c`&sN7ۋ*EhYU^y<"D@ZV{ַzh6Gxuι:jqAjEZnVr.wxG3I1ЄRXgDXvXhZ}օ^g$gdXfxhPi؆npfkt87uxz|{؇we8VVdFc2TkxiŀAwBЕZCԉ&CHNHu F8'x@wSHgx@;3zɷw\hbSXLxZvt̨zut8ŊVD|f(jShww#Ǎ9Ts[[cLjh](fHIZ9UbȐMɏ S2樌Ȧ<Ƒ̦BYv3&i . Ya `%يWr^XMDvw)c(#iQ-`)uZNqet7RyDз.sȊwwVk}fUSM|G%1YhayXgRdxۗ•0_Z_iMMTZ6'K/g0n!RғoEHD:m5s"7:ՂO98*7~;ɨ%5by&i 9J)V EO xroi*aIoz*׫Y(au*{HD`(i{iFºBEz݊ =ħ'}Jߪtʪ*r:Pڍͺ)~7Ji0;EUķ&癍 /f:-OxIiկ򡩁X'bJAra|Zlh BòE]~H6<8K/_'LJdZD{?[A{ٷ~ڗjmTpOW37`yve{vfkZO;|#&IAlT9w+]yj+ft[|Ls+V [t5Qo+,bثS?YWJ<8t!̸l)MzC t|Ql,O\Ω\ ߬9Κ hpt -R[>̕M'-YȟiMo ZDy8& {7bt?IwfCj:Ԝ%cmǴPM_\!kbYty0+Yn a絚miֱpذ;pQi?FYĤGWWdu;gIvz4N~|w&-K2E-h_WجM{ܽfK%LC՗&CS˼S(m4t7χV'N8#~Z]ˇm]FfE6d}/*㯫yAL3E~&lmK.CH]rP<4+.ki"ᘈ;l3gXdZ_k=HŹTϠk" W`):޴m]ۺPqegו\`uWcYb; ظn7/"ջ67&F„إ;!֌5*~d[w'JWح܎mNG.дΟlc"m/4t Ed$^=b O$;>/&#%`,$+2D4_&8Oq>@_A?D_F ! MACGCon 1Written by GIFConverter 2.3.7 of Jan 29, 1994;booter-manual/ChangeLog.txt666 0 0 60243656015367513130 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 partition ==================================================================================== * Version 1.11.2 (Nigel Pearson, Eugenio Macia Vivo, April 18, 1998) Now checks for a few more things in the MacOS (Virtual Memory, AppleScript, et c.), correctly kills running applications (a problem with my Think C's project settings), and allows changing screen resolution and colour mode to greyscale. Also has better default memory settings appkill.c : Added error-checking and Control Strip hiding code BSD_Mac_Booter.rsrc : Added VM alert and GreyScale box in Monitor dialog MacBSD.h : Added ids for above and a few prototypes machdep.c : Added HasAppleScript() HasControlStrip() HasDesktopPicture(). UsingVM() now checks if logical memory size > physical main.c : Check for UsingVM() and popup Alert, changed conditions for hiding 'Boot Now' menu, some tidying up Monitors.c : New Display Manager calls to change resolution, and addition of GreyScale mode changing and restoration RequestVideo.c, RequestVideo.h, RequestVideoSC.h : New stuff for Display manager ufs_test.c : Now also calls RestoreDepth() & MonitorChange() if colour mode (e.g. GreyScale) or resolution change requested/happened. Only kills running apps if AppleScript is available. ==================================================================================== * Version 1.11.3b3 (Nigel Pearson, May 6, 1998) User interface changes and addition of 'jump into debugger after booting' BSD_Mac_Booter.rsrc : Moved some items from Booting to Startup dialog, and added new kernel debugging tick boxes MacBSD.h : Id changes for above, additional debug flags in config struct Dialogs.c Startup.c : Moved items, split 'extra debugging', added new items, removed last traces of "GreyBars" ==================================================================================== * Version 1.11.3b4 (Nigel Pearson, July 4, 1998) Fixed a small bug in 1.11.3b3 where serial booting would fail when both 'Serial Boot Echo' and 'Serial Console' were used together Dialogs.c, Serial.c, Startup.c : Normalised boolean configuration fields to 1 or 0 (some were 255 or 0) ==================================================================================== * Version 1.11.3b5 (Nigel Pearson, July 5, 1998) Bug fixes to low-level SCSI code; which would hang the machine if a removable SCSI device was offline, improvements to error messages when wrong SCSI ID used, some tidying up of code BSD_Mac_Booter.rsrc : Made debuglevel input box larger Dialogs.c : Removed unused variable main.c : Separated main text window stuff into new file, Window.c Prefs.c : Changed short WritePrefsFile() to void WritePrefsFile() read_disk.c : Better error messages, SCSIComplete() calls to cleanup after error with SCSIRead() read_ufs.c : Improved "Partition not found" message ==================================================================================== * Version 1.11.3 (Nigel Pearson, July 30, 1998) Problem with monitor resolution-changing logic fixed Monitors.c : Changed logic, which was using unneeded Display Manager call for depth changebooter-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 6650653733006212612 0ustar rootgroupGIF89a/sss,/X0I8ͻCihlp,tmx2pH,Ȥrl:ШtJR{uzxĒznLۗ~GwwE P@\ Q H}}BT[Kxnt Ad̦÷гD׋E館bŸkGgz '>p7B"CaGKSˋI *%̘3Kn1(mǒ\5ϚPmNY5 :ň7-_Y,X ՘ O=ʕ .ֹx.߿5#È+^̸ǐ#KL˘3kϠCMS^ͺװc˞M۸sͻ NȓУK|سk^}Ë.腓OϾ˟O{~_߀&`{.5F f!n 0]h&$l+l3k-c56,b.2f$K6cRVGVƗ%[rd:d1r饘_IeweXONImjlfXex#t jgw%w2zg'硆BJIhnhRziJ*ݘj™髧J)f2zf|N멎%s*i+zZl#zE+J>ݦF{:b;Pmr m:qov;3ɧώ+7p ̬g⦅^k8oZ튎^9k% o+ ɾp8o j#.N5rO7 ԙ\Y 6t@m,NlpoMڍ NU-ot)sKvr}˛ky216*L͟n4]IfD全X{޺S{',Cr:/>9ۼSwkƓ>=l~7lI׭-(ga8,m NЪ>(@7`NFkt"ͅ1[ @ HD H\ DᰉP\HE%>Xax)#ˁsޘ@YHJбBbdc셤6da-F> 1KHU2h|-ɓaR?ߠ@GGRH$ ;)S2R^We\FIZRWYJ`4L[(4ed14Id:4f-AY3ùͥr:rR$~ H哜 $$IӛDY1 M{S8FNge%%i_QgG?ZO懟₨l;ޱq*UK3o1!T9)P/(ԡ0FEbQں25rBgC 팜 uhƯZu$)EUѵf5lF R4p) zҳlm]:X鳠El]\_ٙؽ,8X*W"ԲŬXIX΢|-EPf0n՚Юx](@W6aݭkZmvm`NҶ mIn+oJ8>wq ׭S9H9up=Qzt_xo>1p!ԅѽ~9j -fkXVxMfӎ׮/5qkUƍ5m9zcعq d2w @ KEn2c#mN.YjyvlS,c3GsM-5,Sb4bc2ta9Kcʹ$pQ6In^XL&THwӒC->5U;ծ0cmiZgzֶFs=aשmvu2, Ygja󸏸cZZ8%f.͎v1wGwI쒗.3n ֯FpdgӶ]3 28$k,&]]^])U`go~Lf_8u,go2ʱ6OyK^!Z È^[|lvO}:JN֥\ >@3 mK x(V_o쏞agE3~~G}׷~ߤfq]ٗ9dۧx]]Lxiۧyhxg#b|'uU8 rw|'9tW:zwug>7U>wAU98Fh =Aٶ1Rz^ŁK2fc\iqbT(}G(z0G_(kd8gxyȅfz~Jx]*g(|vx}#WeU'H7Jx=fP'v|"xZUk\VhUxwH]XWH#6Qyi}U(g*v^}lvJiLPHU8v8x8؎(Xq(5졏e!j-XvAx\4ȐÃFy>c8<!kH85)oh$ٍ(9uƒM%- G9I5h=6iv"wMy$!T/I$-_C6tBOnu#*HlƏ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]8Xpcid3:ʖ0Y.I"/< 07^.f|1QRmRPӌI6cRjZ Ԟ/pe|S2Yǿ lv%<ϹHu^򖵴f$ i{*K?΁ EBO R-D# ȹͨF7ZƓ HGRw =i RN+i^*SPѴI)N]Sf$R\ɃPSfQ]<IPdzhIGTk xGvLW}34\I g\j$uZSݙ9nR5lZ?'ػ~OPUĂ+E@yrY+HZa)^KndzQ;cWKwE_fwS-f:=.f[M x s[(^՝twq7߽w5X3~ɄH^mufX:Nec~g9 ^m:)ֲoˮXq,``Fod:>:|:Q6g\7;'jV~dg81Ei%J7ϦVM[*ٚ1$uIʌlǘ%Rb&Uˊ)`Y35Pn#㌘693d)IX;?pA3%ܭY91tTfB#GrjXlXZ(r}^Y 4khݑ >me#^s0[Z6Tժo$ũJV64(a#v-Ik٭^ʈ GM|fCgWl§ڤvb#ؿ.f=Kihnլ?CĚ[~k~{P)j暼&l4 X+Aޯkw\,PK-ehhhsy$sv хNDߦsc( ]˷gKy4ԃ7oJzsKHӏk~>Un+Ўζ_ړP[/N`&6tчM*WMX¹Knļ b=p 퍿|Ö/.[3{}tyWƯZdҖzN<߲Ƨz?/j>jm j[ؓ5;r:؜nq|}1oktݺ2Z"IPeu 'z`x$Y Xx&Ed2V(Cx}%V|db fo Hj@_*wG͆/l聦M y(vU.4Ah2I*.;؂0wxE4bD~+؃*&d<'FKM'(xG}vOUF"k~Wk`H7n딃Z}1H;'|trw%ʔ|6؇vXH5t~9~׈$HhdȇX\MQfx+]e"guyt>fsƅȉXgA#)CrfI=88(ysM fjY݄hs]F3ryliq>ctOT[vAoȌxV8p&D)5˸MbC:*wrڨ>J1V*(a86Fɏ$yf(7qrr:<G"I|\^%E@IVY5Xg؋&gR9ȊXqf cƕRqƖqxؑsIuiwIy}fوp9YM! 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 3533654773147712051 0ustar rootgroup Booter improvement/to do list ----------------------------- Bugs: * Add workaround for having to reset PRAM on AV Macs * Cancel buttons do not cancel changes made in some dialogs * Problems with "Minimum Install"s of the Mac OS ? User Interface / Functionality: * Ability to force a particular MACHINEID for clock-chipped Macs (Bob Nestor, 28th August, 1997) * "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. * Printable/Clearable log window ? * Redraw log window after 'Cancel' in Boot/Cancel dialog * Simple Booter extension (like Das-Boot?) which uses the same preferences file ? * Ability to open preferences from multiple prefs files, or multiple sets of preferences in the one prefs file * VERS resource in preferences file * A single Preferences dialog that has all options, on different pages? Could use a left scroll box with different icons to set up different options, a la System 6's Control Panels, or maybe a tabbed interface. (Scott Reynolds, 15th September 1997) * Store extra information in debugging file: machine type, version of system software, macsbug yes/no, ram size, disks+partitions, all cards on all slots-types (interrupt levels?), amount of ram allocated to booter, etc... (Armen Babikyan, 6th November, 1997) * Nifty triangle or popup thing for selecting disk (SCSIid and/or buss) and partition to boot off. Could also be used my MkFs and the Installer * Set 8-bit colourmap for non fully-supported graphics setups ? (Nico van Eikema Hommes 12th May, 1998) Kernels stored under MacOs: * Add ability to boot from tarred kernels (e.g. netbsd.tar or netbsd.tar.gz)