INSTALL.
ext,
where
ext
is one of
.ps
, .html
, .more
,
or
.txt
.
.ps
.html
.more
more(1)
and
less(1)
pager utility programs. This is the format in which the on-line
man
pages are generally presented.
.txt
You are reading the HTML version.
NetBSD is a completely integrated system. In addition to its highly portable, high performance kernel, NetBSD features a complete set of user utilities, compilers for several languages, The X Window System, and numerous other tools, all accompanied by full source code.
NetBSD is a creation of the members of the Internet community. Without the unique cooperation and coordination the net makes possible, it's likely that NetBSD wouldn't exist.
NetBSD 1.4.2 is an upgrade of NetBSD 1.4.1, NetBSD 1.4 and earlier releases of NetBSD such as versions 1.3.3, 1.2 etc.
The intermediate development versions of code available on the main trunk in our CVS repository (also known as ``NetBSD-current'') from after the point where the release cycle for 1.4 was started are designated by version identifiers such as 1.4A, 1.4B, 1.4P etc. These identifiers do not designate releases, but indicate major changes in internal kernel APIs. Note that the kernel from NetBSD 1.4.2 can not be used to upgrade a system running one of those intermediate development versions. Trying to use the NetBSD1.4.2 kernel on such a system will in all probability result in problems.
Please also note that it is not possible to do a direct ``version'' comparison between any of the intermediate development versions mentioned above and 1.4.2 to determine if a given feature is present or absent in 1.4.2. The development of 1.4, 1.4.1 and 1.4.2 is done on a separate branch in the CVS repository which was created when the release cylcle for 1.4 was started, and during the release cycles for all these versions selective fixes (with minor impact on the stability of the code on the release branch) have been imported from the main development trunk. So, there are features in 1.4.2 which were not in e.g. 1.4H, but the reverse is also true.
ti(4)
.
rl(4)
.
dpt(4)
.
ioat(4)
.
mktemp(1)
.
amd(8)
has been updated to fix a security problem.
In addition, many, many bugs have been fixed -- more than 100 problems reported through our problem tracking system have been fixed, and many other non-reported problems have also been found and fixed. See the CHANGES-1.4.2 file for the complete list.
ipf(8)
caused a change of the kernel API. Thus, if you are using
ipf(8)
you need to upgrade both the kernel and the user-land utilities to
control that feature in order for it to work.
It is impossible to completely summarize the nearly two years of development that went into the NetBSD1.4 release. Some highlights include:
ftp(1)
client has been improved even further. See the man page for details.
wscons(4)
,
has been integrated into many ports.
usb(4)
for an overview.
nsswitch.conf(5)
functionality to the system to specify the search order for system databases.
syslogd(8)
now supports listening on multiple sockets, to make the
chrooting of servers easier.
As has been noted, there have also been innumerable bug fixes.
Kernel interfaces have continued to be refined, and more subsystems and device drivers are shared among the different ports. You can look for this trend to continue.
NetBSD1.4.2 is the fourth release for the sparc. Many more sparc models and devices are now supported.
The NetBSD Foundation will help improve the quality of NetBSD by:
We intend to begin narrowing the time delay between releases. Our ambition is to provide a full release every six to eight months.
We hope to support even more hardware in the future, and we have a rather large number of other ideas about what can be done to improve NetBSD.
We intend to continue our current practice of making the NetBSD-current development source available on a daily basis. In addition, Anonymous CVS access to the NetBSD source tree has been added since NetBSD 1.4.1; see http://www.netbsd.org/Changes/#anoncvs-available We have also added a browsable CVS repository on the web at http://cvsweb.netbsd.org/cgi-bin/cvsweb.cgi/
We intend to integrate free, positive changes from whatever sources submit them, providing that they are well thought-out and increase the usability of the system.
Above all, we hope to create a stable and accessible system, and to be
responsive to the needs and desires of
NetBSD
users, because it is for
and because of them that
NetBSD
exists.
.../NetBSD-1.4.2/
BUGS
CHANGES
LAST_MINUTE
MIRRORS
README.files
TODO
patches/
source/
In addition to the files and directories listed above, there is one directory per architecture, for each of the architectures for which NetBSD1.4.2 has a binary distribution. There are also 'README.export-control' files sprinkled liberally throughout the distribution tree, which point out that there are some portions of the distribution (i.e. the `domestic' portion) that may be subject to export regulations of the United States. It is your responsibility to determine whether or not it is legal for you to export these portions and to act accordingly. The NetBSD project maintains a web page at
http://www.NetBSD.ORG/Misc/crypto-export.html
which should contain up-to-date information on this issue.
The source distribution sets can be found in subdirectories of the "source" subdirectory of the distribution tree. They contain the complete sources to the system. The source distribution sets are as follows:
Most of the above source sets are located in the
source/sets
subdirectory of the distribution tree. The secrsrc.tgz set is
contained in the
source/security
subdirectory. This set, which may only be
available to users in the United States and Canada, contains the
sources normally found in
/usr/src/domestic
- primarily Kerberos and
other cryptographic security related software. (Remember, because of
United States law, it may not be legal to distribute this set to
locations outside of the United States and Canada. Again, see
http://www.NetBSD.ORG/Misc/crypto-export.html
for updated information on this issue.)
The source sets are distributed as compressed tar files. They may be
unpacked into
/usr/src
with the command:
cat set_name.tgz | gunzip | (cd /; tar xpf - )
The sets/Split/
and security/Split/
subdirectories contain split
versions of the source sets for those users who need to load the
source sets from floppy or otherwise need a split distribution. The
split sets are are named "set_name.xx" where "set_name" is the
distribution set name, and "xx" is the sequence number of the file,
starting with "aa" for the first file in the distribution set, then
"ab" for the next, and so on. All of these files except the last one
of each set should be exactly 240,640 bytes long. (The last file is
just long enough to contain the remainder of the data for that
distribution set.)
The split distributions may be reassembled and extracted with
cat as follows:
cat set_name.?? | gunzip | (cd /; tar xpf - )
In each of the source distribution set directories, there is a file
named
CKSUMS
which contains the checksums of the files in that
directory, as generated by the
cksum(1)
utility. You can use cksum to
check the integrity of the archives, if you suspect that one of the
files is corrupt and have access to a cksum binary. Checksums based on
other algorithms may also be present - see the
release(7)
man page for details.
sparc
subdirectory of the distribution:
.../NetBSD-1.4.2/sparc/
INSTALL.html
INSTALL.ps
INSTALL.txt
INSTALL.more
.more
file contains underlined text using the
more(1)
conventions for indicating italic and bold display.
binary/
sets/
kernel/
security/
installation/
miniroot/
netboot/
misc/
sparc/binary/sets
subdirectory
of the
NetBSD1.4.2
distribution tree, and are as follows:
/usr/include
)
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.
/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.)
/netbsd
.
You must
install this distribution set.
/usr/share
.
groff(1)
,
all related programs, and their manual pages.
The sparc security distribution set is named
secr and can be found in the
sparc/binary/security
subdirectory of the
NetBSD1.4.2
distribution tree. It contains security-related binaries
which depend on cryptographic source code. You do not need this
distribution set to use encrypted passwords in your password file; the
base
distribution includes a crypt library which can perform
only the one-way encryption function. The security distribution
includes a version of the Kerberos IV network security system, and
a Kerberized version of
telnet(1)
program. The secr
distribution set can be found only on those sites which carry the complete
NetBSD
distribution and which can legally obtain it. Because
of United States law, it may not be legal to distribute this set
to locations outside of the United States and Canada. See
http://www.NetBSD.ORG/Misc/crypto-export.html
for updated information on this issue.
NetBSD maintains its own set of sources for the X Window System in order to assure tight integration and compatibility. These sources are based on XFree86, and tightly track XFree86 releases. They are currently equivalent to XFree86 3.3.6. Binary sets for the X Window system are distributed with NetBSD. The sets are:
The sparc binary distribution sets are distributed as gzipped tar files
named with the extension
.tgz, e.g.
base.tgz
.
The instructions given for extracting the source sets work equally well for the binary sets, but it is worth noting that if you use that method, the files are /-relative and therefore are extracted below the current directory. That is, if you want to extract the binaries into your system, i.e. replace the system binaries with them, you have to run the tar xfp command from /.
tar
program so statically-linked SunOS versions of gzip (GNU gzip) and
gtar (GNU tar) are provided in
sparc/installation/misc
.
All BSDSUM
files are historic
BSD checksums for the various files
in that directory, in the format produced by the command:
cksum -o 1 file
All CKSUM files are
POSIX
checksums for the various files in that
directory, in the format produced by the command:
cksum file.
All MD5 files are
MD5
digests for the various files in that
directory, in the format produced by the command:
cksum -m file.
All SYSVSUM
files are historic AT&T System V
UNIX
checksums for the various files in that directory, in the format produced by
the command:
cksum -o -2 file.
The MD5 digest is the safest checksum, followed by the POSIX
checksum. The other two checksums are provided only to ensure
that the widest possible range of system can check the integrity
of the release files.
NetBSD/sparc 1.4.2 runs on the following classes of machines:
NetBSD/sparc 1.4.2 does not run on these machines (yet):
The minimal configuration requires 4M of RAM and ~60M of disk space. To install the entire system requires much more disk space, and to run X or compile the system, more RAM is recommended. (NetBSD with 4M of RAM feels like Solaris with 4M of RAM.) Note that until you have around 16M of RAM, getting more RAM is more important than getting a faster CPU.)
Supported devices include:
Hardware the we do NOT currently support, but get many questions about:
Installation is supported from several media types, including:
Note that, if you are installing or upgrading from a writable media, the media can be write-protected if you wish. These systems mount a root image from inside the kernel, and will not need to write to the media.
The distribution sets for installation or upgrade depend on which installation medium you choose. The steps for the various media are outlined below.
Find out where the distribution set files are on the CDROM.
Proceed to the instruction on installation.
Count the number of "set_name.xx" files that make up the distribution sets you want to install or upgrade. You will need that number of 1.44M floppies.
Format all of the floppies with DOS. DO NOT make any of them bootable DOS floppies. (If the floppies are bootable, then the DOS system files that make them bootable will take up some space, and you won't be able to fit the distribution set parts on the disks.) If you're using floppies that are formatted for DOS by their manufacturers, they probably aren't bootable, and you can use them out of the box.
Place all of the "set_name.xx" files on the DOS disks.
Once you have the files on DOS disks, you can proceed to the next step in the installation or upgrade process. If you're installing NetBSD 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.
To install NetBSD from a tape, you need to make a tape that
contains the distribution set files, in "tar" format. If
you're making the tape on a UN*X-like system, the easiest way
to do so is probably something like:
tar
cf
tape_device dist_directories
where tape_device
is the name of the tape device that
describes the tape drive you're using (possibly
/dev/rst0
,
or something similar, but it will vary from system to system.
(If you can't figure it out, ask your system administrator.)
In the above example,
dist_directories
are the
distribution sets' directories, for the distribution sets you
wish to place on the tape. For instance, to put the
misc, base, and etc
distributions on tape (in
order to do the absolute minimum installation to a new disk),
you would do the following:
cd .../NetBSD-1.4.2 # the top of the tree
cd sparc/binary
And then:
tar cf tape_device misc etc kern
Once you have the files on the tape, you can proceed to the next step in the installation or upgrade process. If you're installing NetBSD 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.
Place the NetBSD 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 NetBSD. This will probably require modifying the /etc/exports file on 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 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 NetBSD, you need to know the numeric IP address of the router closest to the NetBSD machine. Finally, you need to know the numeric IP address of the NetBSD 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're installing NetBSD 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.
The preparations for this installation/upgrade method are easy; all you make sure that there's some FTP site from which you can retrieve the NetBSD distribution when you're about to install or upgrade. You need to know the numeric IP address of that site, and, if it's not on a network directly connected to the machine on which you're installing or upgrading NetBSD, you need to know the numeric IP address of the router closest to the NetBSD machine. Finally, you need to know the numeric IP address of the NetBSD machine itself.
Once you have this information, you can proceed to the next step in the installation or upgrade process. If you're installing NetBSD 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.
Place the distribution sets you wish to upgrade somewhere in your current file system tree. Please note that the /dev on the floppy used for upgrades only knows about wd0, wd1, sd0, sd1 and sd2. If you have more than two IDE drives or more than three SCSI drives, you should take care not to place the sets on the high numbered drives.
At a bare minimum, you must upgrade the "base" binary distribution, and so must put the "base" set somewhere in your file system. If you wish, you can do the other sets, as well, but you should NOT upgrade the "etc" distribution; the "etc" distribution contains system configuration files that you should review and update by hand.
Once you have done this, you can proceed to the next step in the upgrade process, actually upgrading your system.
Before you start you might need to consider your disk configuration to sort out a quirk in SCSI-ID to SD-UNIT mapping that exists on Sun Sparcstations.
Upon leaving the factory, SunOS and the OpenBOOT ROM map according to this table:
SCSI-ID SunOS SD-Unit
| 0 | sd3
| 1 | sd1
| 2 | sd2
| 3 | sd0
| 4 | sd4
| 5 | sd5
| 6 | sd6
| |
Unlike SunOS and the OpenBOOT ROM, a generic NetBSD kernel numbers scsi drives sequentially as it finds them. The drive with the lowest scsi-id will be called sd0, the next one sd1, etc.
To ease the installation process, the default NetBSD kernel in the distribution is setup to match the Sun mapping above by hard-wiring scsi-id#3 to sd0 and scsi-id#0 to sd3. The remaining drives will be dynamically mapped to other sd* numbers.
A truely generic NetBSD kernel is also provided as `/netbsd.GENERIC', which will do the standard NetBSD probe ordering. If your configuration differs from the default Sun setup, you can try to use this kernel to complete the installation.
Your OpenBOOT ROM may need some setup. make sure you boot from `new
command mode'. If your machine comes up and gives you a `>' prompt
instead of `ok', type:
>
n
ok
setenv sunmon-compat? false
ok
This is needed because the NetBSD kernel relies on functionality provided
by OpenBOOT ROMs -- the ability to pass down Forth commands and have them
executed in the ROM -- that appears to go away when the OpenBOOT ROM
operates in `old monitor compatibility' mode.
Also, you cannot use the security modes of the sparc OpenBOOT ROM.
ok
setenv security-mode none
If you're installing NetBSD/sparc for the first time it's a good idea to look at the partition sizes of disk you intend installing NetBSD on.
Asumming a classic partition scheme with root (`/') and /usr filesystems, a comfortable size for the NetBSD root filesystem partition is about 20MB; a good initial size for the swap partition is twice the amount of physical memory in your machine (though, unlike SunOS 4.x, there are no restrictions on the size of the swap partition that would render part of your memory unusable). A full binary installation takes about 60MB in `/usr'.
Some network devices (i.e. the built-in `le' interface on sun4m machines) allow a choice between operating on a UTP or a AUI port. The `le' driver supports automatic detection of the port which is actually connected to the wire.
If automatic detection is not available or not working properly in your
environment, you may have to specify the type connection using the
`media' parameter of ifconfig(8). During installation, you'll get the
opportunity to specify the appropriate medium. Use ``10base5/AUI''
to select the AUI connector, or ``10baseT/UTP'' to select the UTP connector.
Installing NetBSD 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 NetBSD onto a disk. The easiest way in terms of preliminary setup is to use the NetBSD miniroot that can be booted off your local disk's swap partition. Alternatively, if your Sparcstation is hooked up in a network you can find a server and arrange for a diskless setup which is a convenient way to install on a machine whose disk does not currently hold a usable operating system (see the section `Installing NetBSD by using a diskless setup' below). There is also a bootable 1.4MB floppy available that contains a slightly less featureful miniroot environment.
Loading the miniroot onto your raw partition is simple. On NetBSD as well
as SunOS you use a command like:
#
dd if=miniroot-1.4.2.fs of=/dev/rsd0b bs=4k conv=sync
(Here, `/dev/rsd0b' is assumed to be your swap partition.) There's a
potential problem here if /dev/rsd0b is actually in use as a swap
partition by your currently running system. If you don't have another
disk or partition to spare, you can usually get away with running this
command anyway after first booting into single-user mode to ensure a
quiet system.
After transferring the miniroot to disk, bring the system down by:
#
halt
Then boot the miniroot by typing the appropriate command at the PROM:
>
b sd(,,1)netbsd -s # for sun4 monitors
ok
boot sd(,,1)netbsd -s # for version 1 OpenBOOT ROMs
ok
boot disk:b netbsd -s # for version 2 OpenBOOT ROMs
If you've loaded the miniroot onto some other disk than `sd0' adapt
the boot specifier accordingly, e.g.:
ok
boot disk1:b netbsd -s
to boot from SCSI disk target 1 from a version 2 OpenBOOT ROM.
If you have to use the old-style
sd(c,u,p)
syntax to boot from a
SCSI disk, you can calculate the parameters as follows:
The monitor boot command will cause the NetBSD kernel contained in the miniroot image to be booted. After the initial probe messages you'll be asked to start the install or upgrade procedure. Proceed to the section Running the installation scripts below.
ok
boot fd(,,1) # for version 1 OpenBOOT ROMs
ok
boot /fd # either of these for version
ok
boot floppy # 2 OpenBOOT ROMs
After the initial probe messages you'll be asked to start the install or upgrade procedure. Proceed to the section Running the installation scripts below.
diskless(8)
manual page for guidelines on how to proceed with this.
If the server runs another operating system, you'll have to consult
documentation that came with it. (On SunOS systems, add_client(8) is a
good start.)
Your Sparcstation 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 followed by the machine's architecture, separated
by a period. For example, a sun4c machine which has been assigned IP
address 130.115.144.11, will make an TFTP request for `8273900B.SUN4C'.
Normally, this file is a symbolic link to an appropriate second-stage
boot program, which should be located in a place where the TFTP daemon
can find it (remember, many TFTP daemons run in a chroot'ed environment).
You can find the boot program in
/usr/mdec/boot.net
in the NetBSD/sparc distribution.
/usr/mdec/boot.net
and
/usr/mdec/boot
is in the a.out header, which has been magically
transformed in a way that makes it usable on all versions of Sparc PROMs.
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 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.
As noted above in the section
Preparing
your
System
for
NetBSD
Installation
you have several options when choosing a location to store the installation
filesets. However, the easiest way is to put the
*.tar.gz
files you want
to install into the root directory for your client on the server.
Next, unpack `base.tar.gz' and `etc.tar.gz' on the server in the root
directory for your machine. If you elect to use a separately NFS-mounted
filesystem for `/usr' with your diskless setup, make sure the "./usr" base
files in base.tar.gz end up in the correct location. One way to do this is
to temporarily use a loopback mount on the server, re-routing
root/usr
to your server's exported NetBSD
/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
/etc/myname
/etc/fstab
server:/export/root/client
/
nfs
rw
0
0
server:/export/exec/sun4.netbsd
/usr
nfs
rw
0
0
Now you must populate the the `/dev' directory for your client. If yoarserver
runs SunOS 4.x, you can simply change your working directory to
root/dev
and run the MAKEDEV script:
sh MAKEDEV all.
On SunOS 5.x systems, MAKEDEV can also be used, but there'll be error messages about unknown user and groups. These errors are inconsequential for the purpose of installing NetBSD. 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 NetBSD machine once it has booted.
Boot your workstation from the server by entering the appropriate `boot'
command at the monitor prompt. Depending on the PROM version in your machine,
this command takes one of the following forms:
> b le()netbsd -s # for sun4 monitors
ok boot le()netbsd -s # for version 1 OpenBOOT ROMs
ok boot net netbsd -s # for version 2 OpenBOOT ROMs
This will boot the NetBSD kernel in single-user mode.
>n # enter native OpenBOOT mode
ok setenv sunmon-compat? false # make it permanent
ok
If you use a diskless setup with a separately NFS-mounted /usr filesystem,
mount
/usr
by hand now:
netbsd#
mount /usr
NOTE:
For floppy installs, the text editor provided is ed.
For miniroot installs, the text editor is vi.
When using
disklabel(8)
to edit disklabels the -e switch will invoke the editor on the
label. The -i switch will run an interactive session.
At this point, it's worth checking the disk label and partition sizes on the disk you want to install NetBSD onto. NetBSD understands SunOS-style disklabels, so if your disk was previously used by SunOS there will be a usable label on it. Use `disklabel -e <disk>' or `disklabel -i <disk>' (where <disk> is the device name assigned by the NetBSD kernel, e.g. `sd0') to view and modify the partition sizes. See the section Preparing your System for NetBSD Installation above for suggestions about disk partition sizes.
If you are installing on a SCSI disk that does not have a SunOS or NetBSD label on it, you may still be able to use disklabel(8) but you'll have to create all partitions from scratch. If your disk is listed in `/etc/disktab', you may use the entry (which in most cases only defines a `c' partition to describe the whole disk) to put an initial label on the disk. Then proceed with `disklabel -e <disk>' or `disklabel -i <disk>' to create a partition layout that suits your needs.
Here follows an example of what you'll see while in the dislabel editor. Do not touch any of the parameters except for the `label: ' entry and the actual partition size information at the bottom (the lines starting with `a:', `b:', ...).
The size and offset fields are given in sector units. Be sure to make these numbers multiples of the of the number of sectors per cylinder: the kernel might be picky about these things, but aside from this you'll have the least chance of wasting disk space. Partitions on which you intend to have a mountable filesystem, should be given fstype `4.2BSD'. Remember, the `c' partition should describe the whole disk. The `(Cyl. x - y)' info that appears after the hash (`#') character is treated as a comment and need not be filled in when altering partitions.
netbsd# disklabel sd2
# /dev/rsd2c:
type: SCSI
disk: SCSI disk
label: Hold Your Breath
flags:
bytes/sector: 512
sectors/track: 64
tracks/cylinder: 7
sectors/cylinder: 448
cylinders: 1429
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsz bsz cpg]
a: 50176 0 4.2BSD 0 0 0 # (Cyl. 0 - 111)
b: 64512 50176 swap # (Cyl. 112 - 255)
c: 640192 0 unknown # (Cyl. 0 - 1428)
d: 525504 114688 4.2BSD 0 0 0 # (Cyl. 256 - 1428)
If you are upgrading a NetBSD installation, start the upgrade script:
netbsd#
sh upgrade.sh
else, start the installation script:
netbsd#
sh install.sh
Occasionally, you will 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. If your system has more than one disk, you may want to look at the output of the dmesg(8) command to see how your disks have been identified by the kernel.
The installation script goes through the following phases:
Now try a reboot. Initially I'd suggest you "boot sd()netbsd -bs", then
try multiuser after that. If you boot single-user the NetBSD incantation
to make the root filesystem writable is
netbsd#
mount -u /dev/sd0a /
The Sun monitor might have been setup to instruct the boot program to load
a file called "vmunix". On OpenBOOT ROM systems you can change it to load
"netbsd" instead using the following commands:
On version 1 OpenBOOT ROMs:
>n
ok
setenv boot-from sd(0,0,0)netbsd
ok
On version 2 OpenBOOT ROMs:
ok
setenv boot-file netbsd
ok
setenv boot-device /sbus/esp/sd@0,0
Congratulations,
you have successfully installed NetBSD 1.4.2.
Once you've got the operating system running, there are a few things you need to do in order to bring the system into a propperly configured state, with the most important ones described below.
/etc/rc.conf
If you haven't done any configuration of
/etc/rc.conf
,
the system will drop you into single user mode on first reboot with the
message
/etc/rc.conf
is
not
configured.
Multiuser
boot
aborted.
and with the root filesystem mounted read-write. When the system
asks you to choose a shell, simply hit return to get to a
prompt. If you are asked for a terminal type, respond with
vt220
(or whatever is appropriate for your terminal type)
and hit return. At this point, you need to configure at least
one file in the
/etc
directory. Change to the
/etc
directory and take a look at the
/etc/rc.conf
file. Modify it to your tastes, making sure that you set
rc_configured=YES
so that your changes will be enabled and a multi-user boot can
proceed. If your
/usr
directory is on a separate partition
and you do not know how to use 'ed' or 'ex', you will have to mount your
/usr
partition to gain access to 'vi'. Do the following:
mount /usr
export TERM=vt220
If you have
/var
on a seperate partition, you need to repeat
that step for it. After that, you can edit
/etc/rc.conf
with
vi(1)
.
When you have finished, type
exit
at the prompt to
leave the single-user shell and continue with the multi-user boot.
Other values that need to be set in
/etc/rc.conf
for a networked environment are
hostname and possibly
defaultroute,
furthermore add an
ifconfig_int
for your interface
<int>,
along the lines of
ifconfig_de0="inet
123.45.67.89
netmask
255.255.255.0"
or, if you have
myname.my.dom in /etc/hosts
:
ifconfig_de0="inet
myname.my.dom
netmask
255.255.255.0"
To enable proper hostname resolution, you will also want to add an
/etc/resolv.conf
file or (if you are feeling a little more adventurous) run
named(8)
.
See
resolv.conf(5)
or
named(8)
for more information.
Other files in
/etc
that are new to NetBSD 1.4 and may require modification or
setting up include
/etc/mailer.conf
,
/etc/nsswitch.conf
and
/etc/wscons.conf
.
After reboot, you can 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 an account for yourself
(see below) and protect it and the "root" account with good
passwords.
Use the
vipw(8)
command to add accounts to your system,
do not edit /etc/passwd
directly. See
adduser(8)
for more information on the process of how to add a new user to the system.
If you have installed the X window system, look at the files in
/usr/X11R6/lib/X11/doc
for information.
Don't forget to add
/usr/X11R6/bin
to your path in your shell's dot file so that you have access to the X binaries.
There is a lot of software freely available for Unix-based systems, almost all of which can run on NetBSD. Modifications are usually needed to when transferring programs between different Unix-like systems, so the NetBSD packages collection incorporates any such changes necessary to make that software run on NetBSD, and makes the installation (and deinstallation) of the software packages easy. There's also the option of building a package from source, in case there's no precompiled binary available.
Precompiled binaries can be found at
ftp://ftp.netbsd.org/pub/NetBSD/packages/
Package sources for compiling packages can be obtained by
retrieving the file
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz
and extracting it into
/usr/pkgsrc
.
See
/usr/pkgsrc/README
then for more information.
/etc/localtime
symlink to the appropriate file under
/usr/share/zoneinfo
.
/etc/aliases
to forward root mail to the right place (run
newaliases(1)
afterwards.)
/etc/sendmail.cf
file will almost definitely need to be adjusted;
files aiding in this can be found in
/usr/share/sendmail
.
See the
README
file there for more information.
/etc/rc.local
to run any local daemons you use.
/etc
files are documented in section 5 of the manual; so just invoking
To upgrade to NetBSD _VER from a previous version follow the instructions
in the section
Installing NetBSD,
but run the script
upgrade.sh
instead of
install.sh
.
The upgrade script will use the existing disk partitions to install the
new system in, and also preserves the files in
/etc
.
/usr/include/machine
Documentation is available if you first install the manual
distribution set. Traditionally, the
``man pages''
(documentation) are denoted by
``name(section)
''.
Some examples of this are
intro(1)
,
man(1)
,
apropros(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
lowest 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)
m
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.
There are various mailing lists set up to deal with comments and questions about this release. Please send comments to: netbsd-comments@NetBSD.ORG.
To report bugs, use the
send-pr(1)
command shipped with
NetBSD,
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:
netbsd-bugs@NetBSD.ORG.
Use of
send-pr(1)
is encouraged, however, because bugs reported with it
are entered into the
NetBSD
bugs database, and thus can't slip through
the cracks.
There are also port-specific mailing lists, to discuss aspects of each port of NetBSD. Use majordomo to find their addresses. If you're interested in doing a serious amount of work on a specific port, you probably should contact the "owner" of that port (listed below).
If you'd like to help with this effort, and have an idea as to how you could be useful, send us mail or subscribe to: netbsd-help@NetBSD.ORG.
As a favor, please avoid mailing huge documents or files to these 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.
Keith Bostic Ralph Campbell Mike Karels Marshall Kirk McKusick
for their ongoing work on BSD systems, support, and encouragement.
Mike Hibler Rick Macklem Jan-Simon Pendry Chris Torek
for answering lots of questions, fixing bugs, and doing the various work they've done.
Steve Allen Jason Birnschein Mason Loring Bliss Jason Brazile Mark Brinicombe David Brownlee Simon Burge Dave Burgess Ralph Campbell Brian Carlstrom James Chacon Bill Coldwell Charles Conn Tom Coulter Charles D. Cranor Christopher G. Demetriou Scott Ellis Hubert Feyrer Castor Fu Greg Gingerich William Gnadt Michael Graff Guenther Grau Ross Harvey Charles M. Hannum Michael L. Hitch Kenneth Alan Hornstein Jordan K. Hubbard Soren Jorvang Scott Kaplan Noah M. Keiserman John Kohl Chris Legrow Ted Lemon Neil J. McRae Perry E. Metzger Herb Peyerl Mike Price Dave Rand Michael Richardson Heiko W. Rupp Brad Salai Chuck Silvers Thor Lancelot Simon Bill Sommerfeld Paul Southworth Ted Spradley Kimmo Suominen Jason R. Thorpe Steve Wadlow Krister Walfridsson Jim Wise Christos Zoulas
AboveNet Communications, Inc. Advanced System Products, Inc. Avalon Computer Systems Bay Area Internet Solutions Brains Corporation, Japan Canada Connect Corporation Co-operative Research Centre for Enterprise Distributed Systems Technology Demon Internet, UK Digital Equipment Corporation Easynet, UK Free Hardware Foundation Innovation Development Enterprises of America Internet Software Consortium MS Macro System GmbH, Germany Numerical Aerospace Simulation Facility, NASA Ames Research Center Piermont Information Systems Inc. VMC Harald Frank, Germany Warped Communications, Inc.
(in alphabetical order)
The NetBSD core group: | ||||||||
Alistair Crooks | agc@NetBSD.ORG | |||||||
Jun-ichiro itojun Hagino | itojun@NetBSD.ORG | |||||||
Frank van der Linden | fvdl@NetBSD.ORG | |||||||
Luke Mewburn | lukem@NetBSD.ORG | |||||||
Christos Zoulas | christos@NetBSD.ORG | |||||||
| ||||||||
The portmasters (and their ports): | ||||||||
Mark Brinicombe | mark@NetBSD.ORG | arm32 | ||||||
Jeremy Cooper | jeremy@NetBSD.ORG | sun3x | ||||||
Ross Harvey | ross@NetBSD.ORG | alpha | ||||||
Ignatios Souvatzis | is@NetBSD.ORG | amiga | ||||||
Jun-ichiro itojun Hagino | itojun@NetBSD.ORG | sh3 | ||||||
Eduardo Horvath | eeh@NetBSD.ORG | sparc64 | ||||||
Paul Kranenburg | pk@NetBSD.ORG | sparc | ||||||
Anders Magnusson | ragge@NetBSD.ORG | vax | ||||||
Tsubai Masanari | tsubai@NetBSD.ORG | macppc | ||||||
Tsubai Masanari | tsubai@NetBSD.ORG | newsmips | ||||||
Minoura Makoto | minoura@NetBSD.ORG | x68k | ||||||
Phil Nelson | phil@NetBSD.ORG | pc532 | ||||||
Scott Reynolds | scottr@NetBSD.ORG | mac68k | ||||||
Darrin Jewell | dbj@NetBSD.ORG | next68k | ||||||
Kazuki Sakamoto | sakamoto@NetBSD.ORG | bebox | ||||||
Wolfgang Solfrank | ws@NetBSD.ORG | ofppc | ||||||
Jonathan Stone | jonathan@NetBSD.ORG | pmax | ||||||
Shin Takemura | takemura@NetBSD.ORG | hpcmips | ||||||
Jason Thorpe | thorpej@NetBSD.ORG | hp300 | ||||||
Frank van der Linden | fvdl@NetBSD.ORG | i386 | ||||||
Leo Weppelman | leo@NetBSD.ORG | atari | ||||||
Nathan Williams | nathanw@NetBSD.ORG | sun3 | ||||||
Steve Woodford | scw@NetBSD.ORG | mvme68k | ||||||
| ||||||||
The NetBSD 1.4.2 Release Engineering team: | ||||||||
Chris G. Demetriou | cgd@NetBSD.ORG | |||||||
Havard Eidnes | he@NetBSD.ORG | |||||||
Ted Lemon | mellon@NetBSD.ORG | |||||||
Perry Metzger | perry@NetBSD.ORG | |||||||
Curt Sampson | cjs@NetBSD.ORG | |||||||
| ||||||||
Developers and other contributors: | ||||||||
Steve Allen | wormey@NetBSD.ORG | |||||||
Julian Assange | proff@NetBSD.ORG | |||||||
Lennart Augustsson | augustss@NetBSD.ORG | |||||||
Christoph Badura | bad@NetBSD.ORG | |||||||
Robert V. Baron | rvb@NetBSD.ORG | |||||||
Erik Berls | cyber@NetBSD.ORG | |||||||
John Birrell | jb@NetBSD.ORG | |||||||
Mason Loring Bliss | mason@NetBSD.ORG | |||||||
Manuel Bouyer | bouyer@NetBSD.ORG | |||||||
John Brezak | brezak@NetBSD.ORG | |||||||
Allen Briggs | briggs@NetBSD.ORG | |||||||
Aaron Brown | abrown@NetBSD.ORG | |||||||
David Brownlee | abs@NetBSD.ORG | |||||||
Frederick Bruckman | fredb@NetBSD.ORG | |||||||
Jon Buller | jonb@NetBSD.ORG | |||||||
Simon Burge | simonb@NetBSD.ORG | |||||||
Dave Burgess | burgess@cynjut.infonet.net | |||||||
Robert Byrnes | byrnes@NetBSD.org | |||||||
D'Arcy J.M. Cain | darcy@NetBSD.ORG | |||||||
Dave Carrel | carrel@NetBSD.ORG | |||||||
Bill Coldwell | billc@NetBSD.ORG | |||||||
Julian Coleman | jdc@NetBSD.ORG | |||||||
Chuck Cranor | chuck@NetBSD.ORG | |||||||
Aidan Cully | aidan@NetBSD.ORG | |||||||
Johan Danielsson | joda@NetBSD.ORG | |||||||
Matt DeBergalis | deberg@NetBSD.ORG | |||||||
Rob Deker | deker@NetBSD.ORG | |||||||
Chris G. Demetriou | cgd@NetBSD.ORG | |||||||
Jaromir Dolecek | jdolecek@NetBSD.ORG | |||||||
Andy Doran | ad@NetBSD.ORG | |||||||
Roland Dowdeswell | elric@NetBSD.ORG | |||||||
Matthias Drochner | drochner@NetBSD.ORG | |||||||
Jun Ebihara | jun@NetBSD.ORG | |||||||
Havard Eidnes | he@NetBSD.ORG | |||||||
Enami Tsugutomo | enami@NetBSD.ORG | |||||||
Bernd Ernesti | veego@NetBSD.ORG | |||||||
Erik Fair | fair@NetBSD.ORG | |||||||
Hubert Feyrer | hubertf@NetBSD.ORG | |||||||
Thorsten Frueauf | frueauf@NetBSD.ORG | |||||||
Castor Fu | castor@NetBSD.ORG | |||||||
Brian R. Gaeke | brg@dgate.org | |||||||
Thomas Gerner | thomas@NetBSD.ORG | |||||||
Simon J. Gerraty | sjg@NetBSD.ORG | |||||||
Justin Gibbs | gibbs@NetBSD.ORG | |||||||
Adam Glass | glass@NetBSD.ORG | |||||||
Michael Graff | explorer@NetBSD.ORG | |||||||
Brian C. Grayson | bgrayson@NetBSD.ORG | |||||||
Brad Grantham | grantham@tenon.com | |||||||
Matthew Green | mrg@NetBSD.ORG | |||||||
Juergen Hannken-Illjes | hannken@NetBSD.ORG | |||||||
Charles M. Hannum | mycroft@NetBSD.ORG | |||||||
Eric Haszlakiewicz | erh@NetBSD.ORG | |||||||
HAYAKAWA Koichi | haya@NetBSD.ORG | |||||||
Rene Hexel | rh@NetBSD.ORG | |||||||
Michael L. Hitch | mhitch@NetBSD.ORG | |||||||
Christian E. Hopps | chopps@NetBSD.ORG | |||||||
Ken Hornstein | kenh@NetBSD.ORG | |||||||
Marc Horowitz | marc@NetBSD.ORG | |||||||
Dean Huxley | dean@netbsd.org | |||||||
ITOH Yasufumi | itohy@NetBSD.ORG | |||||||
Matthew Jacob | mjacob@NetBSD.ORG | |||||||
Lonhyn T. Jasinskyj | lonhyn@NetBSD.ORG | |||||||
Chris Jones | cjones@NetBSD.ORG | |||||||
Soren Jorvang | soren@NetBSD.ORG | |||||||
Antti Kantee | pooka@NetBSD.ORG | |||||||
Lawrence Kesteloot | kesteloo@cs.unc.edu | |||||||
Thomas Klausner | wiz@NetBSD.ORG | |||||||
Klaus Klein | kleink@NetBSD.ORG | |||||||
John Kohl | jtk@NetBSD.ORG | |||||||
Kevin Lahey | kml@NetBSD.ORG | |||||||
Johnny C. Lam | jlam@NetBSD.ORG | |||||||
Martin J. Laubach | mjl@NetBSD.ORG | |||||||
Ted Lemon | mellon@NetBSD.ORG | |||||||
Joel Lindholm | joel@NetBSD.ORG | |||||||
Mike Long | mikel@NetBSD.ORG | |||||||
Warner Losh | imp@NetBSD.ORG | |||||||
Brett Lymn | blymn@NetBSD.ORG | |||||||
Paul Mackerras | paulus@NetBSD.ORG | |||||||
Dan McMahill | dmcmahill@NetBSD.ORG | |||||||
Neil J. McRae | neil@NetBSD.ORG | |||||||
Perry Metzger | perry@NetBSD.ORG | |||||||
der Mouse | mouse@NetBSD.ORG | |||||||
Joseph Myers | jsm@NetBSD.ORG | |||||||
Ken Nakata | kenn@NetBSD.ORG | |||||||
Bob Nestor | rnestor@NetBSD.ORG | |||||||
Tohru Nishimura | nisimura@NetBSD.ORG | |||||||
Masaru Oki | oki@NetBSD.ORG | |||||||
Greg Oster | oster@NetBSD.ORG | |||||||
Herb Peyerl | hpeyerl@NetBSD.ORG | |||||||
Matthias Pfaller | matthias@NetBSD.ORG | |||||||
Dante Profeta | dante@NetBSD.ORG | |||||||
Chris Provenzano | proven@NetBSD.ORG | |||||||
Waldi Ravens | waldi@moacs.indiv.nl.net | |||||||
Darren Reed | darrenr@NetBSD.ORG | |||||||
Michael Richardson | mcr@NetBSD.ORG | |||||||
Tim Rightnour | garbled@NetBSD.ORG | |||||||
Gordon Ross | gwr@NetBSD.ORG | |||||||
Heiko W. Rupp | hwr@NetBSD.ORG | |||||||
SAITOH Masanobu | msaitoh@NetBSD.ORG | |||||||
Curt Sampson | cjs@NetBSD.ORG | |||||||
Wilfredo Sanchez | wsanchez@NetBSD.ORG | |||||||
Ty Sarna | tsarna@NetBSD.ORG | |||||||
SATO Kazumi | sato@NetBSD.ORG | |||||||
Matthias Scheler | tron@NetBSD.ORG | |||||||
Karl Schilke (rAT) | rat@NetBSD.ORG | |||||||
Konrad Schroder | perseant@NetBSD.ORG | |||||||
Tim Shepard | shep@NetBSD.ORG | |||||||
Takao Shinohara | shin@NetBSD.ORG | |||||||
Chuck Silvers | chs@NetBSD.ORG | |||||||
Thor Lancelot Simon | tls@NetBSD.ORG | |||||||
Noriyuki Soda | soda@NetBSD.ORG | |||||||
Bill Sommerfeld | sommerfeld@NetBSD.ORG | |||||||
Bill Studenmund | wrstuden@NetBSD.ORG | |||||||
Kevin Sullivan | sullivan@NetBSD.ORG | |||||||
Kimmo Suominen | kim@NetBSD.ORG | |||||||
Matt Thomas | matt@NetBSD.ORG | |||||||
Christoph Toshok | toshok@NetBSD.ORG | |||||||
Izumi Tsutsui | tsutsui@NetBSD.ORG | |||||||
UCHIYAMA Yasushi | uch@NetBSD.ORG | |||||||
Todd Vierling | tv@NetBSD.ORG | |||||||
Aymeric Vincent | aymeric@NetBSD.ORG | |||||||
Paul Vixie | vixie@NetBSD.ORG | |||||||
Krister Walfridsson | kristerw@NetBSD.ORG | |||||||
Lex Wennmacher | wennmach@NetBSD.ORG | |||||||
Assar Westerlund | assar@NetBSD.ORG | |||||||
Rob Windsor | windsor@NetBSD.ORG | |||||||
Dan Winship | danw@NetBSD.ORG | |||||||
Jim Wise | jwise@NetBSD.ORG | |||||||
Colin Wood | ender@NetBSD.ORG |
This product includes software developed by the University of
California, Berkeley and its contributors.
This product includes software developed by the Computer
Systems Engineering Group at Lawrence Berkeley Laboratory.
This product includes software developed by the NetBSD
Foundation, Inc. and its contributors.
This product includes software developed by Adam Glass
and Charles Hannum.
This product includes software developed by Adam Glass.
This product includes software developed by Berkeley Software
Design, Inc.
This product includes software developed by Charles D. Cranor
and Washington University.
This product includes software developed by Charles D. Cranor.
This product includes software developed by Charles Hannum,
by the University of Vermont and State Agricultural College
and Garrett A. Wollman, by William F. Jolitz, and by the
University of California, Berkeley, Lawrence Berkeley Laboratory,
and its contributors.
This product includes software developed by Charles Hannum.
This product includes software developed by Charles M. Hannum.
This product includes software developed by Chris Provenzano.
This product includes software developed by Christian E. Hopps.
This product includes software developed by Christopher G. Demetriou
for the NetBSD Project.
This product includes software developed by Christopher G. Demetriou.
This product includes software developed by Christos Zoulas.
This product includes software developed by David Jones and Gordon Ross.
This product includes software developed by Dean Huxley.
This product includes software developed by Eric S. Hvozda.
This product includes software developed by Ezra Story.
This product includes software developed by Gordon Ross.
This product includes software developed by Gordon W. Ross
and Leo Weppelman.
This product includes software developed by Gordon W. Ross.
This product includes software developed by Herb Peyerl.
This product includes software developed by Ian W. Dall.
This product includes software developed by Ignatios Souvatzis
for the NetBSD Project.
This product includes software developed by Jason R. Thorpe
for And Communications, http://www.and.com/.
This product includes software developed by Joachim Koenig-Baltes.
This product includes software developed by Jochen Pohl
for The NetBSD Project.
This product includes software developed by John Polstra.
This product includes software developed by Jonathan Stone
and Jason R. Thorpe for the NetBSD Project.
This product includes software developed by Jonathan Stone
for the NetBSD Project.
This product includes software developed by Jonathan Stone.
This product includes software developed by Julian Highfield.
This product includes software developed by Kenneth Stailey.
This product includes software developed by Leo Weppelman.
This product includes software developed by Lloyd Parkes.
This product includes software developed by Mark Brinicombe.
This product includes software developed by Markus Wild.
This product includes software developed by Martin Husemann
and Wolfgang Solfrank.
This product includes software developed by Mats O Jansson
and Charles D. Cranor.
This product includes software developed by Mats O Jansson.
This product includes software developed by Matthias Pfaller.
This product includes software developed by Paul Kranenburg.
This product includes software developed by Paul Mackerras.
This product includes software developed by Peter Galbavy.
This product includes software developed by Philip A. Nelson.
This product includes software developed by Rodney W. Grimes.
This product includes software developed by Scott Bartram.
This product includes software developed by SigmaSoft, Th. Lockert.
This product includes software developed by Terrence R. Lambert.
This product includes software developed by Theo de Raadt
and John Brezak.
This product includes software developed by Theo de Raadt.
This product includes software developed by TooLs GmbH.
This product includes software developed by Winning Strategies, Inc.
This product includes software developed by the Center for
Software Science at the University of Utah.
This product includes software developed by the University of Calgary
Department of Computer Science and its contributors.
This product includes software developed by the University of Vermont
and State Agricultural College and Garrett A. Wollman.
This product includes software developed for the FreeBSD project.
This product includes software developed for the Internet
Software Consortium by Ted Lemon.
This product includes software developed for the NetBSD Project
by Frank van der Linden.
This product includes software developed for the NetBSD Project
by Jason R. Thorpe.
This product includes software developed for the NetBSD Project
by John M. Vinopal.
This product includes software developed for the NetBSD Project
by Matthias Drochner.
This product includes software developed for the NetBSD Project
by Matthieu Herrb.
This product includes software developed for the NetBSD Project
by Perry E. Metzger.
This product includes software developed for the NetBSD Project
by Piermont Information Systems Inc.
This product includes software developed for the NetBSD Project
by Ted Lemon.
This product includes software developed by LAN Media Corporation
and its contributors.
This product includes software developed by Michael Graff for
the NetBSD Project.
This product includes software developed by Niklas Hallqvist,
C Stone and Job de Haas.
This product includes software developed by the Alice Group.
This product includes software developed by Charles D. Cranor.
This product includes software developed by Peter Galbavy.
This product includes software developed by Rolf Grossmann.
This product includes software developed by David Miller.
This product includes software developed by Gordon W. Ross.
This product includes software developed by Charles Hannum, by the
University of Vermont and State Agricultural College and Garrett A.
Wollman, by William F. Jolitz, and by the University of California,
Berkeley, Lawrence Berkeley Laboratory, and its contributors.