INSTALLATION NOTES for OpenBSD/macppc 3.0 What is OpenBSD? ---------------- OpenBSD is a fully functional, multi-platform UN*X-like Operating System based on Berkeley Networking Release 2 (Net/2) and 4.4BSD-Lite. There are several operating systems in this family, but OpenBSD differentiates itself by putting security and correctness first. The OpenBSD team strives to achieve what is called 'a secure by default' status. This means that an OpenBSD user should feel safe that their newly installed machine will not be compromised. This 'secure by default' goal is achieved by taking a proactive stance on security. Since security flaws are essentially mistakes in design or implement- ation, the OpenBSD team puts as much importance on finding and fixing existing design flaws and implementation bugs as it does writing new code. This means that an OpenBSD system will not only be more secure, but it will be more stable. The source code for all critical system components has been checked for remote-access, local-access, denial- of-service, data destruction, and information-gathering problems. In addition to bug fixing, OpenBSD has integrated strong cryptography into the base system. A fully functional IPsec implementation is provided as well as support for common protocols such as SSL and SSH. Network filtering and monitoring tools such as packet filtering, NAT, and bridging are also standard. For high performance demands, support for hardware cryptography has also been added to the base system. Because security is often seen as a tradeoff with usability, OpenBSD provides as many security options as possible to allow the user to enjoy secure computing without feeling burdened by it. To integrate more smoothly in other environments, OpenBSD 3.0 also provides several binary emulation subsystems (which includes iBCS2, Linux, OSF/1, SunOS, SVR4, Solaris, and Ultrix compatibility), aiming at making the emulation as accurate as possible so that it is transparent to the user. Many new user programs and device drivers have been added in OpenBSD 3.0, as well, bringing it closer to our goal of supplying a complete and modern UN*X-like environment. Tools like perl and an improved ksh are standard, as are numerous other useful tools. Because OpenBSD is from Canada, the export of Cryptography pieces (such as SSH, IPsec, and Kerberos) to the world is not restricted. (NOTE: OpenBSD can not be re-exported from the US once it has entered the US. Because of this, take care NOT to get the distribution from an FTP server in the US if you are outside of Canada and the US.) For macppc, OpenBSD 3.0 adds support for more machines, PowerBook G3, PowerBook G4, iBooks and newer iMac systems. System stability is greatly improved. Sharing of disks between OpenBSD/macppc and MacOS is supported. Booting OpenBSD from CD and automatically rebooting into OpenBSD is now supported, with proper Open Firmware settings. Sources of OpenBSD: ------------------- This is a list of currently known ftp servers as the time of the 3.0 release: Main server in Canada: ftp://ftp.openbsd.org/pub/OpenBSD Argentina: ftp://ftp.openbsd.org.ar/pub/OpenBSD Australia: ftp://ftp.au.openbsd.org/pub/OpenBSD ftp://ftp.it.net.au/mirrors/OpenBSD ftp://ftp.planetmirror.com/pub/OpenBSD ftp://ftp.wiretapped.net/pub/OpenBSD ftp://mirror.aarnet.edu.au/pub/OpenBSD Austria: ftp://gd.tuwien.ac.at/opsys/OpenBSD ftp://mingus.wu-wien.ac.at/pub/OpenBSD Belgium: ftp://openbsd.rug.ac.be/pub/OpenBSD Canada: ftp://ftp.ca.openbsd.org/pub/OpenBSD ftp://gulus.usherb.ca/pub/OpenBSD China (Hong Kong): ftp://ftp.shellhung.org/pub/OpenBSD Czech Republic: ftp://ftp.openbsd.cz/pub/OpenBSD Finland: ftp://ftp.fi.debian.org/pub/OpenBSD ftp://ftp.jyu.fi/pub/OpenBSD France: ftp://ftp.fr.openbsd.org/pub/OpenBSD ftp://ftp.bsdfr.org/pub/OpenBSD ftp://ftp.grolier.fr/pub/OpenBSD Germany: ftp://ftp.de.openbsd.org/pub/unix/OpenBSD ftp://ftp.freenet.de/pub/ftp.openbsd.org/pub/OpenBSD ftp://ftp.gigabell.net/pub/OpenBSD ftp://ftp.leo.org/pub/OpenBSD ftp://ftp.fh-wolfenbuettel.de/pub/os/openbsd Greece: ftp://filoktitis.noc.uoa.gr/pub/OpenBSD ftp://ftp.duth.gr/pub/OpenBSD Hungary: ftp://ftp.fsn.hu/pub/OpenBSD Ireland: ftp://ftp.esat.net/pub/OpenBSD Italy: ftp://ftp.volftp.mondadori.com/mirror/openbsd Japan: ftp://ftp.jp.openbsd.org/pub/OpenBSD ftp://ftp.netlab.is.tsukuba.ac.jp/pub/os/OpenBSD ftp://ftp.kddlabs.co.jp/OpenBSD The Netherlands: ftp://ftp.calyx.nl/pub/OpenBSD ftp://ftp.nl.uu.net/pub/OpenBSD ftp://ftp.nluug.nl/pub/OpenBSD New Zealand: ftp://ftp.nz.openbsd.org/pub/OpenBSD Norway: ftp://ftp.inet.no/pub/OpenBSD ftp://ftp.uninett.no/pub/OpenBSD Peru: ftp://ftp.sajinet.com.pe/pub/OpenBSD Russia: ftp://ftp.chg.ru/pub/OpenBSD ftp://ftp.radio-msu.net/pub/OpenBSD ftp://vell.nsc.ru/pub/OpenBSD Saudi Arabia: ftp://ftp.isu.net.sa/pub/mirrors/ftp.openbsd.org/pub/OpenBSD South Korea: ftp://ftp.snu.ac.kr/pub/BSD/OpenBSD Spain: ftp://ftp.rediris.es/mirror/OpenBSD Sweden: ftp://ftp.luth.se/pub/OpenBSD ftp://ftp.stacken.kth.se/pub/OpenBSD ftp://ftp.sunet.se/pub/OpenBSD Switzerland: ftp://sunsite.cnlab-switch.ch/pub/OpenBSD Taiwan: ftp://openbsd.csie.nctu.edu.tw/pub/OpenBSD ftp://ftp.tku.edu.tw/pub/OpenBS Thailand: ftp://ftp.kmitl.ac.th/pub/OpenBSD United Kingdom: ftp://ftp.knowledge.com/pub/mirrors/OpenBSD ftp://ftp.plig.org/pub/OpenBSD ftp://sunsite.org.uk/Mirrors/ftp.openbsd.org/pub/OpenBSD USA: ftp://ftp1.usa.openbsd.org/pub/OpenBSD ftp://ftp3.usa.openbsd.org/pub/OpenBSD ftp://ftp5.usa.openbsd.org/pub/OpenBSD ftp://ftp7.usa.openbsd.org/pub/os/OpenBSD ftp://archive.progeny.com/OpenBSD ftp://carroll.cac.psu.edu/pub/OpenBSD ftp://download.sourceforge.net/pub/mirrors/OpenBSD ftp://ftp.cse.buffalo.edu/pub/OpenBSD ftp://ftp.groupbsd.org/pub/OpenBSD ftp://ftp.op.net/pub/OpenBSD ftp://ftp.src.uchicago.edu/pub/OpenBSD ftp://ftp.tux.org/bsd/openbsd ftp://gandalf.neark.org/pub/distributions/OpenBSD ftp://mirror.cs.wisc.edu/pub/mirrors/OpenBSD ftp://mirror.csit.fsu.edu/pub/OpenBSD ftp://mirrors.netnumina.com/openbsd ftp://mirrors.rcn.net/pub/OpenBSD ftp://rt.fm/pub/OpenBSD As well, the file ftp://ftp.openbsd.org/pub/OpenBSD/3.0/ftplist contains a list which is continually updated. If you wish to become a distribution site for OpenBSD, contact miod@openbsd.org. OpenBSD 3.0 Release Contents: ----------------------------- The OpenBSD 3.0 release is organized in the following way. In the .../3.0 directory, for each of the architectures having an OpenBSD 3.0 binary distribution, there is a sub-directory. The macppc-specific portion of the OpenBSD 3.0 release is found in the "macppc" subdirectory of the distribution. That subdirectory is laid out as follows: .../3.0/macppc/ INSTALL.macppc Installation notes; this file. CKSUM Output of the cksum(1) and md5(1) programs MD5 usable for verification of the correctness of downloaded files. *.tgz macppc binary distribution sets; see below. bsd A stock GENERIC macppc kernel which will be installed on your system during the install. bsd.rd A compressed RAMDISK kernel; the embedded filesystem contains the installation tools. Used for simple installation from a pre- existing system. cd30.fs The standard macppc boot and installation CD image; see below. The OpenBSD/macppc binary distribution sets contain the binaries which comprise the OpenBSD 3.0 release for macppc systems. There are ten binary distribution sets. The binary distribution sets can be found in the "macppc" subdirectory of the OpenBSD 3.0 distribution tree, and are as follows: base30 The OpenBSD/macppc 3.0 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. [ 25.2 MB gzipped, 72.3 MB uncompressed ] comp30 The OpenBSD/macppc Compiler tools. All of the tools relating to C, C++, and fortran are supported. 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. [ 21.2 MB gzipped, 70.6 MB uncompressed ] etc30 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.) [ 1.1 MB gzipped, 3.3 MB uncompressed ] game30 This set includes the games and their manual pages. [ 2.8 MB gzipped, 6.3 MB uncompressed ] man30 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. [ 5.8 MB gzipped, 21.0 MB uncompressed ] misc30 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.7 MB gzipped, 5.6 MB uncompressed ] xbase30 This set includes the base X distribution. This includes programs, headers, libraries, configuration files. [ 6.5 MB gzipped, 18.6 MB uncompressed ] xfont30 This set includes all of the X fonts. [ 31.4 MB gzipped, 34.1 MB uncompressed ] xserv30 This set includes all of the X servers. [ 11.2 MB gzipped, 31.4 MB uncompressed ] xshare30 This set includes all text files equivalent between all architectures. [ 1.8 MB gzipped, 9.1 MB uncompressed ] OpenBSD System Requirements and Supported Devices: -------------------------------------------------- OpenBSD/macppc 3.0 runs on iMac, G4 Power Macintosh, G4 Cube as well as PowerBook and iBook machines. Machines with older firmware: 6xxx, 7xxx 8xxx, and 9xxx machines are not supported. PowerMac G3 Beige and B&W G3 are unknown. Has been tested on iMac Revs A-C as well as on iMac DV(+) machines, several Power Macintosh G4 systems (single and dual processor), as well as the G4 Cube. For portables, PowerBook G3, PowerBook G4 and iBook have been tested. Note that power saving features on portables are very limited, no power management features are available, suspend/sleep is not supported. However battery level and status charging/AC connected/AC disconnected is now supported via an APM emulation layer. Supported devices include: IDE hard disk controllers. onboard controllers supported. SCSI host adapters: Symbios Logic (NCR) 53C8xx-based PCI SCSI host adapters AGP/SVGA/VGA Display Adapters: Primary Openfirmware display only. Serial ports: Built-in Zilog 8530-based serial ports. Internal modems not supported on all models. Ethernet adapters: Digital DC21x4x-based PCI Ethernet adapters, including: Znyx ZX34X Onboard Older iMac 10-100Mbs (bm) Ethernet. Onboard G4/PowerBook/Newer iMac (gm) ethernet. Wireless Ethernet Adapters Aironet 802.11DS PCI WaveLAN IEEE 802.11DS Tape drives: SCSI Tape drives CD-ROM drives: SCSI CD-ROM drives SCSI CD-RW drives Atapi CD-ROM drives Atapi DVD-ROM drives Atapi DVD-RAM drives (read-only) Atapi DVD-RW drives (read-only?) Atapi CD-RW drives. Keyboard: ADB and USB keyboards. Mice: USB Mice. Sound Cards: AWACS. Miscellaneous: USB Hubs. USB printers. The built-in firewire (IEEE1394) ports available in some machines is not supported. Getting the OpenBSD System onto Useful Media: --------------------------------------------- Installation is supported from several media types, including: CDROM FFS partitions HFS partitions (bootloader/kernel only, using another media for D/L) Tape FTP HTTP The steps necessary to prepare the distribution sets for installation depend on which method of installation you choose. Some methods require a bit of setup first that is explained below. The installation allows installing OpenBSD directly from FTP mirror sites over the internet, however you must consider the speed and reliability of your internet connection for this option. It may save much time and frustration to use ftp get/reget to transfer the distribution sets to a local server or disk and perform the installation from there, rather than directly from the internet. OpenBSD now can be booted from a CDROM by holding down the 'c' key during reboot. If ofwboot and bsd.rd is copied to a HFS partition, it is possible to boot from those files. Then install the rest of the files from any of the above sources. Note: Once a OpenBSD partition exists, it is not possible to load the kernel (bsd.rd) from a HFS paritition on that disk. Create an installation tape: While you won't be able to boot OpenBSD from a tape, you can use one to provide the installation sets. To do so, you need to make a tape that contains the distribution set files, each in "tar" format or in "gzipped tar format". First you will need to transfer the distribution sets to your local system, using ftp or by mounting the CD-ROM containing the release. Then you need to make a tape containing the files. If you're making the tape on a UN*X-like system, the easiest way to do so is make a shell script along the following lines, call it "/tmp/maketape". #! /bin/sh TAPE=${TAPE:-/dev/nrst0} mt -f ${TAPE} rewind for file in base etc comp game man misc xbase xfont xserv xshare do dd if=${file}30.tgz of=${TAPE} obs=8k conv=sync done tar cf ${TAPE} bsd mt -f ${TAPE} offline # end of script And then: cd .../3.0/macppc sh -x /tmp/maketape If you're using a system other than OpenBSD or SunOS, the tape name and other requirements may change. You can override the default device name (/dev/nrst0) with the TAPE environment variable. For example, under Solaris, you would probably run: TAPE=/dev/rmt/0n sh -x /tmp/maketape Note that, when installing, the tape can be write-protected (i.e. read-only). If you are upgrading OpenBSD, you also have the option of installing OpenBSD by putting the new distribution sets somewhere in your existing file system, and using them from there. To do that, do the following: Place the distribution sets you wish to upgrade somewhere in your current file system tree. At a bare minimum, you must upgrade the "base" binary distribution, and so must put the "base30" set somewhere in your file system. It is recommended that you upgrade the other sets, as well. Preparing your System for OpenBSD Installation: ----------------------------------------------- To be able to boot the OpenBSD/macppc installation program, you will need to acquire some limited knowledge of OpenFirmware, the low-level process that controls the microprocessor after hardware initialization and diagnostics are performed but before control is handed to the operating system. To access Open Firmware you should simultaneously hold down the Command, Option, O and F keys immediately upon booting. You will be presented with information and a ">" prompt that will look something like this (example taken from a Power Macintosh G4): Apple PowerMac3,1 2.4f1 BootROM built on 02/18/00 at 09:44:35 Copyright 1994-2000 Apple Computer, Inc. All Rights Reserved Welcome to Open Firmware To continue booting, type "mac-boot" and press return To shut down, type "shut-down" and press return ok 0 > Important Open Firmware command examples: boot cd:,ofwboot /3.0/macppc/bsd.rd (boot from an appropriately prepared OpenBSD CD in the CD/DVD drive) boot enet:,ofwboot /bsd.rd (netboot from a pre-configured bootp/tftp/nfs server containing the "ofwboot" and "bsd.rd" files at the root directory of the tftp server) boot ide1:,ofwboot /bsd (After installation, boot /bsd from the slave device on the second ATA bus) mac-boot (boot into MacOS) reset-all (reboot the machine) shut-down (halt the machine; shutdown) printenv (print current machine variables) setenv (set a machine variable) devalias (list device aliases; useful for locating other devices in the machine such as hard drives etc) As seen above, device aliases typically take the form of "ide", "cd" etc. To boot to an alternative device you may substitute them with entries from this list (example devices taken from a Power Macintosh G4): ultra0 = hd = master device, primary ATA bus (factory-installed drive) ultra1 = slave device, primary ATA bus ide0 = cd = master device, secondary ATA bus (CD/DVD drive) ide1 = slave device, secondary ATA bus (Zip drive, if installed) enet = motherboard ethernet device Other Open Firmware command examples: setenv auto-boot? false (force the machine to wait at Open Firmware for user input at next reboot; options are true/false) setenv boot-device ide:,ofwboot (force the machine to boot into OpenBSD automatically at next reboot) dev / (change to root level of the device tree) pwd (show current location in the device tree) ls (show items at current location in the device tree) words (show methods of items at current location in the device tree) .properties (show properties of items at current location in the device tree) To reset a Power Macintosh to the factory-configure Open Firmware settings, simultaneously hold down the Command, Option, P, R keys immediately upon booting. Typically the machine will then attempt to load Mac OS, if available. Sharing a disk with MacOS: OpenBSD/macppc is capable of booting either from a dedicated disk using a MBR partitioned disk or sharing a disk with MacOS. If the disk is to be shared between MacOS and OpenBSD, it is necessary to reformat and install the MacOS partitions first, using "Drive Setup", leaving space on the disk as an "Unused" partition. If the disk was previously partitioned, it is possible to reuse a Partition for OpenBSD, as long as it is not the first Partition on the disk. The bootloader is expected to be found in that first (HFS) Partition. For dedicated disks, macppc port boots off a boot program in an MSDOS filesystem. This is set up by the install program and no special setup is required. Installing the OpenBSD System: ------------------------------ Installing OpenBSD is a relatively complex process, but if you have this document in hand and are careful to read and remember the information which is presented to you by the install program, it shouldn't be too much trouble. Before you begin, you should decide if OpenBSD is to be installed on the whole disk or share the disk with MacOS. For stand-alone (No MacOS installed) or dedicated disks, the MBR installation method should be chosen and no additional prep is necessary. If the disk is to be shared with MacOS a partition must be preallocated by the MacOS partition editor and MacOS installed to the proper partition. This expects that the HFS partition will be the first partition on the disk, and then the OpenBSD partition will follow. This may require the disk be reformatted using the "Drive Setup" application and reinstalled under MacOS. You should now be ready to install OpenBSD. The following is a walk-through of the steps you will take while getting OpenBSD installed on your hard disk. If any question has a default answer, it will be displayed in brackets ("[]") after the question. If you wish to stop the installation, you may hit Control-C at any time, but if you do, you'll have to begin the installation process again from scratch. Using Control-Z to suspend the process may be a better option, or at any prompt enter '!' to get a shell, from which 'exit' will return you back to that prompt (no refresh of the prompt though). At this time, the system can be installed from the supplied CD boot image, by network loading the bootloader or loading the bootloader and kernel from a HFS partition. Once the bootloader is installed on the local hard drive, the system can boot from it. OpenBSD may share a drive with MacOS if the process is followed carefully. Currently it is necessary to use OpenFirmware commands to dual boot between OS's, or multiple drives may be used with each OS owning drive(s). It is also possible on some newer models to set up the system to auto boot OpenBSD and if MacOS is desired, choose it using the firmware boot selector by holding down the