INSTALLATION NOTES for OpenBSD/macppc 7.1 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, as well as several routing services, such as BGP and OSPF. 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. Because OpenBSD is from Canada, the export of Cryptography pieces (such as OpenSSH and IPsec) 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 a mirror server in the US if you are outside of Canada and the US.) A list of software and ideas developed by the OpenBSD project is available on the web at https://www.OpenBSD.org/innovations.html. A comprehensive list of the improvements brought by the 7.1 release is also available at https://www.OpenBSD.org/71.html. OpenBSD/macppc runs on the ``New World'' PowerPC-based Apple Macintosh systems (i.e. from the iMac onwards). Sources of OpenBSD: ------------------- Please refer to https://www.openbsd.org/ftp.html for all the ways you may acquire OpenBSD. OpenBSD 7.1 Release Contents: ----------------------------- The OpenBSD 7.1 release is organized in the following way. In the .../7.1 directory, for each of the architectures having an OpenBSD 7.1 binary distribution, there is a sub-directory. The macppc-specific portion of the OpenBSD 7.1 release is found in the "macppc" subdirectory of the distribution. That subdirectory is laid out as follows: .../7.1/macppc/ INSTALL.macppc Installation notes; this file. SHA256 Output of the cksum(1) program using the option -a sha256, usable for verification of the correctness of downloaded files. SHA256.sig The above file, signed with the OpenBSD signing key for the 7.1 release, usable for verification of the integrity of the above file, and thus of the 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.mp A stock GENERIC.MP macppc kernel, with support for multiprocessor machines, which can be used instead of the GENERIC kernel after the install. bsd.rd A compressed RAMDISK kernel; the embedded filesystem contains the installation tools. Used for simple installation from a pre-existing system. install71.iso The macppc boot and installation CD-ROM image, which contains the base and X sets, so that install or upgrade can be done without network connectivity. cd71.iso A simple bootable filesystem image consisting of the bsd.rd installation kernel, suitable to be used as a bootable CD-ROM image, but will require the base and X sets be found via another media or network. ofwboot The OpenBSD/macppc secondary boot loader. The OpenBSD/macppc binary distribution sets contain the binaries which comprise the OpenBSD 7.1 release for macppc systems. There are eight binary distribution sets. The binary distribution sets can be found in the "macppc" subdirectory of the OpenBSD 7.1 distribution tree, and are as follows: base71 The OpenBSD/macppc 7.1 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. [ 105.1 MB gzipped, 216.1 MB uncompressed ] comp71 The OpenBSD/macppc Compiler tools. All of the tools relating to C and C++ are supported. This set includes the system include files (/usr/include), the linker, the compiler toolchain, 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. [ 47.9 MB gzipped, 144.1 MB uncompressed ] game71 This set includes the games and their manual pages. [ 2.6 MB gzipped, 6.5 MB uncompressed ] man71 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. [ 6.9 MB gzipped, 29.9 MB uncompressed ] xbase71 This set includes the base X distribution. This includes programs, headers and libraries. [ 17.7 MB gzipped, 57.2 MB uncompressed ] xfont71 This set includes all of the X fonts. [ 38.4 MB gzipped, 56.6 MB uncompressed ] xserv71 This set includes all of the X servers. [ 10.5 MB gzipped, 30.5 MB uncompressed ] xshare71 This set includes all text files equivalent between all architectures. [ 4.3 MB gzipped, 28.8 MB uncompressed ] OpenBSD System Requirements and Supported Devices: -------------------------------------------------- OpenBSD/macppc 7.1 runs on iMac, G4 Power Macintosh, and 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 status is unknown. OpenBSD/macppc has been tested on iMac Revs A-C as well as on iMac DV(+) machines, Power Macintosh G4 systems (single and dual processor), as well as the G4 Cube, B&W G3, LCD iMac, Mac mini, iMac G5, PowerMac G5 and Xserve G5. For portables, PowerBook G3, PowerBook G4 (12", 15", 17"), iBook, iBook2 and iBook G4 have been tested. Note that power saving features on portables are very limited, limited power management features are available, suspend/sleep is not supported. However battery level and status charging/AC connected/AC disconnected is supported via an APM emulation layer. Supported devices include: IDE hard disk controllers Onboard controllers (wdc_obio) Onboard ATA100 controllers (kauaiata) PCI controllers (pciide) AGP/SVGA/VGA Display Adapters Primary Open Firmware display only The following cards will run an accelerated X server: - ATI Mach64 GP - ATI Mach64 GV - ATI Mach64 128 PK - ATI Mach64 128 VR AGP - ATI Rage 128 Mobility M3 - ATI Rage Fury AGP4x - ATI Radeon Mobility M7 - ATI Radeon Mobility 9200 (M9+) - NVIDIA GeForce4 440 Go 64M Serial ports Built-in Zilog 8530-based serial ports (zs) Internal non-USB modems. Most modems, digital cellular modems, and serial cards attached through PC-Cards should work (com) Verifying the OpenBSD Installation Media: ----------------------------------------- OpenBSD installations are able to verify files for the next release. The OpenBSD 7.1 release was signed with the /etc/signify/openbsd-71-base.pub release key. If you have an existing OpenBSD installation, you can run signify(1) to verify the signature and checksum. For example, run the following to verify that the cd71.iso file was distributed by the OpenBSD team: signify -C -p /etc/signify/openbsd-71-base.pub -x SHA256.sig cd71.iso If you are unable to run or compile signify(1), use sha256(1) with the SHA256 file to see if a file was corrupt during the transfer. Getting the OpenBSD System onto Useful Media: --------------------------------------------- Installation is supported from several media types, including: CD-ROM FFS partitions HFS partitions (bootloader/kernel only, using another media for d/l) Remote NFS partition 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 HTTP 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 download the distribution sets to a local server or disk and perform the installation from there, rather than directly from the internet. The variety of options listed may seem confusing, but situations vary widely in terms of what peripherals and what sort of network arrangements a user has, the intent is to provide some way that will be practical. Creating a bootable CD-ROM: First you need to get access to the OpenBSD bootable CD-ROM (ISO) images. They can be found on one of the OpenBSD mirror servers. Two files are available, install71.iso which contains all of the sets needed for installation, and a smaller cd71.iso which contains just the installer, for a network install. Windows users should be able to do this by right clicking on the install71.iso file and clicking burn to CD. OpenBSD users should be able to do this with the cdio command. "cdio tao install71.iso" Users of other operating systems should consult the appropriate documentation. OpenBSD can now be booted from a CD-ROM by holding down the 'c' key during reboot. If ofwboot and bsd.rd are copied to an 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 an OpenBSD partition exists, it is not possible to load the kernel (bsd.rd) from an HFS partition on that disk. To install OpenBSD using a remote partition, mounted via NFS, you must do the following: NOTE: This method of installation is recommended only for those already familiar with using BSD network configuration and management commands. If you aren't, this documentation should help, but is not intended to be all-encompassing. Place the OpenBSD distribution sets you wish to install into a directory on an NFS server, and make that directory mountable by the machine on which you are installing or upgrading OpenBSD. This will probably require modifying the /etc/exports file of the NFS server and resetting its mount daemon (mountd). (Both of these actions will probably require superuser privileges on the server.) You need to know the numeric IP address of the NFS server, and, if the server is not on a network directly connected to the machine on which you're installing or upgrading OpenBSD, you need to know the numeric IP address of the router closest to the OpenBSD machine. Finally, you need to know the numeric IP address of the OpenBSD machine itself. Once the NFS server is set up properly and you have the information mentioned above, you can proceed to the next step in the installation or upgrade process. 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 "base71" 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 Open Firmware, 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. (On a PC keyboard, use the Windows key instead of the Command key and use Alt instead of the Option key). 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 > If you are installing OpenBSD/macppc on an Xserve, you will need to do so in headless mode. This means you must remove the graphics card and use the serial console. To bring up Open Firmware via the serial console, hold down the System Identifier button while pressing the Power button. When the upper LED bank begins lighting up in sequence (similar to KITT from Knight Rider), repeatedly press the System Identifier button until the seventh LED from the right is highlighted on the lower bank. Now hold the System Identifier button for two seconds. For more details, read: http://support.apple.com/kb/TA26930 Important Open Firmware command examples: boot cd:,ofwboot /7.1/macppc/bsd.rd (boot from an appropriately prepared OpenBSD CD-ROM in the CD/DVD drive) boot enet:,ofwboot /bsd.rd (netboot from a pre-configured dhcp/tftp/nfs server; "ofwboot" will be obtained from the tftp server, while "bsd.rd" will be obtained from the NFS server, as specified by the "next-server" and "root-path" dhcp options) boot ide1:,ofwboot /bsd (After installation, boot /bsd from the slave device on the second ATA bus) mac-boot (boot into Mac OS) 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 hd:,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-configured Open Firmware settings, simultaneously hold down the Command, Option, P, and R keys immediately upon booting. Typically the machine will then attempt to load Mac OS, if available. Autobooting OpenBSD/macppc It is possible to automatically boot into OpenBSD (selectably into Mac OS) by setting up the following: setenv auto-boot? true setenv boot-device hd:,ofwboot [to save the results into NVRAM] reset-all These settings assume that the master of the first IDE bus has OpenBSD installed on it, either in MBR format or in shared mode with ofwboot copied into the first HFS(+) partition. It is not necessary to specify '/bsd' on the boot line or in the boot-device variable, since it is the default. To boot in Mac OS with this setup (works on most supported machines), press and hold down the Alt/Option key during reboot, and select which (Mac OS/Mac OS X) partition to boot in the graphical boot selector presented. Note that OpenBSD does not currently show up in this boot selector except for the installation image. This works on most machines this has been tested with, but does not work on a Rev C (333MHz) iMac; perhaps this feature was added to the Open Firmware ROM after that machine. Sharing a disk with Mac OS: OpenBSD/macppc is capable of booting either from a dedicated disk using an MBR partitioned disk or sharing a disk with Mac OS. If the disk is to be shared between Mac OS and OpenBSD, it is necessary to reformat and install the Mac OS 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 simple process. If you take your time and are careful to read the information presented by the installer, you shouldn't have any trouble. Before you begin, you should decide if OpenBSD is to be installed on the whole disk or share the disk with Mac OS. For stand-alone (No Mac OS 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 Mac OS, a partition must be preallocated by the Mac OS partition editor and Mac OS 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 Mac OS. 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. The installation procedure is designed to gather as much information about your system setup as possible at the beginning, so that no human interaction is required as soon as the questions are over. The order of these questions might be quite disconcerting if you are used to other installation procedures, including older OpenBSD versions. 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. At this time, the system can be installed from the supplied CD-ROM boot image, by network loading the bootloader, or loading the bootloader and kernel from an HFS partition. Once the bootloader is installed on the local hard drive, the system can boot from it. OpenBSD may share a drive with Mac OS if the process is followed carefully. Currently it is necessary to use Open Firmware 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 Mac OS is desired, choose it using the firmware boot selector by holding down the