[BACK]Return to m4.common CVS log [TXT][DIR] Up to [local] / src / distrib / notes

File: [local] / src / distrib / notes / m4.common (download)

Revision 1.77, Mon Mar 10 21:25:52 2008 UTC (16 years, 2 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.76: +4 -4 lines

Sync sets sizes with release bits.

dnl
dnl	$OpenBSD: m4.common,v 1.77 2008/03/10 21:25:52 miod Exp $
dnl
dnl Copyright (c) 2004 Todd T. Fries <todd@OpenBSD.org>
dnl
dnl Permission to use, copy, modify, and distribute this software for any
dnl purpose with or without fee is hereby granted, provided that the above
dnl copyright notice and this permission notice appear in all copies.
dnl
dnl THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
dnl WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
dnl MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
dnl ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
dnl WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
dnl ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
dnl
dnl
dnl a simple MACHINE->MACHINE_ARCH converter.
define(`MACHINE_ARCH',
`ifelse(
MACHINE,amiga,m68k,
MACHINE,armish,arm,
MACHINE,aviion,m88k,
MACHINE,hp300,m68k,
MACHINE,landisk,sh,
MACHINE,luna88k,m88k,
MACHINE,mac68k,m68k,
MACHINE,macppc,powerpc,
MACHINE,mvme68k,m68k,
MACHINE,mvme88k,m88k,
MACHINE,mvmeppc,powerpc,
MACHINE,sgi,mips64,
MACHINE,sun3,m68k,
MACHINE,zaurus,arm,
MACHINE)')dnl
dnl simulate an include path with a macro 'includeit'.
define(`includeit',`sinclude('INCLUDE/`$1)sinclude('INCLUDE/../`$1)')dnl
dnl
dnl
dnl TopPart
dnl Describes the beginning of the distribution files listing.
dnl
define(`TopPart',
`The MACHINE-specific portion of the OpenBSD OSREV release is found in the
"MACHINE" subdirectory of the distribution.  That subdirectory is laid
out as follows:

.../OSREV/MACHINE/

	INSTALL.MACHINE	Installation notes; this file.

	MD5		Output of the md5(1) program, usable for verification
			of the correctness of downloaded files.')dnl
dnl
dnl Change the quote.  There were too many `word' situations that would
dnl have to have been changed to ``word''.  The quote gets changed to
dnl {:- and -:}.  It can really be anything, but it needs to be unique.
dnl
changequote(`{:-',`-:}')dnl
dnl
dnl Conventions when editing:
dnl o base`'OSrev is required because if it appears as baseOSrev the
dnl   defined value OSrev does not get substituted.  Same goes for MACHINE,
dnl   MACHINE_ARCH and OSREV, assigned as cmd line parameters to m4 in the
dnl   Makefile.
dnl o `include' and `define' is required as include and define are both m4
dnl   reserved words that evaluate to NULL if not quoted.
dnl
dnl
dnl ========== Distribution files description
dnl (usually used by arch/contents)
dnl
dnl printsize(value)
dnl
dnl Prints a size in KB if it is less than 10^6, in MB otherwise.
dnl The size is rounded down (this means you can still get 0.9 MB for
dnl a size between 1,000,000 and 1,048,576 bytes).
dnl Used by showsize() below.
dnl
define({:-printsize-:},{:-ifelse(substr($1,6),,dnl
eval($1/1024).eval($1*10/1024%10) KB,dnl
eval($1/1024/1024).eval($1/1024*10/1024%10) MB)-:})dnl
dnl
dnl showsize(gzipped size, uncompressed size)
dnl
dnl If both the 1st and the 2nd argument exist, show the sizes.
dnl Otherwise, evaluate to NULL.
dnl showsize() must not be on a new line.  It creates its own new line if
dnl there are sizes to display, otherwise, evaluates to NULL
dnl
dnl XXX fix to allow - empty 1st arg, for files uncompressed
dnl                  - empty 2nd arg, for files where only compressed size
dnl                    is known
dnl
define({:-showsize-:},{:-ifelse(X$1,X,,X$2,X,,X,X,{:-
		 [ printsize($1) gzipped, printsize($2) uncompressed ]-:})-:})dnl
dnl
dnl
dnl
dnl DistributionDescription( number of sets )
dnl Header paragraph before the individual sets descriptions.
dnl
define({:-DistributionDescription-:},
{:-The OpenBSD/MACHINE binary distribution sets contain the binaries which
comprise the OpenBSD OSREV release for MACHINE systems.  There are $1
binary distribution sets.  The binary distribution sets can be found in
the "MACHINE" subdirectory of the OpenBSD OSREV distribution tree,
and are as follows:-:})dnl
dnl
dnl
dnl OpenBSDbase( compressed size, uncompressed size [, shared])
dnl Describes baseXX.tgz. Put ``shared'' as third argument if shared libraries
dnl are available.
dnl
define({:-OpenBSDbase-:},
{:-	base{:--:}OSrev	 The OpenBSD/MACHINE OSREV 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.
		 ifelse(X$3,Xshared,{:-It includes shared library support, and excludes
		 everything described below.-:},{:-It excludes everything described below.-:})showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDcomp( compressed size, uncompressed size [, shared])
dnl Describes compXX.tgz. Put ``shared'' as third argument if shared libraries
dnl are available.
dnl
define({:-OpenBSDcomp-:},
{:-	comp{:--:}OSrev	 The OpenBSD/MACHINE Compiler tools.  All of the tools relating
		 to C, C++, Objective-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{:--:}ifelse(X$3,Xshared,{:-
		 (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.showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDetc( compressed size, uncompressed size [, noupgrade])
dnl Describes etcXX.tgz.
dnl
define({:-OpenBSDetc-:},
{:-	etc{:--:}OSrev	 This distribution set contains the system configuration
		 files that reside in /etc and in several other places.
		 This set MUST be installed{:--:}ifelse(X$3,X,{:- 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.)-:},.)showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDgame( compressed size, uncompressed size )
dnl Describes gameXX.tgz.
dnl
define({:-OpenBSDgame-:},
{:-	game{:--:}OSrev	 This set includes the games and their manual pages.showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDman( compressed size, uncompressed size )
dnl Describes manXX.tgz.
dnl
define({:-OpenBSDman-:},
{:-	man{:--:}OSrev	 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.showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDmisc( compressed size, uncompressed size )
dnl Describes miscXX.tgz.
dnl
define({:-OpenBSDmisc-:},
{:-	misc{:--:}OSrev	 This set includes the system dictionaries (which are rather
		 large), and the typesettable document set.showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDxbase( compressed size, uncompressed size )
dnl Describes xbaseXX.tgz.
dnl
define({:-OpenBSDxbase-:},
{:-	xbase{:--:}OSrev  This set includes the base X distribution.  This includes
		 programs, headers and libraries.showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDxetc( compressed size, uncompressed size )
dnl Describes xetcXX.tgz.
dnl
define({:-OpenBSDxetc-:},
{:-	xetc{:--:}OSrev	 This set includes the X window system configuration files
		 that reside in /etc.  It's the equivalent of etc{:--:}OSrev for X.showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDxshare( compressed size, uncompressed size )
dnl Describes xshareXX.tgz.
dnl
define({:-OpenBSDxshare-:},
{:-	xshare{:--:}OSrev This set includes all text files equivalent between all
		 architectures.showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDxfont( compressed size, uncompressed size )
dnl Describes xfontXX.tgz.
dnl
define({:-OpenBSDxfont-:},
{:-	xfont{:--:}OSrev  This set includes all of the X fonts.showsize($1,$2)-:})dnl
dnl
dnl
dnl OpenBSDxserv(compressed size,uncompressed size,optional extra notes)
dnl Describes xservXX.tgz.
dnl
define({:-OpenBSDxserv-:},
{:-	xserv{:--:}OSrev  This set includes all of the X servers.$3{:--:}showsize($1,$2)-:})dnl
dnl
dnl
dnl Floppy and bootable cdrom stuff
dnl
define({:-OpenBSDfloppy-:},
{:-	floppy{:--:}OSrev.fs	The standard MACHINE boot and installation floppy;
			see below.-:})dnl
dnl
define({:-OpenBSDinstalliso-:},
{:-	install{:--:}OSrev.iso	The MACHINE boot and installation CD-ROM image,
			which contains the base and X sets, so that install
			or upgrade can be done without network connectivity.-:})dnl
define({:-OpenBSDcd-:},
{:-	cd{:--:}OSrev.iso	A miniroot filesystem image 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;
			otherwise similar to the bsd.rd image above.-:})dnl
dnl
dnl OpenBSDfloppydesc(number of floppies, Article, plural)
dnl
dnl Describe what the boot floppy/ies contain and how they may be used.
dnl Use as: OpenBSDfloppydesc(single,The) or OpenBSDfloppydesc(three,Each,s)
define({:-OpenBSDfloppydesc-:},
{:-Bootable installation/upgrade floppy image$3:

	The $1 floppy image$3 can be copied to a floppy using rawrite.exe,
	ntrw.exe, or `dd', as described later in this document.
	$2 floppy image is a bootable install floppy which can be used
	both to install and to upgrade OpenBSD to the current version.
	It is also useful for maintenance and disaster recovery.-:})dnl
dnl
dnl
dnl A few extra straightforward macros describing more components.
dnl
define({:-OpenBSDdistsets-:},
{:-	*.tgz		MACHINE binary distribution sets; see below.-:})dnl
dnl
define({:-OpenBSDbsd-:},
{:-	bsd		A stock GENERIC MACHINE kernel which will be
			installed on your system during the install.-:})dnl
dnl
define({:-OpenBSDbsdmp-:},
{:-	bsd.mp		A stock GENERIC.MP MACHINE kernel, with support for
			multiprocessor machines, which can be used instead
			of the GENERIC kernel after the install.-:})dnl
dnl
define({:-OpenBSDrd-:},
{:-	bsd.rd		A compressed RAMDISK kernel; the embedded
			filesystem contains the installation tools.
			Used for simple installation from a pre-existing
			system.-:})dnl
dnl
define({:-OpenBSDminiroot-:},
{:-	miniroot{:--:}OSrev.fs	A miniroot filesystem image to be used if you
			for some reason can't or don't want to use the
			ramdisk installation method.-:})dnl
dnl
dnl
dnl ========== Various Install Instructions
dnl (usually used by arch/install)
dnl
dnl OpenBSDInstallPrelude(troublesome disk types)
dnl
dnl Installation introduction. Warns about disk geometry hell if argument
dnl is not empty.
define({:-OpenBSDInstallPrelude-:},
{:-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.ifelse(X$1,X,,{:-

If the disks connected to your machine are $1,
it is recommended that you know their geometry, i.e. the sector size (note
that sector sizes other than 512 bytes are not currently supported), the
number of sectors per track, the number of tracks per cylinder (also known
as the number of heads), and the number of cylinders on the disk.  The
OpenBSD kernel will try to discover these parameters on its own, and if it
can it will print them at boot time.  If possible, you should use the
parameters it prints.  (You might not be able to because you're sharing your
disk with another operating system, or because your disk is old enough that
the kernel can't figure out its geometry.)-:})-:})dnl
dnl
dnl OpenBSDInstallPart2
dnl Describes the beginning of the installation process, once the
dnl installation media is ready.
define({:-OpenBSDInstallPart2-:},
{:-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).-:})dnl
dnl
dnl OpenBSDBootMsgs(warn geometry, disk type, disk type, disk type)
dnl
dnl Describes the boot of the ramdisk, the expected disk devices
dnl names, and warns bore the reader with geometry concerns if the
dnl second argument is not empty.
define({:-OpenBSDBootMsgs-:},
{:-	Once the kernel has loaded, you will be presented with the
	OpenBSD kernel boot messages.  You will want to read them
	to determine your disks name and geometry.  Its name will
	be something like ifelse(X$2,X,{:-"sd0" for SCSI drives, or "wd0" for IDE
	drives-:},$2){:--:}ifelse(X$3,X,,{:-, $3-:}){:--:}ifelse(X$4,X,,{:-, $4-:}){:--:}.{:--:}ifelse(X$1,X,,{:-
	As mentioned above, you will need your disks geometry (which
	will be printed on a line beginning with its name) when
	creating OpenBSD partitions.-:})
	You will also need to know the device name to tell the
	install tools what disk to install on.  If you cannot read
	the messages as they scroll by, do not worry -- you can get
	at this information later inside the install program.-:})dnl
dnl
dnl OpenBSDInstallPart3
dnl
dnl Describes the beginning of the bsd.rd operation.
dnl
define({:-OpenBSDInstallPart3-:},
{:-	After entering the terminal type you will be asked whether you
	wish to do an "(I)nstall" or an "(U)pgrade".  Enter 'I' for a
	fresh install or 'U' to upgrade an existing installation.

	You will be presented with a welcome message and asked if
	you really wish to install (or upgrade).  Assuming you
	answered yes, the install program will then tell you which
	disks of that type it can install on, and ask you which it
	should use.  Reply with the name of your disk.-:})dnl
dnl
dnl OpenBSDInstallPart4(mention about other OS partitions)
dnl Describes the disklabel operation
dnl
define({:-OpenBSDInstallPart4-:},
{:-	Next the disk label which defines the layout of the OpenBSD
	file systems must be set up.  The installation script will
	invoke an interactive editor allowing you to do this.  Note
	that partition 'c' inside this disk label should ALWAYS
	reflect the entire disk, including any non-OpenBSD portions.
	If you are labeling a new disk, you will probably start
	out with an 'a' partition that spans the disk.  In this
	case you should delete 'a' before adding new partitions.
	The root file system should be in partition 'a', and swap
	is usually in partition 'b'.$1

	It is recommended that you create separate partitions for /usr,
	/tmp, and /var, and if you have room for it, one for /home.  In
	doing this, remember to skip 'c', leaving it as type "unused".
	For help in the disk label editor, enter '?' or 'M' to view the
	manual page (see the info on the ``-E'' flag).-:})dnl
dnl
dnl OpenBSDInstallPart5
dnl More disklabel notes(disk)
define({:-OpenBSDInstallPart5-:},
{:-	The swap partition (usually 'b') should have a type of "swap", all
	other native OpenBSD partitions should have a type of "4.2BSD".

	The install program will now label your disk and ask which file
	systems should be created on which partitions.  It will auto-
	matically select the 'a' partition to be the root file system.
	Next it will ask for which disk and partition you want a file
	system created on.  This will be the same as the disk name (e.g.
	"$1") with the letter identifying the partition (e.g. "d")
	appended (e.g. "$1d").  Then it will ask where this partition is
	to be mounted, e.g. /usr.  This process will be repeated until
	you enter "done".

	At this point you will be asked to confirm that the file system
	information you have entered is correct, and given an opportunity
	to change the file system table.  Next it will create the new file
	systems as specified, OVERWRITING ANY EXISTING DATA.  This is the
	point of no return.-:})dnl
dnl
dnl OpenBSDInstallNet(other installation sources,hasfloppy)
dnl Setting up the network
define({:-OpenBSDInstallNet-:},
{:-	After all your file systems have been created, the install program
	will give you an opportunity to configure the network.  The network
	configuration you enter (if any) can then be used to do the install
	from another system using HTTP or FTP, and will also be the
	configuration used by the system after the installation is complete.

	If you select to configure the network, the install program will
	ask you for the name of your system and the DNS domain name to use.
	Note that the host name should be without the domain part, and that
	the domain name should NOT {:-include-:} the host name part.

	Next the system will give you a list of network interfaces you can
	configure.  For each network interface you select to configure, it
	will ask for the IP address to use, the symbolic host name to use,
	the netmask to use, and any interface-specific flags to set.  The
	interface-specific flags are usually used to determine which media
	the network card is to use.  Typically no media flags are required
	as autodetection normally works, but you will be prompted with a
	list of the acceptable media flags, and asked if you want to provide
	any.  In doubt, do not enter any media flags; or you can refer to
	the manual page for your interface for the appropriate flags.

	After all network interfaces have been configured, the install pro-
	gram will ask for a default route and IP address of the primary
	name server to use.  You will also be presented with an opportunity
	to edit the host table.

	At this point you will be allowed to edit the file system table
	that will be used for the remainder of the installation and that
	will be used by the finished system, following which the new file
	systems will be mounted to complete the installation.

        After these preparatory steps have been completed, you will be
        able to extract the distribution sets onto your system.  There
        are several install methods supported; FTP, HTTP, tape,
	$1or a local disk partition.
	ifelse(X$2,X,,{:-Note that installation from floppies is not currently supported.-:})-:})dnl
dnl
dnl Notes for various installation methods.
dnl
define({:-OpenBSDFTPInstall-:},
{:-	To install via FTP:
		To begin an FTP install you will need the following
		pieces of information.  Don't be daunted by this list;
		the defaults are sufficient for most people.
		    1) Proxy server URL if you are using a URL-based
		       FTP proxy (squid, CERN FTP, Apache 1.2 or higher).
		       You need to {:-define-:} a proxy if you are behind a
		       firewall that blocks outgoing FTP (assuming you
		       have a proxy available to use).
		    2) Do you need to use active mode FTP?  By default,
		       ftp will attempt to use passive mode and fall
		       back to an active connection if the server does
		       not support passive mode.  You only need to enable
		       this option if you are connecting to a buggy FTP
		       daemon that implements passive FTP incorrectly.
		       Note that you will not be asked about active
		       FTP if you are using a proxy.
		    3) The IP address (or hostname if you enabled
		       DNS earlier in the install) of an FTP server
		       carrying the OpenBSD OSREV distribution.
		       If you don't know, answer ``y'' when asked if
		       you want to see a list of such hosts.
		    4) The FTP directory holding the distribution sets.
		       The default value of pub/OpenBSD/OSREV/MACHINE
		       is almost always correct.
		    5) The login and password for the FTP account.
		       You will only be asked for a password for
		       non-anonymous FTP.

		For instructions on how to complete the installation via
		FTP, see the section named "Common URL installations" below.-:})dnl
dnl
define({:-OpenBSDHTTPInstall-:},
{:-	To install via HTTP:
		To begin an HTTP install you will need the following
		pieces of information:
		    1) Proxy server URL if you are using a URL-based
		       HTTP proxy (squid, CERN FTP, Apache 1.2 or higher).
		       You need to {:-define-:} a proxy if you are behind a
		       firewall that blocks outgoing HTTP connections
		       (assuming you have a proxy available to use).
		    2) The IP address (or hostname if you enabled
		       DNS earlier in the install) of an HTTP server
		       carrying the OpenBSD OSREV distribution.
		       If you don't know, answer ``y'' when asked if
		       you want to see a list of such hosts.
		    3) The directory holding the distribution sets.
		       There is no standard location for this;
		       You should use the directory specified
		       along with the server in the list of official
		       HTTP mirror sites that you received in step 3.

		For instructions on how to complete the installation via
		HTTP, see the section named "Common URL installations" below.-:})dnl
dnl
dnl For arches where you can create a boot tape, $1 can be set as the
dnl file index of the first set, after the boot files.
define({:-OpenBSDTAPEInstall-:},
{:-	To install from tape:
		In order to install from tape, the distribution sets to be
		installed must have been written to tape previously, either
		in tar format or gzip-compressed tar format.

		You will also have to identify the tape device where the
		distribution sets are to be extracted from.  This will
		typically be "nrst0" (no-rewind, raw interface).

		Next you will have to specify how many files have to be
		skipped on the tape.  This number is usually zero{:--:}ifelse(X$1,X,,{:-, unless
		you have created a bootable tape, in which case the number
		will be $1-:}).

		The install program will not automatically detect whether
		an image has been compressed, so it will ask for that
		information before starting the extraction.-:})dnl
dnl
define({:-OpenBSDCDROMInstall-:},
{:-	To install from CD-ROM:
		When installing from a CD-ROM, you will be asked which
		device holds the distribution sets.  This will typically
		be "cd0".  Next you will be asked which partition on the
		CD-ROM the distribution is to be loaded from.  This is
		normally partition "a".

		Next you will have to identify the file system type that
		has been used to create the distribution on the CD-ROM,
		this can be either FFS or ISO CD9660.  The OpenBSD CD-ROM
		distribution uses the CD9660 format.

		You will also have to provide the relative path to the
		directory on the CD-ROM which holds the distribution, for
		the MACHINE this is "OSREV/MACHINE".

		For instructions on how to complete the installation from
		the CD-ROM distribution, see the section named "Common
		file system installations" below.-:})dnl
dnl
define({:-OpenBSDNFSInstall-:},
{:-	To install from an NFS mounted directory:
		When installing from an NFS-mounted directory, you must
		have completed network configuration above, and also
		set up the exported file system on the NFS server in
		advance.

		First you must identify the IP address of the NFS server
		to load the distribution from, and the file system the
		server expects you to mount.

		The install program will also ask whether or not TCP
		should be used for transport (the default is UDP).  Note
		that TCP only works with newer NFS servers.

		You will also have to provide the relative path to the
		directory on the file system where the distribution sets
		are located.  Note that this path should not be prefixed
		with a '/'.

		For instructions on how to complete the installation from
		the CD-ROM distribution, see the section named "Common
		file system installations" below.-:})dnl
dnl
dnl OpenBSDDISKInstall({:-<additional disk> or-:},   <-- $1
dnl		       {:-only -:},                  <-- $2
dnl                    {:- or <other fs name>-:})    <-- $3
dnl
dnl Note the spacing used above.  It is crucial to keep words from running
dnl together in the actual document.
dnl
dnl Arg 1 is optional.
dnl Choices for args 2 & 3:
dnl - OpenBSDDISKInstall(,{:-only -:})
dnl    (only have 1 fs possible, ffs)
dnl - OpenBSDDISKInstall(,,{:-or <insert some other filesystem name>-:})
dnl    (have another fs possible for reading during disk install)
dnl
dnl see $1, $2, and $3 below for further usage information.
dnl
define({:-OpenBSDDISKInstall-:},
{:-	To install from a local disk partition:
		When installing from a local disk partition, you will
		first have to identify which disk holds the distribution
		sets.  This is normally $1"sdN", where N is a number
		0 through 9.  Next you will have to identify the partition
		within that disk that holds the distribution; this is a
		single letter between 'a' and 'p'.

		You will also have to identify the type of file system
		residing in the partition identified.  Currently, you can
		$2{:--:}install from partitions that have been formatted as the
		Berkeley fast file system (ffs)$3.

		You will also have to provide the relative path to the
		directory on the file system where the distribution sets
		are located.  Note that this path should not be prefixed
		with a '/'.

		For instructions on how to complete the installation from
		a local disk partition, see the next section.-:})dnl
dnl
dnl For arches where you can install from NFS, $1 should be set to "NFS",
dnl otherwise there should be no parameter.
define({:-OpenBSDCommonFS-:},
{:-	Common file system installations:
		The following instructions are common to installations
		from mounted disk partitions{:--:}ifelse(X$1,XNFS,{:-, NFS mounted directories and
		CD-ROMs-:},{:- and CD-ROMs-:}).

		A list of available distribution sets will be listed.
		You may individually select distribution sets to install
		or enter `all' to install all of the sets (which is what
		most users will want to do).  You may also enter `list'
		to get a file list or `done' when you are done selecting
		distribution sets.  You may also use wildcards in place of
		a file name, e.g. `*.tgz' or even `base*|comp*'.  It is
		also possible to enter an arbitrary filename and have it
		treated as a file set.

		Once you have selected the file sets you want to install
		and entered `done' you will be prompted to verify that
		you really do want to extract file sets.  Assuming you
		acquiesce, the files will begin to extract.  If not, you
		will be given the option of installing sets via one of
		the other install methods.-:})dnl
dnl
define({:-OpenBSDCommonURL-:},
{:-	Common URL installations:
		Once you have entered the required information, the
		install program will fetch a file list and present
		a list of all the distribution sets that were found
		in the specified directory.  (If no valid sets were found,
		you will be notified and given the option of unpacking
		any gzipped tar files found or getting a file list if
		none were found.)

		At this point you may individually select distribution
		sets to install or enter `all' to install all of the
		sets (which is what most users will want to do).  You
		may also enter `list' to get a file list or `done' when
		you are done selecting distribution sets.  You may also
		use wildcards in place of a file name, e.g. `*.tgz' or
		even `base*|comp*'.  It is also possible to enter an
		arbitrary filename and have it treated as a file set.

		Once you have selected the file sets you want to install
		and entered `done' you will be prompted to verify that
		you really do want to download and install the files.
		Assuming you acquiesce, the files will begin to download
		and unpack.  If not, you will be given the option of
		installing sets via one of the other install methods.


	When all the selected distribution sets have been extracted, you
	will be allowed to select which time zone your system will be
	using, all the device nodes needed by the installed system will
	be created for you, and the file systems will be unmounted.  For
	this to work properly, it is expected that you have installed
	at least the "base{:--:}OSrev", "etc{:--:}OSrev", and "bsd" distribution sets.-:})dnl
dnl
define({:-OpenBSDCongratulations-:},
{:-Congratulations, you have successfully installed OpenBSD OSREV.  When you
reboot into OpenBSD, you should log in as "root" at the login prompt.
You should create yourself an account and protect it and the "root"
account with good passwords.

The install program leaves root an initial mail message.  We recommend
you read it, as it contains answers to basic questions you might have
about OpenBSD, such as configuring your system, installing packages,
getting more information about OpenBSD, sending in your dmesg output
and more.  To do this, run

	mail

and then just enter "more 1" to get the first message.  You quit mail by
entering "q".

Some of the files in the OpenBSD OSREV distribution might need to be
tailored for your site.  We recommend you run:

	man afterboot

which will tell you about a bunch of the files needing to be reviewed.
If you are unfamiliar with UN*X-like system administration, it's
recommended that you buy a book that discusses it.-:})dnl
dnl
dnl
dnl ========== Upgrade instructions
dnl (usually used by arch/upgrade)
dnl
dnl OpenBSDUpgrade({:-<list of available boot methods>-:})dnl
dnl Parameter is optional.
define({:-OpenBSDUpgrade-:},
{:-Warning! Upgrades to OpenBSD OSREV are currently only supported from the
immediately previous release.  The upgrade process will also work with older
releases, but might not execute some migration tasks that would be necessary
for a proper upgrade.  The best solution, whenever possible, is to backup
your data and reinstall from scratch.

To upgrade OpenBSD OSREV from a previous version, start with the general
instructions in the section "Installing OpenBSD".

Boot from $1.
When prompted, select the (U)pgrade option rather than the (I)nstall
option at the prompt in the install process.

The upgrade script will ask you for the existing root partition, and
will use the existing filesystems defined in /etc/fstab to install the
new system in.  It will also use your existing network parameters.

From then, the upgrade procedure is very close to the installation
procedure described earlier in this document.  Note that the upgrade
procedure will not let you pick the ``etc{:--:}OSrev.tgz'' set, so as to
preserve your files in `/etc' which you are likely to have customized
since a previous installation.

However, it is strongly advised that you unpack the etc{:--:}OSrev.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.-:})dnl
dnl
dnl
dnl ========== Installation media preparation
dnl (usually used by arch/xfer)
dnl
dnl Generic preparation introduction, after the list of various sources.
dnl Use the short version unless there are too many methods, in this case
dnl the long versions adds a ``don't panic!'' notice.
define({:-OpenBSDXferShortPrelude-:},
{:-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.-:})dnl
define({:-OpenBSDXferPrelude-:},
{:-OpenBSDXferShortPrelude

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.-:})dnl
dnl
dnl Various floppy generation instructions.
dnl
define({:-OpenBSDXferFloppyFromDOS-:},
{:-Creating a bootable floppy disk using DOS/Windows:

	First you need to get access to the OpenBSD bootable floppy
	images.  If you can access the distribution from the CD-ROM under
	DOS, you will find the bootable disks in the OSREV/MACHINE
	directory.  Otherwise, you will have to download them from one of
	the OpenBSD FTP or HTTP mirror sites, using an FTP client or a web
	browser.  In either case, take care to do "binary" transfers, since
	these are images files and any DOS cr/lf translations or control/z
	EOF interpretations will result in corrupted transfers.
	
	You will also need to go to the "tools" directory and grab a
	copy of the rawrite.exe utility and its documentation.  This
	program is needed to correctly copy the bootable filesystem
	image to the floppy, since it's an image of a unix partition
	containing an ffs filesystem, not an MSDOS format diskette.

	Once you have installed rawrite.exe, just run it and specify the
	name of the bootable image, such as "floppy{:--:}OSrev.fs" and the name of
	the floppy drive, such as "a:".  Be sure to use good quality HD
	(1.44MB) floppies, formatted on the system you're using.  The
	image copy and boot process is not especially tolerant of read
	errors.

	Note that if you are using NT, 2000, or XP to write the
	images to disk, you will need to use ntrw.exe instead.  It
	is also available in the "tools" directory.  Grab it and
	run in with the correct arguments like this "ntrw <image>
	<drive>:"

	Note that, when installing, the boot floppy can be write-protected
	(i.e. read-only).-:})dnl
dnl
define({:-OpenBSDXferFloppyFromUNIX-:},
{:-Creating a bootable floppy disk using SunOS, Solaris or other Un*x-like system:

	First, you will need obtain a local copy of the bootable filesystem
	image as described above.  If possible use the md5(1) command to
	verify the checksums of the images vs. the values in the MD5 file
	on the mirror site.

	Next, use the dd(1) utility to copy the file to the floppy drive.
	The command would likely be, under SunOS:
		dd if=floppy{:--:}OSrev.fs of=/dev/rfd0c bs=36b
	and, under Solaris:
		dd if=floppy{:--:}OSrev.fs of=/dev/rdiskette0 bs=36b
	unless the volume management daemon, vold(1M), is running, in
	which case the following command is preferable:
		dd if=floppy{:--:}OSrev.fs of=/vol/dev/rdiskette0 bs=36b

	If you are using another operating system, you may have to adapt
	this to conform to local naming conventions for the floppy and
	options suitable for copying to a "raw" floppy image.  The key
	issue is that the device name used for the floppy *must* be one
	that refers to the correct block device, not a partition or
	compatibility mode, and the copy command needs to be compatible
	with the requirement that writes to a raw device must be in
	multiples of 512-byte blocks.  The variations are endless and
	beyond the scope of this document.

	If you're doing this on the system you intend to boot the floppy on,
	copying the floppy back to a file and doing a compare or checksum
	is a good way to verify that the floppy is readable and free of
	read/write errors.

	Note that, when installing, the boot floppy can be write-protected
	(i.e. read-only).-:})dnl
dnl
dnl Tape preparation instructions.
dnl
dnl OpenBSDXferBareTape describes how to set up a non-bootable distribution
dnl tape, and takes as an optional argument, the list of X11 sets which
dnl may be put on the tape.
define({:-OpenBSDXferBareTape-:},
{:-Creating 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 $1
	do
		dd if=${file}OSrev.tgz of=${TAPE} obs=8k conv=sync
	done
	tar cf ${TAPE} bsd
	mt -f ${TAPE} offline
	# end of script

	And then:

	cd .../OSREV/MACHINE
	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).-:})dnl
dnl OpenBSDXferBootTape describes how to set up a non-bootable distribution
dnl tape, and takes as first argument, the list of X11 sets which may be put
dnl on the tape. Then at least one, and up to three arguments list the first
dnl files to be put on the tape to make it bootable. Each filename can be
dnl followed by dd(1) arguments (such as conv=sync).
define({:-OpenBSDXferBootTape-:},
{:-Creating an (optionally bootable) installation tape:

	To install OpenBSD from a tape, 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
	if test {:-$-:}# -lt 1
	then
		dd of=${TAPE} if=$2
ifelse(X$3,X,,{:-		dd of=${TAPE} if=$3
-:})dnl
ifelse(X$4,X,,{:-		dd of=${TAPE} if=$4
-:})dnl
	fi
	for file in base etc comp game man misc $1
	do
		dd if=${file}OSrev.tgz of=${TAPE} obs=8k conv=sync
	done
	tar cf ${TAPE} bsd
	mt -f ${TAPE} offline
	# end of script

	And then:

	cd .../OSREV/MACHINE
	sh -x /tmp/maketape

        Note that, by default, this script creates a bootable tape.  If
	you only want to fetch the OpenBSD files from tape, but want to
	boot from another device, you can save time and space creating
	the tape this way:

        cd .../OSREV/MACHINE
        sh -x /tmp/maketape noboot

	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).-:})dnl
dnl OpenBSDXferNFS [(noupgrade)]
define({:-OpenBSDXferNFS-:},
{:-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 ifelse(X$1,X,{:-or upgrade -:})process.ifelse(X$1,X,,{:-  If you're
	installing OpenBSD from scratch, go to the section on
	preparing your hard disk, below.  If you're upgrading an
	existing installation, go directly to the section on
	upgrading.-:})-:})dnl
dnl
define({:-OpenBSDXferFFS-:},
{:-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 "base{:--:}OSrev" set somewhere in your file system.  It
	is recommended that you upgrade the other sets, as well.-:})dnl
dnl
define({:-OpenBSDInstNFS-:},
{:-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.-:})dnl