INSTALLATION NOTES for OpenBSD/arc 2.3 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.3 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.3, 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.3 is the first release of OpenBSD for MIPS R4K ARC Class systems. This release has support for R4000PC, R4400PC, R4600PC and R4700PC processors. Sources of OpenBSD: ------------------- This is a list of currently known ftp servers: Korea: ftp://ftp1.kr.openbsd.org/pub/OpenBSD == ftp://sunsite.kren.ne.kr/pub/OpenBSD Australia: ftp://ftp.aba.net.su/pub/OpenBSD == ftp://ftp.au.openbsd.org/pub/OpenBSD France: ftp://ftp.lip6.fr/pub/OpenBSD == ftp://ftp.fr.openbsd.org/pub/OpenBSD ftp://frp.univ-evry.fr/pub/OpenBSD 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 Sweden: ftp://ftp.stacken.kth.se/pub/OpenBSD == ftp://ftp.se.openbsd.org/pub/OpenBSD ftp://ftp1.se.openbsd.org/pub/OpenBSD Switzerland: ftp://web.eunet.ch/pub/OpenBSD == ftp://ftp.eu.openbsd.org/pub/OpenBSD Thailand: ftp://ftp.ruibon.ac.th/pup/OpenBSD == ftp://ftp.th.openbsd.org/pub/OpenBSD Korea: ftp://sunsite.kren.ne.kr/pup/OpenBSD == ftp://ftp.kr.openbsd.org/pub/OpenBSD United Kingdom: ftp://ftp.demon.co.uk/pub/OpenBSD USA: ftp://freestuff.cs.colorado.edu/pub/OpenBSD == ftp://ftp3.usa.openbsd.org/pub/OpenBSD ftp://openbsd.eecs.umich.edu/pub/OpenBSD == ftp://ftp1.usa.openbsd.org/pub/OpenBSD ftp://ftp4.usa.openbsd.org/pub/OpenBSD ftp://ftp.geek-girl.com/pub/OpenBSD == ftp://ftp.usa.openbsd.org/pub/OpenBSD ftp://ftp6.usa.openbsd.org/pub/OpenBSD ftp://ftp.op.net/pub/OpenBSD ftp://freon.republic.k12.mo.us/pub/OpenBSD frp://ftp.msoe.edu/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 ftp://ftp.styx.org/pub/OpenBSD As well, the file ftp://ftp.openbsd.org/pub/OpenBSD/2.3/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.3 Release Contents: ----------------------------- The OpenBSD 2.3 release is organized in the following way. In the .../2.3 directory, there is one sub-directory per architecture, for each of the architectures that OpenBSD 2.3 has a binary distribution for. That is described further along in this document). The ARC specific portion of the OpenBSD 2.3 release is found in the "arc" subdirectory of the distribution. That subdirectory is laid out as follows: .../2.3/arc/ INSTALL.arc Installation notes; this file. CKSUM Output of the cksum(1) and md5(1) programs MD5 usable for verification of the correctness of downloaded files. X11/ The X window system for OpenBSD/arc 2.3 *.gz ARC binary distribution sets; see below. bsd ARC GENERIC kernel in ELF format. This is the kernel installed by the install script. bsd.rd ARC RAMDISK kernel. This is the kernel that should be booted when installing OpenBSD. bsd.ecoff ARC GENERIC kernel in ECOFF format. This kernel may be used to boot a system from a MSDOS disk. The ARC ramdisk image is a bootable kernel+rootimage. This kernel is used when a system is installed for the first time. The file is in ECOFF format. The OpenBSD/arc binary distribution sets contain the binaries which comprise the OpenBSD 2.3 release for ARC systems. There are seven binary distribution sets. The binary distribution sets can be found in the "arc" subdirectory of the OpenBSD 2.3 distribution tree, and are as follows: base23 The OpenBSD/arc 2.3 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. [ 14.0M gzipped, 47.4M uncompressed ] comp23 The OpenBSD/arc 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. [ 13.1M gzipped, 51.9M uncompressed ] etc23 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.) [ 92K gzipped, 490K uncompressed ] game23 This set includes the games and their manual pages. [ 2.8M gzipped, 7.1M uncompressed ] man23 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. [ 2.4M gzipped, 9.2M uncompressed ] misc23 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.7M gzipped, 5.9M uncompressed ] text23 This set includes OpenBSD's text processing tools, including groff, all related programs, and their manual pages. [ 958K gzipped, 4.0M uncompressed ] OpenBSD System Requirements and Supported Devices: -------------------------------------------------- OpenBSD/arc 2.3 runs on the following classes of machines: - Acer PICA61 (RISC-PC) Systems. - Deskstation rPC44. - Deskstation Tyne. OpenBSD/pmax 2.3 does *not* (yet) run on these machines: - Mips Magnum - Olivetti systems. - SNI RMxxx machines. - NEC Risc. The minimal configuration requires 8M of RAM and ~60M of disk space. To install the entire system requires ~150M of disk space, and to run X or compile the system, 32Mb of RAM and ~1G of disk is recommended. Supported devices include: graphics: built-in S3 VGA graphics adapter on PICA. Standard VGA graphics adapter on rPC44 and Tyne. Note that X11R6 currently supports only S3 boards. keyboard: Standard PC compatible keyboard with optionally driver softloaded keymaps. mouse: PS2 mouse on PICA Serial mouse on /dev/tty00 on rPC44 and Tyne. serial ports: on-board tty00 and tty01 (PICA. can not yet be used as console) ISA tty00 and tty01 on systems without serial ports on the motherboard (Tyne). ISA tty02 and tty03 on all ISA capable systems. parallel ports: parallel ports is supported on-board (PICA) or on ISA (rPC44 and Tyne). floppy: floppy is supported on PICA only. ethernet: on-board SONIC ethernet controller (PICA only) 3Com Etherlink boards (All ISA capable systems) NE2000 compatible ISA boards. SCSI: on-board NCR53C96 SCSI controller (PICA) VLB "Buslogic BT-440C/445C" SCSI controller. IDE: IDE disks via wd driver on ISA bus. Bootable only on Deskstation systems. Getting the OpenBSD System onto Useful Media: --------------------------------------------- Installation is supported from several media types, including: NFS partitions FTP CD-ROM The steps necessary to prepare the distribution sets for installation depend on which method of installation you choose. The various methods are explained below. To prepare for installing via an NFS partition: Place the OpenBSD software you wish to install into a directory on an NFS server, and make that directory mountable by the machine which you will be installing OpenBSD on. This will probably require modifying the /etc/exports file of the NFS server and resetting mountd, acts which will require superuser privileges. Note the numeric IP address of the NFS server and of the router closest to the the new OpenBSD machine, if the NFS server is not on a network which is directly attached to the OpenBSD machine. Once you have done this, you can proceed to the next step in the installation process, preparing your system for OpenBSD installation. To prepare for installing via FTP: NOTE: this method of installation is recommended only for those already familiar with using the BSD network-manipulation commands and interfaces. If you aren't, this documentation should help, but is not intended to be all-encompassing. The preparations for this method of installation are easy: all you have to do is make sure that there's some FTP site from which you can retrieve the OpenBSD installation when it's time to do the install. You should know the numeric IP address of that site, the numeric IP address of your nearest router if one is necessary Once you have done this, you can proceed to the next step in the installation process, preparing your system for OpenBSD installation. To prepare for installing via a CD-ROM: To install OpenBSD from a CD-ROM, you simply need to install the CD rom in the cdrom reader and follow the instructions. Once you have done this, you can proceed to the next step in the installation process, preparing your system for OpenBSD installation. Preparing your System for OpenBSD Installation: ----------------------------------------------- Before you start you should familiarize yourself with the ARC Bios setup and how to run programs from the ARC Bios screen. You should also examine the guide on the OpenBSD/arc web site, which will hopefully soon have more complete and more up-to-date instructions than are given in the install document. If you're installing OpenBSD/arc for the first time it's a very good idea to look at the partition sizes of disk you intend installing OpenBSD on. Changing the size of partitions after you've installed is difficult. If you do not have a spare bootable disk, it may be simpler to re-install OpenBSD again from scratch. Assuming a classic partition scheme with root (`/') and /usr filesystems, a comfortable size for the OpenBSD root filesystem partition (a) is about 32Mb. The install will take ~18Mb of that. However it has shown that 60M is not a bad choice when more packages are to be installed. It is recommended that the 'a' partition and the MSDOS (i) partition uses the first 64Mb. A good initial size for the swap (b) partition is twice the amount of physical memory in your machine or at least 64M. A minimum /usr partition (e) is ~150M but with that you will run into trouble later. A minimum size of 350M is recommended. A full binary installation, without X11 or any other additional software, takes about 120MB in `/usr'. Installing the OpenBSD System: ------------------------------ Installing OpenBSD is a relatively complex process, but if you have this document in hand it shouldn't be too much trouble. There are several ways to install OpenBSD onto a disk. The easiest way in terms of preliminary setup is to use the OpenBSD ramdisk kernel that can be booted off your local MSDOS disk or from the CD-ROM. Installing using the OpenBSD ramdisk kernel. The ramdisk kernel is a self-contained OpenBSD filesystem including all utilities necessary to install OpenBSD on a local disk, embedded in a GENERIC kernel image. It is distributed as a plain ECOFF executable file designed to be loaded into the system by the ARC firmware. Loading the ramdisk kernel into your system is done with the appropriate BIOS Run command on Your system. Usually this is done by typing in the following string at the "Run a program" prompt: scsi()disk()rdisk()partition(1)\bsd.rd to boot from an existing MSDOS FAT partition to which the ramdisk kernel have been copied. Or from the CD-ROM: CD:\2.3\arc\bsd.rd Exact input to describe the device path varies. Consult your ARC-Bios manual for more information about the particular system. This will cause the ramdisk kernel to be booted. After the initial probe messages you'll asked to choose a shell with sh as default. Simply type [Return] here and you are in single user mode. Start the installation script: # install The script will do most of the work of transferring the system from the tar files onto your disk. You will frequently be asked for confirmation before the script proceeds with each phase of the installation process. Occasionally, you'll have to provide a piece of information such as the name of the disk you want to install on or IP addresses and domain names you want to assign. The installation script goes through the following phases: - determination of the disk to install OpenBSD on - checking of the MBR partition information on the disk - checking of the OpenBSD partition information on the disk - creating and mounting the OpenBSD filesystems - setup of IP configuration - extraction of the distribution tar files - installation of kernel and the bootable kernel The installation program will guide you through the installation. There is one area of complexity that you should be very careful about and that is how to install the required MBR (Msdos Boot Record) and MSDOS FAT partition. OpenBSD will coexist with other operating systems with help from the MSDOS partition table. Because the ARC Bios only knows how to boot from a FAT formatted disk there must always exist a small or big (depending on your needs) MSDOS FAT partition on the disk. Install will initialize the install target disk with a proper MBR and an empty 5Mb MSDOS partition it that is desired. Or it will keep the current MBR and partitioning. In the later case you will need to fill in the MBR with a usable OpenBSD partition. Now try a reboot (enter the command "reboot" at the prompt). This will take you back to the ARC Bios. You will now need to set up a boot selection to boot OpenBSD. How to do this varies from system to system and should be described in your systems manual. The process to set up the parameters is almost exactly the same as for Win/NT apart from the name of the OSLOADER which should be set to 'bsd'. You may also set the OSLOADOPTIONS parameter to any of the following characters: n = Ask for root device Name. N = Don't as for root device Name. a = Autoboot to Multiuser mode. A = Boot to single user mode. So to boot the system to multiuser mode set: OSLOADOPTIONS=Na Congratulations, you have successfully installed OpenBSD 2.3. 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.3 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. 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 OpenBSD System: ------------------------------------------------ Because this is the first release of OpenBSD for the ARC's - there is no upgrade option in this release. 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. 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 you already have several popular ``packages'', the ``ports'' collection, and most of the ``ports'' source file releases. Instructions for installing applications from the various sources using the different installation methods follow. If emacs is to be installed it should be installed first as it creates the ``info'' directory file that may be modified by other applications. Installing applications from the CD-ROM package collection: The OpenBSD CD-ROM ships with applications pre-built for various hardware architectures. The applications and supported architectures are: i386 sparc amiga m68k alpha 1 bash-2.01.1 yes yes yes yes yes yes emacs-20.2 yes yes yes yes yes no ghostscript-5.10 yes no no no no no gmake-3.76.1 yes yes yes yes yes yes id-utils-3.2 no yes yes yes yes no ircii-2.8.2-epic3.004 yes yes yes yes yes yes pine-3.96 yes yes yes yes yes yes screen-3.7.4 yes yes no yes yes yes tcsh-6.07.02 yes yes yes yes yes yes unzip-5.3.1 yes yes no yes yes no Note: If space becomes available other packages may be added to the CD-ROM. Check the packages directory on CD-ROM number 2 to see what packages are actually available for your hardware architecture. (the amiga is treated specially due to its 8k hardware pagesize aka NBPG, it's very well possible amiga will run the other m68k arch's binaries, but we make no guarantees at this point, better safe than sorry). To install one or more of these packages you must 1) become the superuser (root) 2) mount CD-ROM number 2 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/packages// # # umount /cdrom Your hardware architecture can be determined by issuing the command ``arch''. The response will be something like ``OpenBSD.sparc''. ``sparc'' is the architecture. Package names are usually the application name and version with .tgz appended, e.g. pine-3.96.tgz Installing applications from the ftp.openbsd.org package collection: The above packages, and others, have been placed on ftp.openbsd.org in the directory pub/OpenBSD/2.3/packages// where is the supported hardware architecture. You may want to peruse the directory for your architecture 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/2.3/packages/i386/emacs-20.2.tgz Note: there are both USA and INTERNATIONAL versions of ssh and pgp on the ftp server. Be sure to grab the correct version. The USA versions, ssh-usa-1.2.22.tgz and pgp-usa-2.6.3.tgz, use RSAREF, a legal requirement for use within the United States due to patent issues. Packages available include: bash-2.01.1.tgz pine-3.96.tgz emacs-20.2.tgz screen-3.7.4.tgz ghostscript-5.10.tgz ssh-intl-1.2.22.tgz gmake-3.76.1.tgz ssh-usa-1.2.22.tgz ircii-2.8.2-epic3.004.tgz tcsh-6.07.02.tgz pgp-intl-2.6.3.tgz unzip-5.3.1.tgz pgp-usa-2.6.3.tgz Note: these packages may not exist for all architectures; other packages may be added. 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. The source files come from archives which are also, for the most part, on the OpenBSD CD-ROM. 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 README.ports on CD-ROM 2 to see how to copy or mount the ports directory. To build an application you must: 1) become the superuser (root) 2) mount CD-ROM number 2 on the directory /cdrom. This is necessary to find the application source files. 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 FETCH_SYMLINK_DISTFILES=YES 5) make FETCH_SYMLINK_DISTFILES=YES install 6) make FETCH_SYMLINK_DISTFILES=YES clean The FETCH_SYMLINK_DISTFILES=YES parameter tells make not to copy the application's distribution sources from the cdrom to your hard disk, but instead create a symbolic link pointing to the CD-ROM. This is done to conserve disk space. Installing applications from the OpenBSD ports collection: See http://www.openbsd.org/ports.html for current instructions on obtaining and installing OpenBSD ports. 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 ports@openbsd.org if anyone is working on a port -- there may be one in progress. If no luck there you may try the FreeBSD ports or NetBSD package collection. If you are on an i386 based machine it is quite possible that the FreeBSD port, if one exists, will work for you. 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, ports@openbsd.org. 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.