About this Document............................................2
Dedication.....................................................2
What is NetBSD?................................................2
Upgrade path to NetBSD 1.6.2...................................2
Changes Between The NetBSD 1.6.1 and 1.6.2 Releases............3
Kernel......................................................3
Networking..................................................4
Security....................................................4
System administration and user tools........................4
Miscellaneous...............................................4
sparc64 specific............................................4
Changes Between The NetBSD 1.6 and 1.6.1 Releases..............4
Kernel......................................................5
Networking..................................................5
File system.................................................6
Security....................................................6
System administration and user tools........................6
Miscellaneous...............................................6
Changes Between The NetBSD 1.5 and 1.6 Releases................7
Kernel......................................................7
Networking..................................................8
File system.................................................8
Security....................................................9
System administration and user tools........................9
Miscellaneous...............................................9
The Future of NetBSD..........................................10
Sources of NetBSD.............................................11
NetBSD 1.6.2 Release Contents.................................11
NetBSD/sparc64 subdirectory structure......................13
Binary distribution sets...................................13
NetBSD/sparc64 System Requirements and Supported Devices......14
Supported machines.........................................14
Unsupported machines.......................................15
Supported devices..........................................15
Unsupported devices........................................15
Getting the NetBSD System on to Useful Media..................16
Preparing your System for NetBSD installation.................18
Installing the NetBSD System..................................18
Installing NetBSD from CDROM...............................19
Installing NetBSD by using the NetBSD miniroot.............19
Installing NetBSD by using a diskless setup................19
Sample disklabel screen....................................22
Running sysinst............................................22
Installing NetBSD using Solaris............................23
Preparing the disk.........................................23
Installing NetBSD Software.................................23
Creating NetBSD Device Nodes under Solaris.................24
Configuring the NetBSD system (still under Solaris)........25
Booting NetBSD for the first time.............................25
Post installation steps.......................................25
Upgrading a previously-installed NetBSD System................27
Compatibility Issues With Previous NetBSD Releases............28
Issues affecting an upgrade from NetBSD 1.5................28
Issues affecting an upgrade from NetBSD 1.4 or prior.......29
Using online NetBSD documentation.............................29
Administrivia.................................................30
Thanks go to..................................................30
We are........................................................33
Legal Mumbo-Jumbo.............................................37
The End.......................................................39
This document describes the installation procedure for
NetBSD1.6.2
on the
sparc64
platform.
It is available in four different formats titled
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.
The NetBSD Foundation would like to dedicate the NetBSD 1.6.2 release to the memory of Erik Reid, who went missing and is presumed dead in a sailing accident on 18 February 2004. Erik's contributions to NetBSD included work on support for SGI MIPS R4000, integrating XFree86 Direct Rendering Interface (DRI), and managing the build lab. His death came as a shock, and he will be greatly missed by all of us. May he rest in peace.
The NetBSD Operating System is a fully functional Open Source UNIX-like operating system derived from the University of California, Berkeley Networking Release 2 (Net/2), 4.4BSD-Lite, and 4.4BSD-Lite2 sources. NetBSD runs on fifty three different system architectures (ports), featuring seventeen machine architectures across eleven distinct CPU families, and is being ported to more. The NetBSD1.6.2 release contains complete binary releases for thirty eight different system architectures. (The fifteen remaining are not fully supported at this time and are thus not part of the binary distribution. For information on them, please see the NetBSD web site at http://www.netbsd.org/.)
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, firewall software 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.
NetBSD1.6.2 is an upgrade of NetBSD1.6.1 and earlier major and patch releases of NetBSD.
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.6 was started are designated by version identifiers such as 1.6A, 1.6B, etc. These identifiers do not designate releases, but indicate major changes in internal kernel APIs. Note that the kernel from NetBSD 1.6 can not be used to upgrade a system running one of those intermediate development versions. Trying to use the NetBSD 1.6 kernel on such a system will probably 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.6 to determine if a given feature is present or absent in 1.6. The development of 1.6 and the subsequent ``point'' releases is done on a separate branch in the CVS repository. The branch was created when the release cycle for 1.6 was started, and during the release cycle of 1.6 and its patch releases selected fixes and enhancements have been imported from the main development trunk.
The NetBSD1.6.2 release provides numerous significant functional enhancements, including support for many new devices, integration of hundreds of bug fixes, patches and updates to kernel subsystems, and many user-land enhancements. The result of these improvements is a stable operating system fit for production use that rivals most commercially available systems.
It is impossible to completely summarize over nine months of development that went into the NetBSD1.6.2 release. Some highlights include:
pciide(4)
,
make Promise controllers do DMA with large disks
requiring 48-bit LBA drives.
pciide(4)
.
mlx(4)
stability improved.
pciide(4)
.
userconf(4)
for more information.
wdc(4)
to work with pre-ATA drives.
rtk(4)
multicast problem fixed.
fxp(4)
support yet a few more chip variants.
tulip(4)
driver fixed so that the DEC Alpha PWS no longer panics.
bce(4)
driver added for Broadcom BCM4401 chipset, as seen in recent
Dell laptops.
vi(1)
triggered by an error was fixed.
scsictl(8)
now supports a few new commands.
And of course there have also been innumerable bug fixes and other miscellaneous enhancements. You can look for this trend to continue.
The NetBSD1.6.1 release provides numerous significant functional enhancements, including support for many new devices, integration of hundreds of bug fixes, patches and updates to kernel subsystems, and many user-land enhancements. The result of these improvements is a stable operating system fit for production use that rivals most commercially available systems.
It is impossible to completely summarize over seven months of development that went into the NetBSD1.6.1 release. Some highlights include:
aac(4)
.
audio(4)
,
dpt(4)
,
eap(4)
,
emuxki(4)
,
iop(4)
,
siop(4)
and
umass(4)
.
pciide(4)
support has been extended to support Promise
Ultra133TX2, Promise Ultra133TX2v2, HighPoint HPT372, Ultra/133
on VIA VT8233A, and the VIA VT8235.
tlp(4)
and
xi(4)
drivers.
pcn(4)
driver.
rtk(4)
now supports Planex FNW-3603 cardbus ethernet card.
ex(4)
multicast handling has been fixed.
wi(4)
now supports Netgear MA401RA card.
wm(4)
now supports more chip variants.
aue(4)
now supports SMC 2206USB/ETH EZ Connect adapter.
sip(4)
now has some Tx interrupt mitigation code, and improved
support for 64-bit DP83820 cards.
fxp(4)
driver has been improved for better support of
certain i82558 revisions, and has been fixed to recognize
some more chips.
bge(4)
driver.
ftpd(8)
interoperability bugs have been fixed.
mopd(8)
fixes to make the program load correctly.
pppoe(4)
bugs have been fixed.
ffs(4)
soft dependencies handling have been incorporated.
amd(8)
.
fsck(8)
bugs have been fixed.
named(8)
and the libc resolver.
file(1)
have been fixed.
tar(1)
has been fixed.
user(8)
has seen several fixes, some of them related to MD5 and
blowfish password encryption support.
And of course there have also been innumerable bug fixes and other miscellaneous enhancements. You can look for this trend to continue.
The NetBSD1.6 release provides numerous significant functional enhancements, including support for many new devices, integration of hundreds of bug fixes, new and updated kernel subsystems, and many user-land enhancements. The result of these improvements is a stable operating system fit for production use that rivals most commercially available systems.
It is impossible to completely summarize over eighteen months of development that went into the NetBSD1.6.2 release. Some highlights include:
scsipi(9)
.
userconf(4)
,
activated with the
-c
boot loader flag.
ehci(4)
host controller.
irframe(4)
IrDA frame level driver.
Serial dongles and the
oboe(4)
driver are currently supported.
INCLUDE_CONFIG_FILE
in
options(4)
for more information.
sysctl(8)
.
).
vlan(4)
.
ndbootd(8)
added;
used to netboot
NetBSD/sun2
machines.
racoon(8)
added;
IKE key management daemon for IPsec key negotiation, from the KAME project.
ifconfig(8)
and
awi(4)
driver.
wi(4)
and
wiconfig(8)
now support scanning for access points,
and defaults to BSS instead of ad-hoc mode.
bridge(4)
.
pppoe(4)
.
ifwatchd(8)
added;
invokes up-script and down-script when a network interface goes up and down.
Used by
pppoe(4)
.
dump(8)
,
dumpfs(8)
,
fsck_ffs(8)
,
fsirand(8)
,
newfs(8)
,
and
tunefs(8)
support a
-F
option to manipulate file system images in regular files.
makefs(8)
added;
creates file system images from a directory tree.
(Currently ffs only.)
)
by Grigoriy Orlov, which noticeably improves performance on FFS file systems
when creating directories, and subsequently manipulating them.
newfs(8)
calculates default block size from the file system size,
and uses the largest possible cylinders/group (cpg) value if
-c
isn't given.
dpti(4)
driver added;
an implementation of the DPT/Adaptec SCSI/I2O RAID management interface.
Allows the use of the Linux versions of
dptmgr,
raidutil,
dptelog,
(etc).
chroot(8)
hierarchy for services including
named(8)
,
ntpd(8)
,
and
sshd(8)
.
passwd(5)
ciphers:
MD5, and
DES with more encryption rounds.
See
passwd.conf(5)
.
/etc/security
performs many more checks and is far more flexible in how it monitors
changes.
See
security.conf(5)
.
sushi(8)
added;
a menu based system administration tool.
pgrep(1)
and
pkill(1)
added;
find or signal processes by name or other attributes.
etcupdate(8)
script which helps updating the
/etc
config files interactively, and the
/etc/postinstall
script which is provided to check for or fix configuration changes
that have occurred in
NetBSD.
stat(1)
added;
a user interface to the information returned by the
stat(2)
system call.
sort(1)
replaces
GNU
sort(1)
.
rc.d(8)
scripts waits until the service terminates before returning.
This improves the reliability of
``restart''
operations as well.
swapoff
in
rc.conf(5)
.
rc.shutdown(8)
after the number of seconds provided in
rcshutdown_timeout
from
rc.conf(5)
.
src/build.sh
is available for doing arbitrary cross-builds; see
src/BUILDING
for more information.
At least 38 ports for the
NetBSD1.6.2
release were cross-built on a
NetBSD/i386
system using this mechanism.
agp(4)
for faster access to graphics boards.
init(8)
will create an mfs (memory based file system)
/dev
if
/dev/console
is missing.
vmstat(8)
displays kernel hash statistics with
-H
and
-h hash.
wscons(4)
supports blanking of VGA consoles.
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.6.2 is the second major release for the sparc64!
Some (but not all!) notable sparc64-specific improvements include:
GENERIC_SUN4U
kernel.
The NetBSD Foundation has been incorporated as a non-profit organization. Its purpose is to encourage, foster and promote the free exchange of computer software, namely the NetBSD Operating System. The foundation will allow for many things to be handled more smoothly than could be done with our previous informal organization. In particular, it provides the framework to deal with other parties that wish to become involved in the NetBSD Project.
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.
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.
Refer to
http://www.netbsd.org/Sites/net.html.
The root directory of the NetBSD1.6.2 release is organized as follows:
.../NetBSD-1.6.2/
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.6.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 that may be subject to
export regulations of the United States, e.g.
code under
src/crypto
and
src/sys/crypto
.
It is your responsibility
to determine whether or not it is legal for you to export these portions
and to act accordingly.
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:
config(8)
;
and
dbsym(8)
.
All the above source sets are located in the
source/sets
subdirectory of the distribution tree.
The source sets are distributed as compressed tar files.
Except for the
pkgsrc
set, which is traditionally unpacked into
/usr/pkgsrc
,
all sets may be unpacked into
/usr/src
with the command:
#
( cd / ; tar -zxpf - ) < set_name.tgz
The
sets/Split/
subdirectory contains 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 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.?? | ( cd / ; tar -zxpf - )
In each of the source distribution set directories, there are files which contain the checksums of the files in the directory:
BSDSUM
CKSUM
MD5
SYSVSUM
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.
sparc64
subdirectory of the distribution:
.../NetBSD-1.6.2/sparc64/
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/
kernel/
netbsd-GENERIC.gz
sets/
installation/
miniroot/
misc/
netboot/
sparc64/binary/sets
subdirectory
of the
NetBSD1.6.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.
GENERIC
kernel, named
/netbsd
.
You
must
install this distribution set.
/usr/share
.
groff(1)
,
all related programs, and their manual pages.
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 sparc64 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 filenames stored in the sets are relative and therefore
the files are extracted
below the current directory.
Therefore, if you want to extract the binaries into your system, i.e.
replace the system binaries with them, you have to run the
tar -xpf
command from the root directory (
/
) of your system.
This utility is used only in a Traditional method installation.
The minimal configuration requires 32 MB of RAM and ~60 MB 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, as NetBSD with 32 MB of RAM feels like Solaris with 32 MB of RAM - slow. Note that until you have at least 64 MB of RAM, getting more RAM is more important than getting a faster CPU.
There are a large number of untested PCI drivers that have never been tested on UltraSPARC PCI systems that may `just work'.
Installation is supported from several media types, including:
The steps necessary to prepare the distribution sets for installation depend upon which installation medium you choose. The steps for the various media are outlined below.
Proceed to the instruction on installation.
set_name.
xx
files that make up the
distribution sets you want to install or upgrade.
You will need one sixth that number of 1.44 MB floppies.
Format all of the floppies with
MS-DOS.
Do
not
make any of them bootable
MS-DOS
floppies, i.e. don't use
format
/s
to format them.
(If the floppies are bootable, then the
MS-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
MS-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
MS-DOS
disks.
Once you have the files on MS-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.
204.152.184.75
(as of June, 2002).
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.
/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 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.
If you're making the tape on a UNIX-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.6.2
#
cd sparc64/binary
#
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 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 and kern binary distributions, and so must put the base and kern sets somewhere in your file system. If you wish, you can do the other sets, as well, but you should not upgrade the etc distribution; it contains 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.
If you're installing NetBSD/sparc64 for the first time it's a good idea to look at the partition sizes of disk you intend installing NetBSD on.
Assuming a classic partition scheme with
/
(root) and
/usr
file systems, a comfortable size for the
NetBSD
/
partition is about 64 MB;
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 including X11R6 takes nearly 200 MB in
/usr
.
You cannot use the security modes of the SPARC OpenBoot PROM.
ok
setenv security-mode none
Some network devices (i.e. certain SBus cards)
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 install from CDROM. If you don't have access to a CDROM or CDROM burner, you can use a miniroot image that can be booted off your local disk's swap partition. Alternatively, if your UltraSPARC 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). If you have problems with these, it is possible to install NetBSD from Solaris (see the section `Installing NetBSD using Solaris' below).
ok
prompt type:
ok
boot cdrom
If the machine starts booting automatically, hit the L1 or Stop key and the A key on the keyboard or send a break if your console is serial port to terminate the boot process.
NetBSD should then boot and you will have the opportunity to use sysinst.
Loading the miniroot onto your raw partition is simple. On NetBSD as well as Solaris you use a command like:
#
dd if=miniroot.fs of=/dev/rdsk/c0t0d0s1 bs=4k conv=sync
(Here,
/dev/rdsk/c0t0d0s1
is assumed to be your swap partition.)
There's a potential problem here if
/dev/rdsk/c0t0d0s1
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 OpenBoot PROM:
ok
boot disk:b netbsd -s
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
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.
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 UltraSPARC expects to be able to download a second stage bootstrap
program via TFTP after having acquired its IP address through RevARP when
instructed to boot
`over the net'.
It will look for a filename composed of the machine's IP address in
hexadecimal.
For example, a machine which has been assigned IP address
130.115.144.11, will make an TFTP request for
8273900B
.
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/ofwboot.net
in the
NetBSD/sparc64
distribution.
/usr/mdec/ofwboot
does not know about netbooting.
After the boot program has been loaded into memory and given control by the OpenBoot 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 file system server, asking for an NFS file handle corresponding to the root file system. If successful, the boot program starts reading from the remote root file system 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
*.tgz
files you want
to install into the root directory for your client on the server.
From here there are two methods of netboot install. The first is much simpler and is intended for clients with local disk that will be used for installation. The second is intended for clients that will use a network boot normally.
If you are going to be installing onto local disk, place the
netbsd.INSTALL.gz
file, located in the
binary/kernel
directory, into the root directory for your machine.
The
netbsd.INSTALL.gz
file contains a kernel with an embedded ramdisk that has the basic
installer file system that is part of the normal miniroot.
Now you need to boot your workstation
from the server by entering the following command at the monitor prompt:
ok boot net netbsd.INSTALL.gz
And then follow the install instructions.
If you are going to be installing to NFS, be sure to read the section
about preparing your system for installation.
If you have access to another
NetBSD
machine, the
diskless(8)
manual page contains information about diskless booting.
Unpack the
base.tgz
and
etc.tgz
sets on the server in the root
directory for your machine.
If you elect to use a separately NFS-mounted file system for
/usr
with your diskless setup, make sure the
./usr
base
files in
base.tgz
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.
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/sun4u.netbsd
/usr
nfs
rw
0
0
Now you must populate the
/dev
directory for your client.
If your server runs
SunOS
4.x, you can simply change your working directory to
root/dev
and run the MAKEDEV script:
sh MAKEDEV all.
On Solaris 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 following command at the monitor prompt:
ok boot net netbsd -s
This will boot the NetBSD kernel in single-user mode.
If you use a diskless setup with a separately NFS-mounted
/usr
file system,
mount
/usr
by hand now:
netbsd#
mount /usr
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>
disklabel -i <disk>
to create a partition layout that suits your needs.
Here follows an example of what you'll see while in the disklabel 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 file system, should
be given fstype
4.2BSD
.
Remember, the
`c
'
partition should describe
The whole disk and typically does not require editing.
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.
8 partitions:
'
is best left alone,
even if you define less than eight partitions.
If this line displays a different number and the program complains about it
(after you leave the editor), then try setting it to
`
8 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)
To begin installation or the upgrade procedure, run sysinst:
netbsd#
sysinst
The sysinst program will do most of the work of transferring the system from the distribution sets onto your disk. You will frequently be asked for confirmation before sysinst proceeds with each phase of the installation process.
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:
partition> pr
Current partition table (original):
Total disk cylinders available: 8186 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 1923 1.00GB (1924/0/0) 2097160
1 swap wu 1924 - 2863 500.29MB (940/0/0) 1024600
2 backup wu 0 - 8185 4.25GB (8186/0/0) 8922740
3 unassigned wm 0 0 (0/0/0) 0
4 usr wm 2864 - 8184 2.77GB (5321/0/0) 5799890
5 unassigned wm 0 0 (0/0/0) 0
6 backup wm 0 - 8185 4.25GB (8186/0/0) 8922740
7 unassigned wm 0 0 (0/0/0) 0
After your disk has been labeled you need to create file systems on your slices. The Solaris newfs command will create ffs file systems that can be used by NetBSD. You should create file systems for all of your slices except for root with a command similar to below, given we have root on c1t2d0s0 and /usr on c1t2d0s4.
#
newfs /dev/dsk/c1t2d0s0
#
newfs /dev/dsk/c1t2d0s4
/usr
partitions
under
Solaris so that you can populate the file systems with
NetBSDNetBSD
binaries.
#
mount /dev/dsk/c1t2d0s0 /mnt
#
mkdir /mnt/usr
#
mount /dev/dsk/c1t2d0s4 /mnt/usr
First, you should uncompress all of the binary distribution sets for sparc64 into a temporary directory and then extract them into the file systems you just mounted.
#
cd ~/netbsd/binary/sets
#
gunzip *.tar.gz
#
mkdir ~/netbsd/temp
#
cd ~/netbsd/temp
#
echo ~/netbsd/binary/sets/*.tar | (cd /mnt; xargs -n1 pax -rpe)
Now you should copy the NetBSD kernel and second stage bootloader into your new NetBSD root partition and install the bootblocks using Solaris's installboot command.
#
cp ~/netbsd/binary/kernel/netbsd.GENERIC /mnt
#
cp /mnt/netbsd.GENERIC /mnt/netbsd
#
cp ~/netbsd/installation/misc/ofwboot /mnt
#
installboot ~/netbsd/installation/misc/bootblk /dev/c1t2d0s0
/dev/MAKEDEV
.
You can use the Solaris
version of mknod to create device nodes but you must be careful to use
numeric group id's since the groups are numbered differently between
the two systems.
#
mknod console c 0 0
#
mknod tty c 2 0 ; chmod 666 tty
#
mknod kmem c 3 1 ; chmod 640 kmem ; chgrp 2 kmem
#
mknod mem c 3 0 ; chmod 640 mem ; chgrp 2 mem
#
mknod null c 3 2 ; chmod 666 null
#
mknod zero c 3 12 ; chmod 666 zero
#
mknod eeprom c 3 11 ; chmod 640 eeprom ; chgrp 2 eeprom
#
mknod openprom c 70 0 ; chmod 640 openprom;chgrp 2 openprom
#
mknod drum c 7 0 ; chmod 640 drum ; chgrp 2 drum
#
mknod klog c 16 0 ; chmod 600 klog
#
mknod stdin c 24 0 ; chmod 666 stdin
#
mknod stdout c 24 1 ; chmod 666 stdout
#
mknod stderr c 24 2 ; chmod 666 stderr
#
mknod fb c 22 0 ; chmod 666 fb
#
mknod mouse c 13 0 ; chmod 666 mouse
#
mknod kbd c 29 0 ; chmod 666 kbd
You also must create device nodes for the disk devices that you are installing
NetBSD
onto, again you can use
NetBSD's
/dev/MAKEDEV
as a reference.
#
mknod sd0a b 7 0
#
mknod sd0b b 7 1
#
mknod sd0c b 7 2
#
mknod sd0d b 7 3
#
mknod sd0e b 7 4
#
mknod sd0f b 7 5
#
mknod sd0g b 7 6
#
mknod sd0h b 7 7
#
mknod sd1a b 7 8
#
mknod sd1b b 7 9
#
mknod sd1c b 7 10
#
mknod sd1d b 7 11
#
mknod sd1e b 7 12
#
mknod sd1f b 7 13
#
mknod sd1g b 7 14
#
mknod sd1h b 7 15
#
mknod rsd0a c 17 0
#
mknod rsd0b c 17 1
#
mknod rsd0c c 17 2
#
mknod rsd0d c 17 3
#
mknod rsd0e c 17 4
#
mknod rsd0f c 17 5
#
mknod rsd0g c 17 6
#
mknod rsd0h c 17 7
#
mknod rsd1a c 17 8
#
mknod rsd1b c 17 9
#
mknod rsd1c c 17 10
#
mknod rsd1d c 17 11
#
mknod rsd1e c 17 12
#
mknod rsd1f c 17 13
#
mknod rsd1g c 17 14
#
mknod rsd1h c 17 15
#
chgrp 5 *sd[0-1][a-h]
#
chmod 640 *sd[0-1][a-h]
For IDE disks, use 12 instead of 7 and 26 instead of 17, for
wd0a
and
rwd0a
,
etc.
You will now need to configure some of the files in
/mnt/etc
to allow the system to work properly.
In particular, you will need to modify
/etc/rc.conf
or else you will only get to single user mode.
Read through the examples in
/etc/defaults/rc.conf
and override any settings in
/etc/rc.conf
.
You will also need to create a
/etc/fstab
file to tell the system which slice to mount as
/usr
,
etc.
You should follow the examples in
/usr/share/examples/fstab/
.
You may also want to setup your
/etc/resolv.conf
file for name services and your
/etc/hosts
file
if you are confident that you will get networking setup on your first try.
Now it is time to boot
NetBSD
for the first time.
Initially we'd suggest you
boot netbsd -bs,
then try multiuser after that.
If you boot single-user the
NetBSD
incantation to make the root file system
(/
)
writable is
netbsd#
mount -u /dev/sd0a /
Congratulations,
you have successfully installed
NetBSD
1.6.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 properly configured state, with the most important ones described below.
/etc/rc.conf
If you or the installation software haven't done any configuration of
/etc/rc.conf
(sysinst
usually will),
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 file system
(/
)
mounted read-only.
When the system asks you to choose a shell, simply press
RETURN
to get to a
/bin/sh
prompt.
If you are asked for a terminal type, respond with
vt220
(or whatever is appropriate for your terminal type)
and press
RETURN
.
You may need to type one of the following commands to get your delete key
to work properly, depending on your keyboard:
#
stty erase '^h'
#
stty erase '^?'
At this point, you need to configure at least
one file in the
/etc
directory.
You will need to mount your root file system read/write with:
#
/sbin/mount -u -w /
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.
Default values for the various programs can be found in
/etc/defaults/rc.conf
,
where some in-line documentation may be found.
More complete documentation can be found in
rc.conf(5)
.
If your
/usr
directory is on a separate partition and you do not know how to use
ed,
you will have to mount your
/usr
partition to gain access to
ex
or
vi.
Do the following:
#
mount /usr
#
export TERM=vt220
If you have
/var
on a separate 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
<int>
network interface,
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 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.
Unless you've set a password in
sysinst,
there
is no initial password.
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.
Unless you have connected an unusual terminal device as the console
you can just press
RETURN
when it prompts for
Terminal
type?
[...]
.
Use the
useradd(8)
command to add accounts to your system;
do not
edit
/etc/passwd
directly.
See
useradd(8)
for more information on 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.
If you wish to install any of the software freely available for UNIX-like systems you are strongly advised to first check the NetBSD package system. This automatically handles any changes necessary to make the software run on NetBSD, retrieval and installation of any other packages on which the software may depend, and simplifies installation (and deinstallation), both from source and precompiled binaries.
1.6.2/sparc64/All
subdir.
You can install them with the following commands:
# PKG_PATH=ftp://ftp.NetBSD.org/pub/NetBSD/packages/1.6.2/sparc64/All # export PKG_PATH # pkg_add -v tcsh # pkg_add -v apache # pkg_add -v perl ...
The above commands will install the tcsh shell, the Apache web server and the perl programming language as well as all the packages they depend on.
/usr/pkgsrc
(though other locations work fine), with the commands:
#
mkdir /usr/pkgsrc
#
( cd /usr/pkgsrc ; tar -zxpf - ) < pkgsrc.tar.gz
After extracting, then see the
README
file in the extraction directory (e.g.
/usr/pkgsrc/README
)
for more information.
/etc/mail/aliases
to forward root mail to the right place.
Don't forget to run
newaliases(1)
afterwards.
/etc/mail/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
#
man 5 filename
is likely to give you more information on these files.
To upgrade to NetBSD1.6.2 from a previous version follow the instructions in the section Installing NetBSD, but run sysinst and choose the upgrade option rather than the install option.
The upgrade option will use the existing disk partitions to install the
new system in, and also preserves the files in
/etc
by moving them to
/etc.old
.
Users upgrading from previous versions of NetBSD may wish to bear the following problems and compatibility issues in mind when upgrading to NetBSD1.6.2.
mkdir /tmp/upgrade
cd /tmp/upgrade
pax -zrpe -f /path/to/etc.tgz
./etc/postinstall -s `pwd` check
./etc/postinstall -s `pwd` fix
Issues fixed by postinstall:
/etc
need upgrading.
These include:
/etc/defaults/*
/etc/mtree/*
/etc/daily
/etc/weekly
/etc/monthly
/etc/security
/etc/rc.subr
/etc/rc
/etc/rc.shutdown
/etc/rc.d/*
/etc/rc.d/NETWORK
and
/etc/rc.d/gated
.
rc.conf(5)
entries are now obsolete:
amd_master
,
ip6forwarding
,
defcorename
,
and
nfsiod_flags
.
critical_filesystems_beforenet
has been replaced by
critical_filesystems_local
.
critical_filesystems
has been replaced by
critical_filesystems_remote
.
ssh(1)
and
sshd(8)
were moved from
/etc
to
/etc/ssh
,
including
ssh_known_hosts*
files and the
host key files
ssh_host*_key*
.
/etc/ssh.conf
was renamed to
/etc/ssh/ssh_config
,
and
/etc/sshd.conf
was renamed to
/etc/ssh/sshd_config
.
wscons.conf(5)
are now obsolete.
The following issues need to be resolved manually:
postfix(8)
configuration files require upgrading.
cd /usr/share/examples/postfix
cp post-install postfix-files postfix-script /etc/postfix
postfix check
/etc/ifconfig.de*
to
/etc/ifconfig.tlp*
,
renaming of
rc.conf(5)
entries
ifconfig_de*
to
ifconfig_tlp*
,
and the reconfiguration of files such as
/etc/dhclient.conf
and
/etc/ipf.conf
.
/etc/rc
modified to use
/etc/rc.d/*
Prior to
NetBSD1.5,
/etc/rc
was a traditional
BSD
style monolithic file; each discrete program or substem from
/etc/rc
and
/etc/netstart
has been moved into separate scripts in
/etc/rc.d/
.
At system startup,
/etc/rc
uses
rcorder(8)
to build a dependency list of the files in
/etc/rc.d
and then executes each script in turn with an argument of
`start'.
Many
rc.d
scripts won't start unless the appropriate
rc.conf(5)
entry in
/etc/rc.conf
is set to
`YES.'
At system shutdown,
/etc/rc.shutdown
uses
rcorder(8)
to build a dependency list of the files in
/etc/rc.d
that have a
``KEYWORD: shutdown''
line, reverses the resulting list, and then executes each script in turn
with an argument of
`stop'.
The following scripts support a specific shutdown method:
cron
,
inetd
,
local
,
and
xdm
.
Local and third-party scripts may be installed into
/etc/rc.d
as necessary.
Refer to the other scripts in that directory and
rc(8)
for more information on implementing
rc.d
scripts.
named(8)
leaks version information.
Previous releases of
NetBSD
disabled a feature of
named(8)
where the version number of the server could be determined by remote clients.
This feature has not been disabled in
NetBSD1.5,
because there is a
named.conf(5)
option to change the version string:
option {
version "newstring";
};
sysctl(8)
was moved from
/usr/sbin/sysctl
to
/sbin/sysctl
.
If you have hardcoded references to the full pathname
(in shell scripts, for example)
please be sure to update those.
sendmail(8)
configuration file pathname changed.
Due to
sendmail(8)
upgrade from 8.9.x to 8.10.x,
/etc/sendmail.cf
is moved to
/etc/mail/sendmail.cf
.
Also, the default
sendmail.cf(5)
refers different pathnames than before.
For example,
/etc/aliases
is now located at
/etc/mail/aliases
,
/etc/sendmail.cw
is now called
/etc/mail/local-host-names
,
and so forth.
If you have customized
sendmail.cf(5)
and friends, you will need to move the files to the new locations.
See
/usr/share/sendmail/README
for more information.
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)
,
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.
If you've got something to say, do so! We'd like your input. There are various mailing lists available via the mailing list server at majordomo@netbsd.org. To get help on using the mailing list server, send mail to that address with an empty body, and it will reply with instructions.
There are 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, or visit http://www.netbsd.org/MailingLists/. 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 or WWW 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 Søren Jørvang Scott Kaplan Noah M. Keiserman Harald Koerfgen John Kohl Chris Legrow Ted Lemon Norman R. McBride Neil J. McRae Perry E. Metzger Luke Mewburn Toru Nishimura Herb Peyerl Mike Price Dave Rand Michael Richardson Heiko W. Rupp Brad Salai Chuck Silvers Thor Lancelot Simon Bill Sommerfeld Paul Southworth Eric and Rosemary Spahr Ted Spradley Kimmo Suominen Jason R. Thorpe Steve Wadlow Krister Walfridsson Rob Windsor Jim Wise Reinoud Zandijk 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 Distributed Processing Technology 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. Precedence Technologies Ltd Salient Systems Inc. VMC Harald Frank, Germany Warped Communications, Inc. Whitecross Database Systems Ltd.
(in alphabetical order)
All product names mentioned herein are trademarks or registered trademarks of their respective owners.
The following notices are required to satisfy the license terms of the software that we have mentioned in this document:
This product includes software developed by the University of
California, Berkeley and its contributors.