INSTALLATION NOTES for OpenBSD/mac68k 2.2 What is OpenBSD? ---------------- OpenBSD is a Berkeley Networking Release 2 (Net/2) and 4.4BSD-Lite -derived Operating System. It is a fully functional UN*X-like system which runs on many architectures and is being ported to more. Continuing the multi-platform tradition, OpenBSD has added ports to mvme68k, powerpc and arc machines. Kernel interfaces have continued to be refined, and now several subsystems and device drivers are shared among the different ports. You can look for this trend to continue. Security of the system as a whole has been significantly improved. Source code for all critical system components has been checked for remote-access, local-access, denial-of-service, data destruction, or information-gathering problems. Tools like ipf, ipnat, and nc have been added to the tree because security conscious people often need them. OpenBSD 2.2 has significantly enhanced the binary emulation subsystem (which includes iBCS2, Linux, OSF/1, SunOS, SVR4, Solaris and Ultrix compatibility) and several kernel subsystems have been generalized to support this more readily. The binary emulation strategy is aimed at making the emulation as accurate as possible. Cryptography components are part of OpenBSD. OpenBSD is from Canada, and export of these pieces (such as kerberosIV) to the world is not restricted. Note that it can not be re-exported from the US once it has entered US. Because of this, take care NOT to get the distrib- ution from an FTP server in the US if you are outside of Canada and the US. Many new user programs have been added in OpenBSD 2.2, as well, bringing it closer to our goal of supplying a complete and modern UN*X-like environment. Tools like perl and ksh are standard, as are numerous other useful tools. OpenBSD 2.2 is the third release of OpenBSD for Macintosh computers. As always, there is much to be done on this architecture, and help is very much appreciated. However, a wide variety of hardware and software is completely functional making the system an excellent answer to the question of a UN*X-like operating system for the Mac 680x0 line of computers. Sources of OpenBSD: ------------------- This is a list of currently known ftp servers: Germany: ftp://ftp.fu-berlin.de/unix/OpenBSD == ftp://ftp.de.openbsd.org/pub/unix/openbsd/mirrors/OpenBSD Japan: ftp://ftp.tut.ac.jp/OpenBSD == ftp://ftp.jp.openbsd.org/OpenBSD ftp://ftp.dti.ad.jp/pub/OpenBSD Switzerland: ftp://web.eunet.ch/pub/OpenBSD == ftp://ftp.eu.openbsd.org/pub/OpenBSD USA: ftp://pub.seastrom.com/pub/OpenBSD == ftp://ftp.usa.openbsd.org/pub/OpenBSD ftp://ftp1.usa.openbsd.org/pub/OpenBSD ftp://news.pacifier.com/pub/OpenBSD == ftp://ftp2.usa.openbsd.org/pub/OpenBSD ftp://freestuff.cs.colorado.edu/pub/OpenBSD == ftp://ftp3.usa.openbsd.org/pub/OpenBSD ftp://openbsd.eecs.umich.edu/pub/OpenBSD == ftp://ftp4.usa.openbsd.org/pub/OpenBSD ftp://alpha.ctaz.com/pub/OpenBSD == ftp://ftp5.usa.openbsd.org/pub/OpenBSD ftp://ftp.geek-girl.com/pub/OpenBSD == ftp://ftp6.usa.openbsd.org/pub/OpenBSD Canada: ftp://lager.ucs.ualberta.ca/pub/OpenBSD == ftp://ftp.openbsd.org/pub/OpenBSD ftp://ftp.ca.openbsd.org/pub/OpenBSD ftp://ftp1.ca.openbsd.org/pub/OpenBSD ftp://obsd.compmore.net/pub/OpenBSD == ftp://ftp2.ca.openbsd.org/pub/OpenBSD As well, the file ftp://ftp.openbsd.org/pub/OpenBSD/2.2/ftplist contains a list which is continually updated. If you wish to become a distribution site for OpenBSD, contact deraadt@cvs.openbsd.org. OpenBSD 2.2 Release Contents: ----------------------------- The OpenBSD 2.2 release is organized in the following way. In the .../2.2 directory, there is one sub-directory per architecture, for each of the architectures that OpenBSD 2.2 has a binary distribution for. That is described further along in this document). The mac68k-specific portion of the OpenBSD 2.2 release is found in the "mac68k" subdirectory of the distribution. That subdirectory is laid out as follows: .../2.2/mac68k/ INSTALL.mac68k This file CKSUM Output of the cksum(1) and md5(1) programs MD5 usable for verification of the correctness of downloaded files. *.tar.gz mac68k binary distribution sets; see below. bsd-generic* mac68k kernel binary. You MUST install one. utils/ The mac68k installation utilities for MacOS. The OpenBSD/mac68k binary distribution sets contain all the binaries which comprise the OpenBSD 2.2 release for the mac68k. There are seven binary distribution sets. The binary distribution sets can be found in the "mac68k" subdirectory of the OpenBSD 2.2 distribution tree, and are as follows: bsd-generic.tar.gz The OpenBSD/mac68k 2.2 kernel binary. You MUST install this file. It is the kernel that you need to boot the system. [ 1.4M uncompressed ] bsd-genericsbc.tar.gz The OpenBSD/mac68k kernel binary. This is identical in every way to bsd-generic.tar.gz accept that it enables a different SCSI driver which may allow some otherwise incompatible SCSI disks to function with OpenBSD/mac68k. You must install either this or bsd22.tar.gz. [ 1.4M uncompressed ] base22.tar.gz The OpenBSD/mac68k 2.2 base binary distribution. You MUST install this distribution set. It contains the base OpenBSD utilities that are necessary for the system to run and be minimally functional. It includes shared library support, and excludes everything described below. [ 11.9M gzipped, 33.7M uncompressed ] comp22.tar.gz The OpenBSD/mac68k Compiler tools. All of the tools relating to C, C++, and FORTRAN (yes, there are two!). This set includes the system header 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. It is very almost a must to install this set if one wants an even minimally functional system. [ 7.0M gzipped, 22.5M uncompressed ] etc22.tar.gz 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.) [ 93K gzipped, 490K uncompressed ] game22.tar.gz This set includes the BSD games and their manual pages. It's installation is optional. [ 2.7M gzipped, 6.7M uncompressed ] man22.tar.gz 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. Installation of this set is completely optional but is highly recommended. [ 2.4M gzipped, 9.1M uncompressed ] misc22.tar.gz 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 as well as many other sundry system files and programs. This set is not necessary but will improve the functionality of many system programs. [ 1.7M gzipped, 5.9M uncompressed ] text22.tar.gz This set includes OpenBSD's text processing tools, including groff, all related programs, and their manual pages. This set is highly recommended as these programs are depended upon for such basic system functions as reading manual pages. [ 946K gzipped, 3.5M uncompressed ] The directory '../2.2/mac68k/utils' contains a number of utilities for the MacOS to aid the installation and configuration of OpenBSD. The files in this directory are as follows: Booter1.11.0.sea.hqx This MacOS program is used to load the OpenBSD kernel and start the operating system. In all cases, you will need to download this file. Installer_1.1f.sea.hqx This is the MacOS program used to install downloaded sets (such as those from the bins directory) onto a BSD partition. It is necessary in either the case of a fresh install or an upgrade. Mkfs_1.45.sea.hqx A MacOS program to build BSD filesystems on various partitions you have created (see below). You will need this if you are performing a new installation. OpenBSD System Requirements and Supported Devices: -------------------------------------------------- OpenBSD/mac68k 2.2 runs on several of the older Macintosh computers. 6MB of RAM should be sufficient to boot and the system can probably be squeezed onto a 60MB 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 80MB will be necessary to install all of the OpenBSD 2.2 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). OpenBSD/mac68k 2.2 now runs on most 680x0 MacIntosh's. Specifically, it should work on: 68020 with 68851 PMMU and 68881 FPU 68030 with 68882 FPU (most Macs have this) 68040 (not including the 68LC040) The following Macintosh models are "fully" supported. This means that at least the SCSI controller, ADB (keyboard and mouse), and some sort of display will function on these models. On some of these machines, a PMMU and/or FPU are required if they are not provided by default with the machine. Mac II, Mac IIx, Mac IIcx, Mac IIci, Mac SE/30, Mac IIsi, Mac IIvx, Mac IIvi, Performa 600, Centris 650, Color Classic, Classic II, LC520, LC550, Mac LCIII, Performa 4xx, LCII, LCIII, MacTV, Quadra 610, Quadra 650, Quadra 840, Quadra 840AV, Quadra 800, Quadra 700, Duo Series, Powerbook 180 and 180c, PB140, PB145, PB145B, PB160, PB170, PB165, PB165c 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 on some machines, anyway Most NuBus video cards (there have been some problems with some 24-bit color cards) Both internal serial ports ADB keyboards and mice Ethernet cards based on the Natl. Semiconductor 8390 (Asante, Apple, and a few others) Some ethernet cards based on the SONIC chip including internal Ethernet on many of Apple's Quadras. Some systems will boot and are usable from an external terminal (serial tty or SL/IP): LC475, Performa 475, Quadra 605 possibly others What isn't supported, but often asked about: PowerPC-based Macs. Work will begin on this, sometime soon. It will be separate from this port, though. The PowerPC is a much different processor. Machines based on Apple's IOP technology including the Mac IIfx. Machines based on the 68LC040 processor. Unfortunately, the chip itself contains a major bug which is presently being worked on. However, machines such as the Centris 605 don't work right now. Getting the OpenBSD System onto Useful Media: --------------------------------------------- Installation is really only supported from the local Macintosh hard drive or from an AppleShare volume. 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 base22 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. You will also need to collect the MacOS tools: Mkfs, BSD Install Utility, and BSD/Mac68k Booter. These three are compacted and in binhex form as mkfs.hqx, installer.hqx, and booter.sea.hqx, respectively. Extract them as you would any other Macintosh applications. The source code for these utilities should be in the same directory with the word "src" somewhere in the filename. Preparing your System for OpenBSD Installation: ----------------------------------------------- Find your favorite disk partitioning utility. Some of the ones that have been tried and seem to work are: APS Powertools 2.7.3 SCSI Directory Lite Disk Manager Mac from OnTrack HD SC Setup from Apple I/O Formatter from Diversified (?) Silverlining from LaCie ** First, be sure you have a reliable backup of any data ** which you may want to keep. All information on the hard ** drive you will be repartitioning will be lost. That done, use your favorite partitioning utility to make at least one A/UX "Root & Usr" partition and an A/UX "Swap" partition. The "Root & Usr" partition should be _at least_ 80MB in size if you wish to install all the sets. This partition will be the root partition of your OpenBSD system. 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. It is also possible to use the Mkfs utility to "convert" partitions from MacOS partitions to BSD partitions. Mkfs will be discussed in more detail later, but it is also very possible to simply prepare your hard drive by partitioning it with MacOS partitions of the correct size. If you do this, simply select the "Convert" button when choosing partitions to build a filesystem on in Mkfs (see below). Before moving on, you should assure that your machine is running the correct software on the MacOS side. In the Memory control panel, you should turn Virtual Memory off whenever you are planning to use the BSD/Mac68k Booter. You should also assure that your machine is using 32-bit addressing. If there is no "Addressing:" option in your Memory control panel and your machine is supported, your probably will need Mode32. Mode32 is a control panel and extension combination which enable 32-bit addressing on older Macs which do not use it by default. This program is available from any Info-Mac mirror. Finally, we recommend strongly that, at least for the purposes of setting the system up, you run with the machine's monitor in 1-bit ("Black and White" in the monitor's control panel) mode. All of that done and accounted for, you are now set to install OpenBSD on your hard drive. Installing the OpenBSD System: ------------------------------ The installation can be broken down into three basic steps: * Running Mkfs to build a filesystem or filesystems. * Running Install Utility to load the files onto your filesystems. * Running 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 MacOS 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 partitions, 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. It is important to emphasize that device numbers after the 'sd' do not correspond to SCSI IDs of disks but rather to logical disks. The lowest SCSI ID will always be sd0 proceeded by increasing ID numbers. You will need to know the proper device to mount the remaining partition(s) by hand: * Select "Build Devices" from the "File" menu. This builds the necessary tree of device files on your filesystem in /dev. * 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 the second partition from the first scsi disk, sd0, on /usr, you would type: mount /dev/sd0b /usr * Type "quit" to exit the minishell after you have mounted all the filesystems. Installation of base files: Select the "Install" menu item from the "File" menu and install base22.tar.gz, bsd22.tar.gz, comp22.tar.gz, 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 MacOS 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 in /dev and your initial /etc/fstab. The installer program also has an option to give you a mini-shell. **** Booting the system Double-click on the BSD/Mac68k 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 OpenBSD. 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 comes up, congratulations, you have successfully installed OpenBSD 2.2. When you reboot into OpenBSD, 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 OpenBSD 2.2 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. Also, a useful resource in getting to know your new system is the *BSD FAQ which is available from numerous sights on the Internet. Upgrading a previously-installed OpenBSD System: ------------------------------------------------ To upgrade to OpenBSD 2.2 from a previous version, you should follow the instructions on installing the system beginning with using the MacBSD Install Utility. All you need do is copy each of the distribution sets in over your current system from the MacOS. However, you should not copy the etc22.tar.gz file into the system. Instead, download it while running OpenBSD and put it in /tmp or some other harmless place and unpack it with a command like 'tar zxvf etc22.tar.gz'. You will then have an etc directory with current system configuration files in it. Use this to carefully upgrade your files in the running /etc and reboot the system. Also, it is highly recommended that when upgrading your kernel binary (/bsd) you backup the old, working kernel and extract bsd22.tar.gz into / only from OpenBSD. Getting source code for your OpenBSD System: -------------------------------------------- Now that your OpenBSD system is up and running, you probably want to get access to source code so that you can recompile pieces of the system. A few methods are provided. If you have an OpenBSD CD, the source code is provided. Otherwise, you can get the pieces over the Internet using ANONCVS, CTM or FTP. For more information, see http://www.openbsd.org/anoncvs.html http://www.openbsd.org/ctm.html http://www.openbsd.org/ftp.html Using online OpenBSD documentation: ----------------------------------- Documentation is available if you first install the manual distribution set. Traditionally, the UN*X "man pages" (documentation) are denoted by 'name(section)'. Some examples of this are intro(1), man(1), apropos(1), passwd(1), and passwd(5). The section numbers group the topics into several categories, but three are of primary interest: user commands are in section 1, file formats are in section 5, and administrative information is in section 8. The 'man' command is used to view the documentation on a topic, and is started by entering 'man [section] topic'. The brackets [] around the section should not be entered, but rather indicate that the section is optional. If you don't ask for a particular section, the topic with the least-numbered section name will be displayed. For instance, after logging in, enter man passwd to read the documentation for passwd(1). To view the documentation for passwd(5), enter man 5 passwd instead. If you are unsure of what man page you are looking for, enter apropos subject-word where "subject-word" is your topic of interest; a list of possibly related man pages will be displayed. Administrivia: -------------- 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 also two OpenBSD Usenet newsgroups, comp.unix.bsd.openbsd.announce for important announcements and comp.unix.bsd.openbsd.misc for general OpenBSD discussion. To report bugs, use the 'sendbug' command shipped with OpenBSD, 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: bugs@OpenBSD.ORG Use of 'sendbug' is encouraged, however, because bugs reported with it are entered into the OpenBSD bugs database, and thus can't slip through the cracks. As a favor, please avoid mailing huge documents or files to the 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.