INSTALLATION NOTES for OpenBSD/aviion 4.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. To integrate more smoothly in other environments, OpenBSD 4.1 also provides, on some platforms, 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. Because OpenBSD is from Canada, the export of Cryptography pieces (such as OpenSSH, 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.) A comprehensive list of the improvements brought by the 4.1 release is available on the web at http://www.OpenBSD.org/41.html. OpenBSD/aviion runs on a few Motorola 88100 processor-based Data General AViiON workstations. Although hardware support is currently very limited, work is in progress to cover more models and devices. Sources of OpenBSD: ------------------- This is a list of currently known FTP servers at the time of the 4.1 release. For a more recent list, please refer to http://www.OpenBSD.org/ftp.html Main server in Canada: ftp://ftp.OpenBSD.org/pub/OpenBSD (Alberta) 2nd level mirrors: ftp://spargel.kd85.com/pub/OpenBSD (Vienna) ftp://openbsd.informatik.uni-erlangen.de/pub/OpenBSD (Erlangen) ftp://ftp.stacken.kth.se/pub/OpenBSD (Stockholm) ftp://ftp5.usa.openbsd.org/pub/OpenBSD (Redwood City, CA) ftp://ftp3.usa.openbsd.org/pub/OpenBSD (Boulder, CO) ftp://rt.fm/pub/OpenBSD (Lake in the Hills, IL) Argentina: ftp://ftp.openbsd.md5.com.ar/pub/OpenBSD (Buenos Aires) Australia: ftp://ftp.it.net.au/mirrors/OpenBSD (Perth) ftp://mirror.pacific.net.au/OpenBSD (Sydney) Austria: ftp://playboy.wu-wien.ac.at/pub/OpenBSD (Vienna) Belgium: ftp://ftp.scarlet.be/pub/openbsd (Brussels) ftp://ftp.belnet.be/packages/openbsd (Brussels) Brazil: ftp://ftp.das.ufsc.br/pub/OpenBSD (Florianopolis, Santa Catarina) Bulgaria: ftp://ftp.bg.openbsd.org/pub/OpenBSD (Plovdiv) Canada: ftp://mirror.arcticnetwork.ca/pub/OpenBSD (Calgary) ftp://ftp.ca.openbsd.org/pub/OpenBSD (Edmonton) ftp://gulus.usherbrooke.ca/pub/distro/OpenBSD (Quebec) China: ftp://ftp.freebsdchina.org/pub/OpenBSD (Shanghai) Denmark: ftp://mirrors.dotsrc.org/openbsd (Aalborg) ftp://ftp.dkuug.dk/pub/OpenBSD (Copenhagen) Estonia: ftp://ftp.aso.ee/pub/OpenBSD (Tallinn) Finland: ftp://mirrors.nic.funet.fi/pub/OpenBSD (Espoo) ftp://ftp.jyu.fi/pub/OpenBSD (Jyvaskyla) France: ftp://ftp.arcane-networks.fr/pub/OpenBSD (Paris) ftp://ftp.crans.org/pub/OpenBSD (Paris) ftp://ftp.irisa.fr/pub/OpenBSD (Rennes) Germany: ftp://openbsd.ftp.fu-berlin.de/pub/OpenBSD (Berlin) ftp://ftp.freenet.de/pub/ftp.openbsd.org/pub/OpenBSD (Duesseldorf) ftp://ftp-stud.fht-esslingen.de/pub/OpenBSD (Esslingen) ftp://mirror.roothell.org/pub/OpenBSD (Nuremberg) ftp://ftp.bytemine.net/pub/OpenBSD (Oldenburg) Greece: ftp://filoktitis.noc.uoa.gr/pub/OpenBSD (Athens) ftp://ftp.physics.auth.gr/pub/mirrors/OpenBSD/OpenBSD (Thessaloniki) ftp://ftp.duth.gr/pub/OpenBSD (Thrace) Hungary: ftp://ftp.fsn.hu/pub/OpenBSD (Budapest) Ireland: ftp://ftp.esat.net/pub/OpenBSD (Dublin) Israel: ftp://mirror.inter.net.il/pub/OpenBSD (Petach Tiqwa) Italy: ftp://ftp.unina.it/pub/OpenBSD (Napoli) Japan: ftp://ftp.jaist.ac.jp/pub/OpenBSD (Ishikawa) ftp://ftp.nara.wide.ad.jp/pub/OpenBSD (Nara) ftp://ftp.jp.openbsd.org/pub/OpenBSD (Tokyo) ftp://ftp.kddlabs.co.jp/OpenBSD (Tokyo) Korea: ftp://ftp.kaist.ac.kr/pub/OpenBSD (Daejeon) Latvia: ftp://ftp.secure.lv/pub/OpenBSD (Riga) ftp://ftp.bsd.lv/pub/OpenBSD (Riga) The Netherlands: ftp://ftp.calyx.nl/pub/OpenBSD (Amsterdam) ftp://ftp.nluug.nl/pub/OpenBSD (Utrecht) ftp://mirror.hostfuss.com/pub/OpenBSD (Amsterdam) Norway: ftp://ftp.inet.no/pub/OpenBSD (Oslo) ftp://ftp.uninett.no/pub/OpenBSD (Oslo) ftp://jane.tihlde.org/pub/OpenBSD (Trondheim) Poland: ftp://ftp.task.gda.pl/pub/OpenBSD (Gdansk) Portugal: ftp://ftp.fmed.uc.pt/pub/OpenBSD (Coimbra) Russia: ftp://ftp.chg.ru/pub/OpenBSD (Chernogolovka-Moscow) ftp://ftp.gamma.ru/pub/OpenBSD (Moscow) South Africa: ftp://ftp.is.co.za/pub/OpenBSD (Johannesburg) Spain: ftp://ftp.rediris.es/mirror/OpenBSD (Madrid) Sweden: ftp://ftp.su.se/pub/OpenBSD (Stockholm) ftp://ftp.btradianz.se/pub/OpenBSD (Stockholm) Switzerland: ftp://mirror.switch.ch/pub/OpenBSD (Zurich) Ukraine: ftp://gaia.colocall.net/pub/OpenBSD (Kiev) United Kingdom: ftp://ftp.public-internet.co.uk/pub/OpenBSD (London) ftp://ftp.mirrorservice.org/pub/OpenBSD (Kent) USA: ftp://mirror.sese.asu.edu/pub/OpenBSD (Tempe, AZ) ftp://mirror.planetunix.net/pub/OpenBSD (Chicago, IL) ftp://osmirrors.cerias.purdue.edu/pub/OpenBSD (West Lafayette, IN) ftp://mirror.iawnet.sandia.gov/pub/OpenBSD (Albuquerque, NM) ftp://ftp.cse.buffalo.edu/pub/OpenBSD (Buffalo, NY) ftp://ftp.nyc.openbsd.org/pub/OpenBSD (New York, NY) ftp://mirrors.24-7-solutions.net/pub/OpenBSD (New York, NY) ftp://openbsd.mirrors.pair.com (Pittsburgh, PA) ftp://carroll.cac.psu.edu/pub/OpenBSD (PA) ftp://openbsd.mirrors.tds.net/pub/OpenBSD (Madison, WI) Additionally, the file ftp://ftp.OpenBSD.org/pub/OpenBSD/ftplist contains a list which is continually updated. If you wish to become a distribution site for OpenBSD, contact . OpenBSD 4.1 Release Contents: ----------------------------- The OpenBSD 4.1 release is organized in the following way. In the .../4.1 directory, for each of the architectures having an OpenBSD 4.1 binary distribution, there is a sub-directory. The aviion-specific portion of the OpenBSD 4.1 release is found in the "aviion" subdirectory of the distribution. That subdirectory is laid out as follows: .../4.1/aviion/ INSTALL.aviion Installation notes; this file. CKSUM, MD5 Output of the cksum(1) and md5(1) programs, usable for verification of the correctness of downloaded files. *.tgz aviion binary distribution sets; see below. bsd A stock GENERIC aviion kernel. netboot The OpenBSD/aviion Sun-compatible network boot loader. The OpenBSD/aviion binary distribution sets contain the binaries which comprise the OpenBSD 4.1 release for aviion systems. There are six binary distribution sets. The binary distribution sets can be found in the "aviion" subdirectory of the OpenBSD 4.1 distribution tree, and are as follows: base41 The OpenBSD/aviion 4.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 excludes everything described below. [ 78.4 MB gzipped, 193.7 MB uncompressed ] comp41 The OpenBSD/aviion Compiler tools. All of the tools relating to C, C++, Objective-F and Fortran are supported. This set includes the system include files (/usr/include), the linker, the compiler tool chain, and the various system libraries. This set also includes the manual pages for all of the utilities it contains, as well as the system call and library manual pages. [ 38.0 MB gzipped, 135.0 MB uncompressed ] etc41 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; see the section named Upgrading a previously-installed OpenBSD System" below.) [ 1.0 MB gzipped, 3.8 MB uncompressed ] game41 This set includes the games and their manual pages. [ 6.7 MB gzipped, 14.4 MB uncompressed ] man41 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.5 MB gzipped, 23.2 MB uncompressed ] misc41 This set includes the system dictionaries (which are rather large), and the typesettable document set. [ 2.1 MB gzipped, 7.1 MB uncompressed ] OpenBSD System Requirements and Supported Devices: -------------------------------------------------- OpenBSD/aviion 4.1 runs on the following Data General AViiON systems: - AV100/200/300/400, AV3000/4000 and AV4300 series The minimal configuration requires 16MB of RAM. Supported devices: On-board devices: - serial ports (dart) - 2KB NVRAM (/dev/nvram0) - Ethernet interface (le) Additional VMEbus devices: Interphase Hawk 3207 Ethernet interface (le) Getting the OpenBSD System onto Useful Media: --------------------------------------------- As long as OpenBSD/aviion only runs diskless, there is no real installation media to prepare. Preparing your System for OpenBSD Installation: ----------------------------------------------- Data General AViiON systems do not require any specific preparation steps to be able to run OpenBSD. You might want to become familiar with the PROM boot commands, though. 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. There is currently no support for disk controllers in OpenBSD/aviion. Because of this, the only way to use OpenBSD/aviion is to run as a diskless system, with the whole system installed on an NFS filesystem. Booting from Network: OpenBSD/aviion can boot off any network interface supported by the machine PROM (SCM), even if the device itself is not supported by OpenBSD. The OpenSBD network boot loader, netboot, expects a Sun-compatible diskless setup (bootparams and NFS root). Thus it will be necessary to set up a complete diskless client configuration on a server. If the boot server is an OpenBSD system, the diskless(8) manual page will provide detailed information on the process. If the server runs another operating system, the setup instructions will likely be available as part of the documentation that came with it (on SunOS systems, add_client(8) and the Sun System/Networks administrators guide constitute a good start; on Solaris systems, share(1M) is a good starting point as well). The set up is similar to SunOS diskless setup, but not identical, because the Sun setup assumes that the bootblocks load a kernel image, which then uses NFS to access the exported root partition, while the OpenBSD bootblocks use internal NFS routines to load the kernel image directly from the exported root partition. Please understand that no one gets this right the first try, since there is a lot of setup and all the host daemons must be running and configured correctly. If you have problems, extract the diskless(8) manpage, find someone who's been through it before and use the host syslog and tcpdump(8) to get visibility of what's happening (or not). Your aviion expects to be able to download a second stage bootstrap program via TFTP after having acquired its IP address through RevARP when instructed to boot "over the net". It will look for a filename composed of the machine's IP address in hexadecimal. For example, a machine which has been assigned IP address 130.115.144.11, will make a TFTP request for `8273900B'. Normally, this file is a symbolic link to the OpenBSD network boot loader, which should be located in a place where the TFTP daemon can find it (remember, many TFTP daemons run in a chroot'ed environment). After the boot program has been loaded into memory and given control by the PROM, it starts locating the machine's remote root directory through the BOOTPARAM protocol. First a BOOTPARAM WHOAMI request is broadcast on the local net. The answer to this request (if it comes in) contains the client's name. This name is used in the next step, a BOOTPARAM GETFILE request -- sent to the server that responded to the WHOAMI request -- requesting the name and address of the machine that will serve the client's root directory, as well as the path of the client's root on that server. Finally, this information (if it comes in) is used to issue a REMOTE MOUNT request to the client's root filesystem server, asking for an NFS file handle corresponding to the root filesystem. If successful, the boot program starts reading from the remote root filesystem in search of the kernel which is then read into memory. Unpack `base41.tgz' and `etc41.tgz' on the server in the root directory for your target machine. If you elect to use a separately NFS-mounted filesystem for `/usr' with your diskless setup, make sure the "./usr" base files in base41.tgz end up in the correct location. One way to do this is to temporarily use a loopback mount on the server, re-routing /usr to your server's exported OpenBSD "/usr" directory. Also put the kernel and the install/upgrade scripts into the root directory. A few configuration files need to be edited: /etc/hosts Add the IP addresses of both server and client. /etc/myname This files contains the client's hostname; use the same name as in /etc/hosts. /etc/mygate This files contains the client's default gateway. It should be either an IP address or a name found in the `hosts' file. /etc/fstab Enter the entries for the remotely mounted filesystems. For example: server:/export/root/client / nfs rw 0 0 server:/export/exec/aviion.OpenBSD /usr nfs rw 0 0 Now you must populate the `/dev' directory for your client. If the server does not run OpenBSD you might save the MAKEDEV output: eo=echo ksh MAKEDEV all > all.sh and then tailor it for your server operating system before running it. Note that MAKEDEV is written specifically for ksh, and may not work on any other Bourne shell. There will be error messages about unknown users and groups. These errors are inconsequential for the purpose of installing OpenBSD. However, you may want to correct them if you plan to use the diskless setup regularly. In that case, you may re-run MAKEDEV on your OpenBSD machine once it has booted. You can now boot the machine from the network by specifying the Ethernet interface as the boot device, as in SCM> b inen() to boot from the onboard interface, or SCM> b hken() to boot from the Hawk Ethernet card. Upgrading a previously-installed OpenBSD System: ------------------------------------------------ To upgrade your OpenBSD installation, simply extract the new sets on the diskless server. It is strongly advised that you unpack the etc41.tgz set in a temporary directory and merge changes by hand, since all components of your system may not function correctly until your files in `/etc' are updated. 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-ROM, the source code is provided. Otherwise, you can get the pieces over the Internet using anonymous CVS, CTM, CVSync or FTP. For more information, see http://www.OpenBSD.org/anoncvs.html http://www.OpenBSD.org/ctm.html http://www.OpenBSD.org/cvsync.html http://www.OpenBSD.org/ftp.html Using online OpenBSD documentation: ----------------------------------- Documentation is available if you first install the manual pages 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), passwd(5) and afterboot(8). 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. Adding third party software; ``packages'' and ``ports'': -------------------------------------------------------- As complete as your OpenBSD system is, you may want to add any of several excellent third party software applications. There are several ways to do this. You can: 1) Obtain the source code and build the application based upon whatever installation procedures are provided with the application. 2) Use the OpenBSD ``ports'' collection to automatically get any needed source file, apply any required patches, create the application, and install it for you. 3) Use the OpenBSD ``package'' collection to grab a pre-compiled and tested version of the application for your hardware. If you purchased the OpenBSD CD-ROM set you already have several popular ``packages'', and the ``ports'' collection. Instructions for installing applications from the various sources using the different installation methods follow. You should also refer to the packages(7) manual page. Installing applications from the CD-ROM package collection: The OpenBSD CD-ROM ships with several applications pre-built for various hardware architectures. The number of applications vary according to available disk space. Check the directory 4.1/packages/m88k to see which packages are available for your hardware architecture. That directory will be on the same CD-ROM containing the OS installation files for your architecture. To install one or more of these packages you must: 1) become the superuser (root). 2) mount the appropriate CD-ROM. 3) use the ``pkg_add'' command to install the software. Example (in which we use su(1) to get superuser privileges, thus you have to be in group "wheel", see the manual page for su(1)). $ su Password: # mkdir -p /cdrom # mount /dev/cd0a /cdrom # pkg_add /cdrom/4.1/packages/m88k/ # # umount /cdrom Package names are usually the application name and version with .tgz appended, e.g. emacs-21.3.tgz Installing applications from the ftp.OpenBSD.org package collection: All available packages for your architecture have been placed on ftp.OpenBSD.org in the directory pub/OpenBSD/4.1/packages/m88k/ You may want to peruse this to see what packages are available. The packages are also on the OpenBSD FTP mirror sites. See http://www.OpenBSD.org/ftp.html for a list of current FTP mirror sites. Installation of a package is very easy. 1) become the superuser (root) 2) use the ``pkg_add'' command to install the software ``pkg_add'' is smart enough to know how to download the software from the OpenBSD FTP server. Example: $ su Password: # pkg_add \ ftp://ftp.OpenBSD.org/pub/OpenBSD/4.1/packages/m88k/emacs-21.3.tgz Installing applications from the CD-ROM ports collection: The CD-ROM ``ports'' collection is a set of Makefiles, patches, and other files used to control the building and installation of an application from source files. Creating an application from sources can require a lot of disk space, sometimes 50 megabytes or more. The first step is to determine which of your disks has enough room. Once you've made this determination, read the file PORTS located on the CD-ROM which contains the ports tree. To build an application you must: 1) become the superuser (root) 2) have network access, or obtain the actual source files by some other means. 3) cd to the ports directory containing the port you wish to build. To build samba, for example, where you'd previously copied the ports files into the /usr/ports directory: cd /usr/ports/net/samba 4) make 5) make install 6) make clean Installing applications from the OpenBSD ports collection: See http://www.OpenBSD.org/ports.html for current instructions on obtaining and installing OpenBSD ports. You should also refer to the ports(7) manual page. Installing other applications: If an OpenBSD package or port does not exist for an application you're pretty much on your own. The first thing to do is ask if anyone is working on a port -- there may be one in progress. If you can't find an existing port, try to make your own and feed it back to OpenBSD. That's how our ports collection grows. Some details can be found at http://www.OpenBSD.org/porting.html with more help coming from the mailing list, . 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. For more information about reporting bugs, see http://www.OpenBSD.org/report.html