INSTALLATION NOTES for NetBSD/mac68k 1.0 Be sure to read _ALL_ of this document before you try to install NetBSD/mac68k. What is NetBSD? ---- -- ------ NetBSD is a Berkeley Networking Release 2 (Net/2) and 4.4BSD-Lite -derived system. It is a fully functional UN*X-like system which runs on several architectures and is being ported to more. NetBSD, as the name implies, is a creation of the members of the network community and without the net it's likely that this release wouldn't have come about. NetBSD 1.0 is a milestone release. The hardest part of the 4.4BSD-Lite integration, the kernel, has been completed and has been running in "production use" for quite some time. Also, NetBSD 1.0 is the first true multi-architecture release of NetBSD. At the time of NetBSD 0.9, the 1 port was considered 'production quality' and the hp300 port was barely working. The NetBSD 1.0 source supports nine architectures, and complete binary releases for most of them will be made available. NetBSD 1.0 supports many new and improved features, the most important relating to file systems. New and improved versions of both the Berkeley Fast File System and the free implementation of the NFS protocol were provided, as part of the 4.4-Lite release. The new versions include such improvements as support for 64-bit file sizes, for local files, and "lease" support for NFS, to improve performance. In addition to the file system improvements, many other parts of the system have been improved considerably. For instance, the virtual memory code has substantially improved performance, and many of the kernel's interfaces have been cleaned up. Many new user programs have been added in NetBSD 1.0, as well, bringing it closer to our goal of supplying a complete UN*X-like environment. Additionally, support for shared libraries has been added, for most architectures, allowing a significant savings in both RAM consumption and disk space. NetBSD 1.0 is the first "real" release of NetBSD for the mac68k. Previous releases have been alpha or beta quality. There is still a lot of work to be done, but this should be a usable system for a number of people. Quite a few features are available: shared libraries, new file systems, binary compatibility with the other m68k ports for most binaries, SunOS compatibility, and numerous others. The Future of NetBSD: --- ------ -- ------ We hope to have regular releases of the full binary and source trees, but these are difficult to coordinate, especially with all of the architectures which we now support! We hope to support even _more_ hardware in the future, and have a rather large number of other ideas about what can be done to improve NetBSD. We intend to continue our current practice of making the NetBSD-current development source available on a daily or nearly-daily basis. We intend to integrate free, positive changes from whatever sources will provide them, providing that they are well thought-out and increase the usability of the system. This includes integrating the remainder of the 4.4BSD-Lite tape, as quickly as we can ensure that everything works properly. Above all, we hope to create a stable and accessible system, and to be responsive to the needs and desires of NetBSD users, because it is for and because of them that NetBSD exists. Sources of NetBSD: ------- -- ------ Host name Services Provided ---- ---- -------- -------- ftp.iastate.edu Anonymous FTP, AFS Anon-FTP path: pub/netbsd/NetBSD-1.0 AFS path: /afs/iastate.edu/public/ftp/pub/netbsd/NetBSD-1.0 ftp.eecs.umich.edu Anonymous FTP Anon-FTP path: BSD/NetBSD/NetBSD-1.0 gatekeeper.dec.com Anonymous FTP Anon-FTP path: pub/BSD/NetBSD/NetBSD-1.0 wipux2.wifo.uni-mannheim.de Anonymous FTP, SUP Anon-FTP path: pub/NetBSD/NetBSD-1.0 SUP: get the file pub/misc/sup/supfile.example via anonymous FTP and read it as an example. ftp.demon.co.uk Anonymous FTP, possibly SUP Anon-FTP path: pub/BSD/NetBSD/NetBSD-1.0 SUP: contact peter@demon.net for SUP server status/information ftp.uni-regensburg.de Anonymous FTP Anon-FTP path: pub/NetBSD/NetBSD-1.0 ftp.unit.no Anonymous FTP Anon-FTP path: pub/NetBSD/NetBSD-1.0 ftp.stacken.kth.se Anonymous FTP Anon-FTP path: pub/OS/NetBSD/NetBSD-1.0 flick.lerc.nasa.gov Anonymous FTP Anon-FTP path: pub/NetBSD/NetBSD-1.0 coombs.anu.edu.au Anonymous FTP Anon-FTP path: pub/NetBSD/NetBSD-1.0 ftp.netbsd.org Anonymous FTP, SUP Anon-FTP path: pub/NetBSD/NetBSD-1.0 SUP: get the file pub/sup/README.sup via anonymous FTP from ftp.netbsd.org, and read it for instructions. If you wish to become a distribution site for NetBSD, contact Chris Demetriou . NetBSD 1.0 Release Contents: ------ --- ------- -------- The NetBSD 1.0 release is organized in the following way: .../NetBSD-1.0/ BUGS Known bugs list (incomplete and out of date). CHANGES Changes since NetBSD's last release (and before). LAST_MINUTE Last minute changes. MIRRORS A list of sites that mirror the NetBSD 1.0 distribution. README.files README describing the distribution's contents. TODO NetBSD's todo list (incomplete and out of date). patches/ Post-release source code patches. source/ Source distribution sets; see below. In addition to the files and directories listed above, there is one directory per architecture, for each of the architectures that NetBSD 1.0 has a binary distribution for. There are also 'README.export-control' files sprinkled liberally throughout the distribution tree, which point out that there are some portions of the distribution (e.g. those containing crypt(3)) that should not be exported from the United States, and that if you do export them, it's your fault, not ours. The source distribution sets can be found in subdirectories of the "source" subdirectory of the distribution tree. They contain the complete sources to the system, excluding those portions which should not be exported from the U.S. (Those are contained in each architecture's "security" binary distribution set.) The source distribution sets are as follows: gsrc10 This set contains the "gnu" sources, including the source for the compiler, assembler, groff, and the other GNU utilities in the binary distribution sets. [ 7.7M gzipped, 32.0M uncompressed ] ksrc10 This set contains the sources to the NetBSD 1.0 kernel, config(8), config.new(8) and dbsym(8). [ 4.5M gzipped, 20.8M uncompressed ] ssrc10 This set contains the "share" sources, which include the sources for the man pages not associated with any particular program, the sources for the typesettable document set, the dictionaries, and more. [ 2.3M gzipped, 8.5M uncompressed ] src10 This set contains all of the NetBSD 1.0 sources which are not mentioned above. [ 7.1M gzipped, 33.4M uncompressed ] It is worth noting that unless all of the source distribution sets are installed, you can't rebuild and install the system from scratch, straight out of the box. However, all that is required to rebuild the system in that case is a trivial modification to one Makefile. The source distribution sets are distributed as groups of files named "set_name.xx" where "set_name" is the distribution set name, and "xx" is the sequence number of the file, starting with "aa" for the first file in the distribution set, then "ab" for the next, and so on. All of these files except the last one of each set should be exactly 240,640 bytes long. (The last file is just long enough to contain the remainder of the data for that distribution set.) Catted together, the files belonging to a source distribution set comprise a gzipped tar file. If you want to look at list of the files contained in the set, you could use the command: cat set_name.?? | gunzip | tar tvf - or to actually extract the files contained in the set: cat set_name.?? | gunzip | tar xfp - In each of the source distribution set directories, there is a file named "CKSUMS" which contains the checksums of the files in that directory, as generated by the cksum(1) command. You can use cksum to check the integrity of the archives, if you suspect that one of the files is corrupt and have access to a cksum binary. The mac68k-specific portion of the NetBSD 1.0 release is found in the "mac68k" subdirectory of the distribution. That subdirectory is laid out as follows: .../NetBSD-1.0/mac68k/ binary/ mac68k binary distribution sets; see below. security/ mac68k security distribution; see below. utils/ The mac68k installation utilities. The NetBSD/mac68k binary distribution sets contain the binaries which comprise the NetBSD 1.0 release for the mac68k. There are eight binary distribution sets, and the "security" distribution set. The binary distribution sets can be found in subdirectories of the "mac68k/binary" subdirectory of the NetBSD 1.0 distribution tree, and are as follows: netbsd10 The NetBSD/mac68k 1.0 kernel binary. You MUST install this file. It is the kernel that you need to boot the system. [ 307K gzipped, 610K uncompressed ] base10 The NetBSD/mac68k 1.0 base binary distribution. You MUST install this distribution set. It contains the base NetBSD utilities that are necessary for the system to run and be minimally functional. It includes shared library support, and excludes everything described below. [ 6.2M gzipped, 18.4M uncompressed ] comp10 The NetBSD/mac68k Compiler tools. All of the tools relating to C, C++, and FORTRAN (yes, there are two!). This set includes the system include files (/usr/include), the linker, the compiler tool chain, and the various system libraries (except the shared libraries, which are included as part of the base set). This set also includes the manual pages for all of the utilities it contains, as well as the system call and library manual pages. [ 4.0M gzipped, 12.7M uncompressed ] etc10 This distribution set contains the system configuration files that reside in /etc and in several other places. This set MUST be installed if you are installing the system from scratch, but should NOT be used if you are upgrading. (If you are upgrading, it's recommended that you get a copy of this set and CAREFULLY upgrade your configuration files by hand.) [ 50K gzipped, 280K uncompressed ] games10 This set includes the games and their manual pages. [ 1.0M gzipped, 3.0M uncompressed ] man10 This set includes all of the manual pages for the binaries and other software contained in the base set. Note that it does not include any of the manual pages that are included in the other sets. [ 0.7M gzipped, 2.8M uncompressed ] misc10 This set includes the system dictionaries (which are rather large), the typesettable document set, and man pages for other architectures which happen to be installed from the source tree by default. [ 1.6M gzipped, 5.7M uncompressed ] text10 This set includes NetBSD's text processing tools, including groff, all related programs, and their manual pages. [ 0.8M gzipped, 2.9M uncompressed ] The mac68k security distribution set is named "secr10" and can be found in the "mac68k/security" subdirectory of the NetBSD 1.0 distribution tree. It contains the crypt libraries (for the DES encryption algorithm) and the binaries which depend on it. It can only be found on those sites which carry the complete NetBSD distribution and that can legally obtain it. (Remember, because of United States law, this distribution set may not be exported to locations outside of the United States and Canada.) [ 109K gzipped, 260K uncompressed ] The mac68k binary distribution sets are distributed in the same form as the source distribution sets; catted together, the members of a set form a gzipped tar file. The instructions given for extracting the source sets work equally well for the binary sets, but it is worth noting that if you use that method, the files are extracted "below" the current directory. That is, if you want to extract the binaries "into" your system, i.e. replace the system binaries with them, you have to run the "tar xfp" from /. Also note that if you upgrade or install this way, those programs that you are using at the time will NOT be replaced. If you follow the normal installation or upgrade procedures, this will be taken care of for you. NetBSD System Requirements and Supported Devices: ------ ------ ------------ --- --------- ------- NetBSD/mac68k 1.0 runs on several of the older Macintosh computers. 4MB of RAM should be sufficient to boot and the system can probably be squeezed onto a 40MB hard disk by leaving off a package or two. To actually do much compiling or anything more interesting than booting, at least 8MB of RAM and more disk space is recommended. About 50MB will be necessary to install all of the NetBSD 1.0 binary distribution (note that this does not count swap space!). Much more disk space is required to install the source and objects as well (about another 105MB). Supported models: Mac II Mac IIx Mac IIcx Mac IIci Mac SE/30 Supported devices on all of the above systems include: Internal SCSI bus and most SCSI tapes, hard drives, and CD-ROMs Internal sound--enough to beep, anyway Most basic NuBUS video cards (there have been some problems with some 24-bit color cards) Both internal serial ports ADB keyboards and mice Some systems will boot and are usable from an external terminal (serial tty or SL/IP): Mac IIsi Mac IIvx possibly others What isn't supported, but often asked about: Ethernet cards. There is a driver that is very close to working for a number of cards. Contributions are very welcome. 68040-based Macs. Work is in progress on getting a Quadra 700 running. This requires a new scsi driver and a new ethernet driver. Getting the NetBSD System on to Useful Media: ------- --- ------ ------ -- -- ------ ----- Installation is really only supported from the local Macintosh hard drive or from an AppleShare volume if the install utility is in the same folder as the data files. This means that you'll need at least enough room for the largest file that you will have to install. This is the 6.2M base10 file. There has been talk of allowing an install from split files. If you have the time, desire, and knowledge, please feel free to add that functionality. There will be two images of each file. One in "raw" Unix format and one in a binhex format. Therefore, base10 and base10.hqx both contain the same information, but base10.hqx has been encoded in binhex format. Download the files; if necessary, decode them so you have all of the files as base10, etc10, etc. This can be accomplished from the .hqx files by using _Stuffit Expander_ or any one of a number of freeware and shareware Macintosh tools. You will also need to collect the MacOS tools: Mkfs, MacBSD Install Utility, and MacBSD Booter. These three are compacted and in binhex form as mkfs.cpt.hqx, installer.1.0.cpt.hqx, and booter.1.4.cpt.hqx, respectively. Extract them as you would any other Macintosh applications. The sources should be in the same place with "src" somewhere in the filename. Preparing your System for NetBSD Installation: --------- ---- ------ --- ------ ------------ Find your favorite disk partitioning utility. Some of the ones that have been tried and seem to work are: SCSI Directory Lite Disk Manager Mac from OnTrack HD SC Setup from Apple I/O Formatter from Diversified (?) Silverlining from LaCie APS Disk Tools The last can be found on any A/UX ftp site--for example: jagubox.gsfc.nasa.gov:/pub/mac/APS273.sit.hqx, or dunkin.princeton.edu:/pub/jagubox/mac/APS273.sit.hqx. ** First, be sure you have a reliable backup of any data ** which you may want to keep. Repartitioning your hard ** drive is an excellent way to destroy important data. Second, use your favorite partitioning utility to make at least an A/UX "Root & Usr" partition and an A/UX "Swap" partition. The "Root & Usr" partition should be _at least_ 50MB in size if you wish to install everything. Generally, you should allocate twice as much swap space as you have real memory (so, if you have 8MB of RAM, specify 16MB of swap space). Systems that will be heavily used or that are low on real memory should have more swap space allocated. Systems that will be only lightly used can get away with less. If you like, you can also create a smaller root partition and a larger /usr. If you plan to use this machine as a server, you may also want a separate /var. Create these partitions as the BSD "usr" or "User slice X" type. You are now set to install NetBSD on your hard drive. Installing the NetBSD System: ---------- --- ------ ------ The installation can be broken down into three basic steps: * Run Mkfs to build a filesystem or filesystems. * Run Install Utility to load the files onto your filesystems. * Run the booter to boot the system. **** Preparing the filesystem(s) Double-click on the Mkfs application icon to start it up. It will ask you for the SCSI ID of the drive that you are installing upon. Once this is selected, it will present a list of the partitions on that disk. Select the partition on which you wish to build a filesystem and click on the "Format" button. You will now be asked for a bunch of parameters for the hard drive and the filesystem. Usually, you can just take the defaults. If you are installing onto a Syquest, please see the FAQ. Note that although this dialog only has the "OK" button, you are not committed, yet. Once you get the values you want, press the "OK" button. A dialog will be presented at this point with two options: "Format" and "Cancel." If you choose "Cancel," nothing will be written to your drive. If you choose "Format," the program will proceed to make a filesystem. Mkfs is not a well-behaved Macintosh application. It will not allow any other tasks to run while it does (cooperative multitasking at its best). When it's finished, the program will put up a dialog to ask if you have scanned the output for any error messages. Usually there won't have been any errors, but do scan the output to make sure. Simply click on the "I Read It" button and the program will quit. Repeat as necessary for any extra partitions that you wish to make filesystems on. Note that you do _not_ need a filesystem on your swap partition. **** Installing the files Double-click on the Install Utility icon to start it up. The installer will present the same SCSI ID menu that mkfs did. Select the same SCSI ID that you did for mkfs--i.e., the one you are installing onto. If you are installing onto a single root partition, proceed to the "Installation of base files" section, below. If you have not created filesystems for the root, usr, and any other filesystems, go back to "Preparing the filesystem(s)," above. When you started the installer, it mounted your root partition. Just before it printed, "Mounting partition 'A' as /," it printed lines like: sd1 at scsi ID 5. This means that the device for scsi ID 5 is sd1. The partitions are signified by a trailing letter. For instance, sd1a would be the root partition of the second scsi disk in the chain, and sd0g would be the first usr partition on the first scsi disk. You will need to know the proper device to mount the remaining partition(s) by hand: * Select "Build Devices" from the "File" menu. * Select "Mini Shell" from the "File" menu. * Mount the filesystems you wish with the command: mount device path For example, if you wish to mount a usr partition from the first scsi disk, sd0, on /usr, you would type: mount /dev/sd0g /usr * Type "quit" after you have mounted all the filesystems. Installation of base files: Select the "Install" menu item from the "File" menu and install base10, netbsd, and any other packages you wish to install at this time (see the contents section for information about what's in each package). The installer will print out the filename of each file as it is installed, and will take quite some time to install everything. As is the case with Mkfs, this is not a particularly well-behaved Macintosh application and the machine will be completely tied up while the installation takes place. At some point after installing the base package, select the "Build Devices" option from the "File" menu. This will create a bunch of device nodes for you and will create your initial /etc/fstab. The installer program also has an option to give you a mini-shell. Do not use this unless you know what you are doing. **** Booting the system Double-click on the MacBSD Booter icon to start the application. Check that the options in the Booting dialog look sane--especially the SCSI ID. If not, correct them to your preference. When you are satisfied with your choices, try booting NetBSD. If you wish to save your preferences, choose the "Save Preferences" option in the "File" menu, then quit the application and restart. Due to a long-standing bug, the preferences will not be saved unless you quit. If the system does not come up: * Check the "diagnostic gray bars" check-box. * Count the number of "gray bars" you see. * Send mail to alice@cray-ymp.acm.stuorg.vt.edu describing your software, your hardware, and the number of bars that you saw. If the system does come up, congratulations, you have successfully installed NetBSD 1.0. When you reboot into NetBSD, you should log in as "root" at the login prompt. There is no initial password, but if you're using the machine in a networked environment, you should create yourself an account and protect it and the "root" account with good passwords. Some of the files in the NetBSD 1.0 distribution might need to be tailored for your site. In particular, the /etc/sendmail.cf file will almost definitely need to be adjusted, and other files in /etc will probably need to be modified, as well. If you are unfamiliar with UN*X-like system administration, it's recommended that you buy a book that discusses it. Upgrading a previously-installed NetBSD System: --------- - ---------- --------- ------ ------ There is no upgrade to release 1.0 for the NetBSD/mac68k architecture. This is impractical as there is no good, standard point to provide an upgrade path from. It is hoped that there will be a good upgrade procedure for future releases. Administrivia: ------------- Registration? What's that? If you've got something to say, do so! We'd like your input. There are various mailing lists available via the mailing list server at . To get help on using the mailing list server, send mail to that address with an empty body, and it will reply with instructions. There are various mailing lists set up to deal with comments and questions about this release. Please send comments to: netbsd-comments@NetBSD.ORG To report bugs, use the 'send-pr' command shipped with NetBSD, and fill in as much information about the problem as you can. Good bug reports include lots of details. Additionally, bug reports can be sent by mail to: netbsd-bugs@NetBSD.ORG Use of 'send-pr' is encouraged, however, because bugs reported with it are entered into the NetBSD bugs database, and thus can't slip through the cracks. There are also port-specific mailing lists, to discuss aspects of each port of NetBSD. Use majordomo to find their addresses. If you're interested in doing a serious amount of work on a specific port, you probably should contact the "owner" of that port (listed below). If you'd like to help with this effort, and have an idea as to how you could be useful, send mail and/or subscribe to: netbsd-help@NetBSD.ORG As a favor, please avoid mailing huge documents or files to these mailing lists. Instead, put the material you would have sent up for FTP somewhere, then mail the appropriate list about it, or, if you'd rather not do that, mail the list saying you'll send the data to those who want it. Thanks go to: ------ -- -- Members and former members of UCB's Computer Systems Research Group, including (but not limited to): Keith Bostic Ralph Campbell Mike Karels Marshall Kirk McKusick for their ongoing work on BSD systems, support, and encouragement. Also, our thanks go to: Mike Hibler Rick Macklem Jan-Simon Pendry Chris Torek for answering lots of questions, fixing bugs, and doing the various work they've done. UC Berkeley's Experimental Computing Facility has provided a home for sun-lamp, people to look after it, and a sense of humor. Rob Robertson, too, has added his unique sense of humor to things, and for a long time provided the primary FTP site for NetBSD. Without CVS, this project would be impossible to manage, so our hats go off to Brian Berliner, Jeff Polk, and the various other people who've had a hand in making CVS a useful tool. The following people (in alphabetical order) have made donations or loans of hardware and/or money, to support NetBSD development, and deserve credit for it: Brian Carlstrom Demon Internet, UK Michael L. Hitch Herb Peyerl Mike Price Thor Lancelot Simon Bill Sommerfeld Steve Wadlow (If you're not on that list and should be, tell us! We probably were not able to get in touch with you, to verify that you wanted to be listed.) Dave Burgess has been maintaining the 386BSD/NetBSD/FreeBSD FAQ for quite some time, and deserves to be recognized for it. Finally, we thank all of the people who've put sweat and tears into developing NetBSD since its inception in January, 1993. (Obviously, there are a lot more people who deserve thanks here. If you're one of them, and would like to mentioned, tell us!) We are: -- --- (in alphabetical order) The NetBSD core team: Chris G. Demetriou Theo de Raadt Adam Glass Charles Hannum The port-masters (and their ports): Allen Briggs (mac68k) (and the rest of the 'Alice' group) Theo de Raadt (sparc) Charles Hannum (1, hp300) Chris Hopps (amiga) Adam Glass (pmax) Paul Mackerras (da30) Anders Magnusson (vax) Phil Nelson (pc532) Gordon Ross (sun3) Supporting cast: Steve Allen John Brezak Dave Burgess J.T. Conklin Hubert Feyrer Brad Grantham Lawrence Kesteloot Paul Kranenburg Herb Peyerl Matthias Pfaller Chris Provenzano Wolfgang Solfrank Legal Mumbo-jumbo: ----- ----- ----- The following notices are required to satisfy the license terms of the software that we have mentioned in this document: This product includes software developed by the University of California, Berkeley and its contributors. This product includes software developed by the Computer Systems Engineering Group at Lawrence Berkeley Laboratory. This product includes software developed by Paul Kranenburg. This product includes software developed by the Alice Group. This product includes software developed by Christopher G. Demetriou. This product includes software developed by Christian E. Hopps. Contributions: ------------- The following people have made contributions of various sorts specificially for the Macintosh port (in alphabetical order): All of the users who have supplied us with good bug reports and moral support. Scott Kaplan for lending his IIci and Kensington Turbo Mouse for IIci/IIsi banked memory and internal video as well as non-Apple ADB devices. Markus Krummenacker for monetary donations. Glan Lalonde for an invaluable IIci page table dump. Brad Parker for serial and ethernet drivers/improvements. Scott Redman for lending Brad Grantham a PowerBook 160. Craig Ruff for assembling an '030 "pmove ttx" instruction. Larry Samuels for monetary donations. Peter Siebold for lending his IIvx in support of ADB and IIvx internal video. Schuyler Stultz for the loan of his Macintosh II when we desperately needed another machine on which to compile and test during the '93 Xmas vacation. Tenon Intersystems for monetary donations, MachTen, and Brad's access to several machines and documentation after hours. Virginia Tech English Department for loan of a IIci w/ NuBus video and 32MB of RAM--the first IIci to run NetBSD/Mac68k.