Installation procedure for NetBSD/sun3 10.0

NAME

INSTALL - Installation procedure for NetBSD/sun3.

CONTENTS


 About this Document
 What is NetBSD?
 Dedication
 Changes Between The NetBSD 9 and 10 Releases
 Features to be removed in a later release
 The NetBSD Foundation
 Sources of NetBSD
 NetBSD 10.0 Release Contents
    NetBSD/sun3 subdirectory structure
    Binary distribution sets
 NetBSD/sun3 System Requirements and Supported Devices
    Supported hardware
 Getting the NetBSD System on to Useful Media
    Creating boot/install tapes
    Boot/Install from NFS server
    Install/Upgrade from CD-ROM
    Install/Upgrade via FTP
 Preparing your System for NetBSD installation
 Installing the NetBSD System
    Installing from tape
    Installing from NFS
    Installing from SunOS
    Booting the Miniroot
    Miniroot install program
 Post installation steps
 Upgrading a previously-installed NetBSD System
 Compatibility Issues With Previous NetBSD Releases
 Using online NetBSD documentation
 Administrivia
 Thanks go to
 Legal Mumbo-Jumbo
 The End

DESCRIPTION

About this Document

This document describes the installation procedure for NetBSD 10.0 on the sun3 platform. It is available in four different formats titled INSTALL.ext, where .ext is one of .ps, .html, .more, or .txt:

.ps
PostScript.

.html
Standard Internet HTML.

.more
The enhanced text format used on UNIX-like systems by the more(1) and less(1) pager utility programs. This is the format in which the on-line man pages are generally presented.

.txt
Plain old ASCII.

You are reading the HTML version.

What is NetBSD?

The NetBSD Operating System is a fully functional open-source 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 many different different system architectures (ports) across a variety of distinct CPU families, and is being ported to more. The NetBSD 10.0 release contains complete binary releases for most of these system architectures, with preliminary support for the others included in source form. For more information please visit https://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, NetBSD would not exist.

Dedication

NetBSD 10.0 is dedicated to the memory of Ryo SHIMIZU, who passed away in May 2023.

Ryo's technical contributions are too many to list here in full. He was a long term contributor and worked on a lot of low-level code over various architectures, from x68k to aarch64. He also worked on various out-of-tree NetBSD items, like the IIJ git repository conversion.

The project lost an excellent technical contributor and many of us a good friend.

Changes Between The NetBSD 9 and 10 Releases

The NetBSD 10.0 release provides many significant changes, including support for many new devices, hundreds of bug fixes, new and updated kernel subsystems, and numerous userland enhancements. The result of these improvements is a stable operating system fit for production use that rivals most commercially available systems.

One important new feature in this release is the support for extended attributes and access control lists on FFS file systems.

For new installations the installer will by default disable these features, so the file system is compatible with older NetBSD releases (before 10), and allow other operating systems to mount this file systems at least in read-only mode.

If you want a new installed file system to support extended attributes, change the file system type from ``FFSv2'' to ``FFSv2ea'' in the partitioning menu. You can also convert file systems later, using the fsck_ffs(8) utility. More details are available in this guide.

If you are upgrading from a version of NetBSD-current please also check the Compatibility Issues With Previous NetBSD Releases.

It is impossible to completely summarize the massive development that went into the NetBSD 10.0 release. The complete list of changes can be found in
CHANGES
CHANGES-10.0
which are also present in the top level directory of the NetBSD 10.0 release tree.

Features to be removed in a later release

The following features are to be removed from NetBSD in the future:

The NetBSD Foundation

The NetBSD Foundation is a tax exempt, not-for-profit 501(c)(3) corporation that devotes itself to the traditional goals and spirit of the NetBSD Project and owns the trademark of the word ``NetBSD''. It supports the design, development, and adoption of NetBSD worldwide. More information on the NetBSD Foundation, its composition, aims, and work can be found at:
       https://www.NetBSD.org/foundation/

Sources of NetBSD

Refer to mirrors

NetBSD 10.0 Release Contents

The root directory of the NetBSD 10.0 release is organized as follows:

.../NetBSD-10.0/

CHANGES
Changes between the 9.0 and 10.0 releases.

CHANGES-10.0
Changes between the initial 10.0 branch and final release of 10.0.

CHANGES.prev
Changes in previous NetBSD releases.

LAST_MINUTE
Last minute changes and notes about the release.

README.files
README describing the distribution's contents.

images/
Images (ISO 9660 or USB) for installing NetBSD. Depending on your system, these may be bootable.

source/
Source distribution sets; see below.

In addition to the files and directories listed above, there is one directory per architecture, for each of the architectures for which NetBSD 10.0 has a binary distribution.

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:

gnusrc
This set contains the ``gnu'' sources, including the source for the compiler, assembler, groff, and the other GNU utilities in the binary distribution sets.

sharesrc
This set contains the ``share'' sources, which include the sources for the man pages not associated with any particular program; the sources for the typesettable document set; the dictionaries; and more.

src
This set contains all of the base NetBSD 10.0 sources which are not in gnusrc, sharesrc, or syssrc.

syssrc
This set contains the sources to the NetBSD 10.0 kernel for all architectures as well as the config(1) utility.

xsrc
This set contains the sources to the X Window System.

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

In each of the source distribution set directories, there are files which contain the checksums of the files in the directory:

MD5
MD5 digests in the format produced by the command:
cksum -a MD5 file.

SHA512
SHA512 digests in the format produced by the command:
cksum -a SHA512 file.

The SHA512 digest is safer, but MD5 checksums are provided so that a wider range of operating systems can check the integrity of the release files.

NetBSD/sun3 subdirectory structure
The sun3-specific portion of the NetBSD 10.0 release is found in the sun3 subdirectory of the distribution: .../NetBSD-10.0/sun3/. It contains the following files and directories:

INSTALL.html
INSTALL.ps
INSTALL.txt
INSTALL.more
Installation notes in various file formats, including this file. The .more file contains underlined text using the more(1) conventions for indicating italic and bold display.
binary/
kernel/
netbsd-GENERIC.gz
A gzipped NetBSD kernel containing code for everything supported in this release.
sets/
sun3 binary distribution sets; see below.
installation/
miniroot/
sun3 miniroot file system image; see below.
misc/
Miscellaneous sun3 installation utilities; see installation section below.
netboot/
Two programs needed to boot sun3 kernels over the network.
tapeimage/
Tape boot programs, and a RAMDISK kernel.
Binary distribution sets
The NetBSD sun3 binary distribution sets contain the binaries which comprise the NetBSD 10.0 release for sun3. The binary distribution sets can be found in the sun3/binary/sets subdirectory of the NetBSD 10.0 distribution tree, and are as follows:

base
The NetBSD 10.0 sun3 base binary distribution. You must install this distribution set. It contains the base NetBSD utilities that are necessary for the system to run and be minimally functional.

comp
Things needed for compiling programs. This set includes the system include files (/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.

debug
This distribution set contains debug information for all base system utilities. It is useful when reporting issues with binaries or during development. This set is huge, if the target disk is small, do not install it.

etc
This distribution set contains the system configuration files that reside in /etc and in several other places. This set must be installed if you are installing the system from scratch, but should not be used if you are upgrading.

games
This set includes the games and their manual pages.

kern-GENERIC
This set contains a NetBSD/sun3 10.0 GENERIC kernel, named /netbsd. You must install this distribution set.

man
This set includes all of the manual pages for the binaries and other software contained in the base set. Note that it does not include any of the manual pages that are included in the other sets.

misc
This set includes the system dictionaries, the typesettable document set, and other files from /usr/share.

modules
This set includes kernel modules to add functionality to a running system.

rescue
This set includes the statically linked emergency recovery binaries installed in /rescue.

text
This set includes NetBSD's text processing tools, including 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 4.5.0. Binary sets for the X Window System are distributed with NetBSD. The sets are:

xbase
The basic files needed for a complete X client environment. This does not include the X servers.

xcomp
The extra libraries and include files needed to compile X source code.

xdebug
This distribution set contains debug information for all X11 binaries. It is useful when reporting issues with these binaries or during development. This set is huge, if the target disk is small, do not install it.

xfont
Fonts needed by the X server and by X clients.

xetc
Configuration files for X which could be locally modified.

xserver
The X server.

The sun3 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 -xzpf command from the root directory ( / ) of your system.

There is a collection of Sun3 and Sun3X kernels in the sun3/binary/kernels subdirectory of the NetBSD 10.0 distribution. The ones named netbsd-ramdisk*.gz contain a root file system image and should only be used for the initial installation. The others are included for convenience. (Most people will want to use netbsd-generic.gz or netbsd-generic3x.gz as appropriate.) Please note that these kernels are simply gzipped and are not tar archives.

Note:
Each directory in the sun3 binary distribution also has its own checksum files, just as the source distribution does.

NetBSD/sun3 System Requirements and Supported Devices

NetBSD/sun3 10.0 runs on most Sun3 machines, including:

3/50 3/60 3/110
3/75 3/150 3/160
3/260 3/280 3/E
3/80 3/470

Note that NetBSD/sun3 includes support for `Sun3X' machines, which used to be supported with a separate NetBSD/sun3x distribution.

The minimal configuration requires 4 MB of RAM and about 100 MB of disk space. To install the entire system requires much more disk space. To run X or compile the system, more RAM is recommended. Good performance requires 8 MB of RAM, or 16 MB when running the X Window System. A good rule of thumb is to have a swap partition twice the size of the amount of RAM in your machine. You will probably want to compile your own kernel, as GENERIC is large and bulky to accommodate all people.

Note that the sun3 installation procedure uses a miniroot image which is placed into the swap area of the disk. The swap partition must be at least as large as the miniroot image (10 MB).

Supported hardware

If it's not on this list, there is no support for it in this release.

Getting the NetBSD System on to Useful Media

Installation is supported from several media types, including:

Note:
Installing on a `bare' machine requires some bootable device; either a tape drive or Sun-compatible NFS server.

The procedure for transferring the distribution sets onto installation media depends on the type of media. Instructions for each type of media are given below.

In order to create installation media, you will need all the files in the directory

       .../NetBSD-10.0/sun3/

Creating boot/install tapes
Installing from tape is the simplest method of all. This method uses two tapes; one called the boot tape, and another called the install tape.

The boot tape is created as follows:


       # cd .../NetBSD-10.0/sun3/installation/tapeimage
       # sh MakeBootTape /dev/nrst0

The install tape is created as follows:


       # cd .../NetBSD-10.0/sun3/installation/tapeimage
       # sh MakeInstallTape /dev/nrst0

If the tapes do not work as expected, you may need to explicitly set the EOF mark at the end of each tape segment. It may also be necessary to use the conv=osync argument to dd(1). Note that this argument is incompatible with the bs= argument. Consult the tape-related manual pages on the system where the tapes are created for more details.

Boot/Install from NFS server
If your machine has a disk and network connection, but no tape drive, it may be convenient for you to install NetBSD over the network. This involves temporarily booting your machine over NFS, just long enough so you can initialize its disk. This method requires that you have access to an NFS server on your network so you can configure it to support diskless boot for your machine. Configuring the NFS server is normally a task for a system administrator, and is not trivial.

If you are using a NetBSD system as the boot-server, have a look at the diskless(8) manual page for guidelines on how to proceed with this. If the server runs another operating system, consult the documentation that came with it (i.e. add_client(8) on SunOS).

When instructed to boot over the network, your sun3 expects to be able to download a second stage bootstrap program via TFTP after it has acquired its IP address through RARP. It will attempt to download a file using a name derived from the machine's recently acquired IP address, and in the case of sun3x machines, an extension which corresponds to the machine architecture. (It may be handy to have a hexadecimal calculator for this next step.) The filename is created by converting the machine's assigned IP address into hexadecimal, most-significant octet first, using uppercase characters for the non-decimal (A-F) digits. sun3x machines use a filename suffix of .SUN3X.

For example, a sun3 which has been assigned IP address 130.115.144.11 will make an TFTP request for 8273900B, and a sun3x will try 8273900B.SUN3X. Normally, this file is a symbolic link to the NetBSD/sun3 netboot 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.) The netboot program may be found in the install directory of this distribution.

The netboot program will query a bootparamd server to find the NFS server address and path name for its root, and then load a kernel from that location. The server should have a copy of the netbsd-rd kernel in the root area for your client (no other files are needed in the client root) and /etc/bootparams on the server should have an entry for your client and its root directory. The client will need access to the miniroot image, which can be provided using NFS or remote shell.

If you will be installing NetBSD on several clients, it may be useful to know that you can use a single NFS root for all the clients as long as they only use the netbsd-rd kernel. There will be no conflict between clients because the RAM-disk kernel will not use the NFS root. No swap file is needed; the RAM-disk kernel does not use that either.

Install/Upgrade from CD-ROM
This method requires that you boot from another device (i.e. tape or network, as described above). You may need to make a boot tape on another machine using the files provided on the CD-ROM. Once you have booted netbsd-rd (the RAM-disk kernel) and loaded the miniroot, you can load any of the distribution sets directly from the CD-ROM. The install program in the miniroot automates the work required to mount the CD-ROM and extract the files.
Install/Upgrade via FTP
This method requires that you boot from another device (i.e. tape or network, as described above). You may need to make a boot tape on another machine using the files in .../install (which you get via FTP). Once you have booted netbsd-rd (the RAM-disk kernel) and loaded the miniroot, you can load any of the distribution sets over the net using FTP. The install program in the miniroot automates the work required to configure the network interface and transfer the files.

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.

Preparing your System for NetBSD installation

Sun3 machines usually need little or no preparation before installing NetBSD, other than the usual, well advised precaution of backing up all data on any attached storage devices.

You will need to know the SCSI target ID of the drive on which you will install NetBSD.

Note:
SunOS on the sun3 uses confusing names for the SCSI devices: target 1 is sd2, target 2 is sd4, etc.

It might be a good time to run the diagnostics on your Sun3. First, attach a terminal to the ttya serial port, then set the ``Diag/Norm'' switch to the Diagnostic position, and power-on the machine. The Diag. switch setting forces console interaction to occur on ttya. Note that the 3/80 has a ``software'' diag switch you can set at the PROM monitor prompt. To turn on diag boot mode, do: q 70b 12 To return to normal boot mode, do: q 70b 6.

The console location (ttya, ttyb, or keyboard/display) is controlled by address 0x1F in the EEPROM, which you can examine and change in the PROM monitor by entering q1f followed by a numeric value (or just a `.' if you don't want to change it). Console values are:

00
Default graphics display

10
tty a (9600-N-8-1)

11
tty b (1200-N-8-1)

20
Color option board on P4

Installing the NetBSD System

Installing NetBSD is a relatively complex process, but if you have this document in hand it should not be too difficult.

There are several ways to install NetBSD onto your disk. If your machine has a tape drive the easiest way is Installing from tape (details below). If your machine is on a network with a suitable NFS server, then Installing from NFS is the next best method. Otherwise, if you have another Sun machine running SunOS you can initialize the disk on that machine and then move the disk. (Installing from SunOS is not recommended.)

Installing from tape
Create the NetBSD/sun3 10.0 boot tape as described in the section entitled Creating boot/install tapes and boot the tape. At the PROM monitor prompt, use one of the commands:


       >b st()
       >b st(0,8,0)

The first example will use the tape on SCSI target 4, where the second will use SCSI target 5. The > is the monitor prompt.

After the tape loads, you should see many lines of configuration messages, and then the following `welcome' screen:

        Welcome to the NetBSD/sun3 RAMDISK root!
        

This environment is designed to do only three things: 1: Partition your disk (use the command: edlabel /dev/rsd0c) 2: Copy a miniroot image into the swap partition (/dev/rsd0b) 3: Reboot (using the swap partition, i.e. /dev/sd?b).

Note that the sun3 firmware cannot boot from a partition located more than 1 GB from the beginning of the disk, so the swap partition should be completely below the 1 GB boundary.

Copying the miniroot can be done several ways, allowing the source of the miniroot image to be on any of these: boot tape, NFS server, TFTP server, rsh server

The easiest is loading from tape, which is done as follows: mt -f /dev/nrst0 rewind mt -f /dev/nrst0 fsf 2 dd if=/dev/nrst0 of=/dev/rsd0b bs=32k conv=sync (For help with other methods, please see the install notes.)

To reboot using the swap partition, first use "halt", then at the PROM monitor prompt use a command like: b sd(,,1) -s

To view this message again, type: cat /.welcome

Copy the miniroot as described in the welcome message, and reboot from that just installed miniroot. See the section entitled Booting the miniroot for details.

Installing from NFS
Before you can install from NFS, you must have already configured your NFS server to support your machine as a diskless client. Instructions for configuring the server are found in the section entitled Getting the NetBSD System onto Useful Media above.

First, at the Sun PROM monitor prompt, enter a boot command using the network interface as the boot device. On desktop machines this is le, and ie on the others. Examples:


       >b le() -s
       >b ie() -s

After the boot program loads the RAMDISK kernel, you should see the welcome screen as shown in the Installing from tape section above. You must configure the network interface before you can use any network resources. For example the command:


       ssh> ifconfig le0 inet 192.233.20.198 up

will bring up the network interface with that address. The next step is to copy the miniroot from your server. This can be done using either NFS or remote shell. (In the examples that follow, the server has IP address 192.233.20.195.) You may then need to add a default route if the server is on a different subnet:


       ssh> route add default 192.233.20.255 1

You can look at the route table using:


       ssh> route show

Now mount the NFS file system containing the miniroot image:


       ssh> mount -r 192.233.20.195:/server/path /mnt

The procedure is simpler if you have space for an expanded (not compressed) copy of the miniroot image. In that case:


       ssh> dd if=/mnt/miniroot.fs of=/dev/rsd0b bs=8k

Otherwise, you will need to use zcat to expand the miniroot image while copying. This is tricky because the ssh program (small shell) does not handle sh(1) pipeline syntax. Instead, you first run the reader in the background with its input set to /dev/pipe and then run the other program in the foreground with its output to /dev/pipe. The result looks like this:


       ssh> run -bg dd if=/dev/pipe of=/dev/rsd0b obs=8k
       ssh> run -o /dev/pipe zcat /mnt/install/miniroot.fs.gz

To load the miniroot using rsh to the server, you would use a pair of commands similar to the above. Here is another example:


       ssh> run -b dd if=/dev/pipe of=/dev/rsd0b obs=8k
       ssh> run -o /dev/pipe rsh 192.233.20.195 zcat miniroot.fs.gz

Installing from SunOS
To install NetBSD/sun3 onto a machine already running SunOS, you will need the miniroot image (miniroot.fs.gz) and some means to decompress it.

First, boot SunOS and place the miniroot file onto the hard drive. If you do not have gzip for SunOS, you will need to decompress the image elsewhere before you can use it.

Next, bring SunOS down to single user mode to insure that nothing will be using the swap space on your drive. To be extra safe, reboot the machine into single-user mode rather than using the shutdown command.

Now copy the miniroot image onto your swap device (here /dev/rsd0b) with the command


       gzip -dc miniroot.fs.gz | dd of=/dev/rsd0b obs=32k

or if you have already decompressed the miniroot


       dd if=miniroot.fs of=/dev/rsd0b obs=32k

Finally, reboot the machine and instruct the ROM to boot from the swap device as described in the next section.

Booting the Miniroot
If the miniroot was installed on partition `b' of the disk with SCSI target ID=0 then the PROM boot command would be:


       >b sd(0,0,1) -s

With SCSI target ID=2, the PROM is:


       >b sd(0,10,1) -s

The numbers in parentheses above are:

  1. controller (usually zero)
  2. unit number (SCSI-ID * 8, in hexadecimal)
  3. partition number
Miniroot install program
The miniroot's install program is very simple to use. It will guide you through the entire process, and is well automated. Additional improvements are planned for future releases.

The miniroot's install program will:

First-time installation on a system through a method other than the installation program is possible, but strongly discouraged.

Post installation steps

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. The most important steps are described below.

  1. Before all else, read postinstall(8).

  2. Configuring /etc/rc.conf

    If you or the installation software haven't done any configuration of /etc/rc.conf (sysinst normally 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).

    When you have finished editing /etc/rc.conf, type exit at the prompt to leave the single-user shell and continue with the multi-user boot.

    Other values that may need to be set in /etc/rc.conf for a networked environment are hostname and possibly defaultroute. You may also need to add an ifconfig_int for your <int> network interface, along the lines of


           ifconfig_le0="inet 192.0.2.123 netmask 255.255.255.0"

    or, if you have myname.my.dom in /etc/hosts:


           ifconfig_le0="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.

    Instead of manually configuring networking, DHCP can be used by setting dhcpcd=YES in /etc/rc.conf.

  3. Logging in

    After reboot, you can log in as root at the login prompt. If you didn't set a password in sysinst, there is no initial password. You should create an account for yourself (see below) and protect it and the ``root'' account with good passwords. By default, root login from the network is disabled (even via ssh(1)). One way to become root over the network is to log in as a different user that belongs to group ``wheel'' (see group(5)) and use su(1) to become root.

  4. Adding accounts

    Use the useradd(8) command to add accounts to your system. Do not edit /etc/passwd directly! See vipw(8) and pwd_mkdb(8) if you want to edit the password database.

  5. The X Window System

    If you installed the X Window System, you may want to read the chapter about X in the NetBSD Guide:

  6. Installing third-party packages

    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, pkgsrc. pkgsrc automatically handles any changes necessary to make the software run on NetBSD. This includes the retrieval and installation of any other packages the software may depend upon.

  7. Misc

Upgrading a previously-installed NetBSD System

It is possible to easily upgrade your existing NetBSD/sun3 system using the upgrade program in the miniroot. If you wish to upgrade your system by this method, simply select the upgrade option once the miniroot has booted. The upgrade program with then guide you through the procedure. The upgrade program will:

Using the miniroot's upgrade program is the preferred method of upgrading your system.

However, it is possible to upgrade your system manually. To do this, follow the following procedure:

Note:
You should not extract the etc set if upgrading. Instead, you should extract that set into another area and carefully merge the changes by hand.

Compatibility Issues With Previous NetBSD Releases

Users upgrading from previous versions of NetBSD may wish to bear the following problems and compatibility issues in mind when upgrading to NetBSD 10.0.

Note that sysinst will automatically invoke

postinstall fix
and thus all issues that are fixed by postinstall by default will be handled.

In NetBSD9 and earlier, filesystems listed in /etc/fstab would be mounted before non-legacy zfs filesystems. Starting from NetBSD10 this order has been reversed.

If you have ever run a version of NetBSD-current between April 18, 2020 and September 23, 2022 (the version numbers used in the affected time range are between 9.99.56 and 9.99.106) your FFS file systems might have broken extended attributes stored.

You should follow this guide before booting the updated system multi-user for the first time.

Note that you do not need to do anything special if you never did run any affected kernel, especially if you have never run NetBSD-current.

The display drivers used for modern GPUs and the whole subsystem supporting it (DRM/KMS) have been updated to a newer version. Unfortunately not all issues with this have been resolved before the NetBSD10.0 release. You can find a list of issues in the Open issues with new DRM/KMS section of the release engineering wiki page.

A number of things have been removed from the NetBSD 10.0 release. See the ``Components removed from NetBSD'' section near the beginning of this document for a list.

Using online NetBSD documentation

Documentation is available if you installed the manual distribution set. Traditionally, the ``man pages'' (documentation) are denoted by `name(section)'. Some examples of this are

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.

Administrivia

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. See
       https://www.NetBSD.org/mailinglists/
for details.

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.

Bugs also can be submitted and queried with the web interface at
       https://www.NetBSD.org/support/send-pr.html

There are also port-specific mailing lists, to discuss aspects of each port of NetBSD. Use majordomo to find their addresses, or visit
       https://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 NetBSD, and have an idea as to how you could be useful, send us mail or subscribe to: netbsd-users@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. If you'd rather not do that, mail the list saying you'll send the data to those who want it.

Thanks go to

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:

NetBSD is a registered trademark of The NetBSD Foundation, Inc.

This product includes software developed by the University of California, Berkeley and its contributors.
This product includes software developed by the NetBSD Foundation.
This product includes software developed by The NetBSD Foundation, Inc. and its contributors.
This product includes software developed for the NetBSD Project. See https://www.NetBSD.org/ for information about NetBSD.
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)
This product includes cryptographic software written by Eric Young (eay@mincom.oz.au)
This product includes software designed by William Allen Simpson.
This product includes software developed at Ludd, University of Lule�.
This product includes software developed at Ludd, University of Lule�, Sweden and its contributors.
This product includes software developed at the Information Technology Division, US Naval Research Laboratory.
This product includes software developed by Aaron Brown and Harvard University.
This product includes software developed by Adam Ciarcinski for the NetBSD project.
This product includes software developed by Adam Glass.
This product includes software developed by Adam Glass and Charles M. Hannum.
This product includes software developed by Alex Zepeda.
This product includes software developed by Alex Zepeda, and Colin Wood for the NetBSD Project.
This product includes software developed by Allen Briggs.
This product includes software developed by Amancio Hasty and Roger Hardiman
This product includes software developed by Ben Gray.
This product includes software developed by Berkeley Software Design, Inc.
This product includes software developed by Bill Paul.
This product includes software developed by Bodo M�ller.
This product includes software developed by Boris Popov.
This product includes software developed by Brini.
This product includes software developed by Bruce M. Simpson.
This product includes software developed by Causality Limited.
This product includes software developed by Charles Hannum.
This product includes software developed by Charles M. Hannum.
This product includes software developed by Charles M. 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 Christian E. Hopps.
This product includes software developed by Christian E. Hopps, Ezra Story, Kari Mettinen, Markus Wild, Lutz Vieweg and Michael Teske.
This product includes software developed by Christopher G. Demetriou.
This product includes software developed by Christopher G. Demetriou for the NetBSD Project.
This product includes software developed by Chuck Silvers.
This product includes software developed by Cisco Systems, Inc.
This product includes software developed by Colin Wood.
This product includes software developed by Colin Wood for the NetBSD Project.
This product includes software developed by Computing Services at Carnegie Mellon University (http://www.cmu.edu/computing/).
This product includes software developed by Daan Vreeken.
This product includes software developed by Daishi Kato
This product includes software developed by Daniel Widenfalk and Michael L. Hitch.
This product includes software developed by Daniel Widenfalk for the NetBSD Project.
This product includes software developed by David Jones and Gordon Ross
This product includes software developed by David Miller.
This product includes software developed by Dean Huxley.
This product includes software developed by Emmanuel Dreyfus
This product includes software developed by Eric S. Hvozda.
This product includes software developed by Eric S. Raymond
This product includes software developed by Eric Young (eay@cryptsoft.com)
This product includes software developed by Eric Young (eay@mincom.oz.au)
This product includes software developed by Ezra Story.
This product includes software developed by Ezra Story and by Kari Mettinen.
This product includes software developed by Ezra Story, by Kari Mettinen and by Bernd Ernesti.
This product includes software developed by Ezra Story, by Kari Mettinen, and Michael Teske.
This product includes software developed by Ezra Story, by Kari Mettinen, Michael Teske and by Bernd Ernesti.
This product includes software developed by Frank van der Linden for the NetBSD Project.
This product includes software developed by Gardner Buchanan.
This product includes software developed by Garrett D'Amore.
This product includes software developed by Gary Thomas.
This product includes software developed by Gordon Ross
This product includes software developed by Harvard University.
This product includes software developed by Harvard University and its contributors.
This product includes software developed by Hellmuth Michaelis and Joerg Wunsch
This product includes software developed by Henrik Vestergaard Draboel.
This product includes software developed by Herb Peyerl.
This product includes software developed by Hidetoshi Shimokawa.
This product includes software developed by Hubert Feyrer for the NetBSD Project.
This product includes software developed by Ian W. Dall.
This product includes software developed by Intel Corporation and its contributors.
This product includes software developed by Internet Initiative Japan Inc.
This product includes software developed by Internet Research Institute, Inc.
This product includes software developed by James R. Maynard III.
This product includes software developed by Jared D. McNeill.
This product includes software developed by Jason L. Wright
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 Joerg Wunsch
This product includes software developed by John Birrell.
This product includes software developed by John P. Wittkoski.
This product includes software developed by John Polstra.
This product includes software developed by Jonathan R. Stone for the NetBSD Project.
This product includes software developed by Jonathan Stone.
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 Julian Highfield.
This product includes software developed by K. Kobayashi
This product includes software developed by K. Kobayashi and H. Shimokawa
This product includes software developed by Kazuhisa Shimizu.
This product includes software developed by Kazuki Sakamoto.
This product includes software developed by Kenneth Stailey.
This product includes software developed by Kiyoshi Ikehara.
This product includes software developed by Klaus Burkert,by Bernd Ernesti, by Michael van Elst, and by the University of California, Berkeley and its contributors.
This product includes software developed by Kyma Systems.
This product includes software developed by Leo Weppelman and Waldi Ravens.
This product includes software developed by Lloyd Parkes.
This product includes software developed by Lutz Vieweg.
This product includes software developed by Marc Horowitz.
This product includes software developed by Marcus Comstedt.
This product includes software developed by Mark Brinicombe.
This product includes software developed by Mark Brinicombe for the NetBSD Project.
This product includes software developed by Mark Tinguely and Jim Lowe
This product includes software developed by Markus Wild.
This product includes software developed by Marshall M. Midden.
This product includes software developed by Masanobu Saitoh.
This product includes software developed by Masaru Oki.
This product includes software developed by Matt DeBergalis
This product includes software developed by Matthew Fredette.
This product includes software developed by Michael Smith.
This product includes software developed by Microsoft
This product includes software developed by Mika Kortelainen
This product includes software developed by Mike Pritchard.
This product includes software developed by Mike Pritchard and contributors.
This product includes software developed by Minoura Makoto.
This product includes software developed by MINOURA Makoto, Takuya Harakawa.
This product includes software developed by Niels Provos.
This product includes software developed by Niklas Hallqvist.
This product includes software developed by Niklas Hallqvist, Brandon Creighton and Job de Haas.
This product includes software developed by Paolo Abeni.
This product includes software developed by Paul Kranenburg.
This product includes software developed by Paul Mackerras.
This product includes software developed by Paul Mackerras .
This product includes software developed by Pedro Roque Marques
This product includes software developed by Per Fogelstrom.
This product includes software developed by Peter Galbavy.
This product includes software developed by Phase One, Inc.
This product includes software developed by Philip A. Nelson.
This product includes software developed by QUALCOMM Incorporated.
This product includes software developed by Ravikanth.
This product includes software developed by RiscBSD.
This product includes software developed by Roar Thron�s.
This product includes software developed by Rodney W. Grimes.
This product includes software developed by Roger Hardiman
This product includes software developed by Rolf Grossmann.
This product includes software developed by Ross Harvey.
This product includes software developed by Ross Harvey for the NetBSD Project.
This product includes software developed by Scott Bartram.
This product includes software developed by Scott Stevens.
This product includes software developed by Shingo WATANABE.
This product includes software developed by Softweyr LLC, the University of California, Berkeley, and its contributors.
This product includes software developed by Stephan Thesing.
This product includes software developed by Steven M. Bellovin
This product includes software developed by Takashi Hamada.
This product includes software developed by Takumi Nakamura.
This product includes software developed by Tatoku Ogaito for the NetBSD Project.
This product includes software developed by Tommi Komulainen .
This product includes software developed by TooLs GmbH.
This product includes software developed by Trimble Navigation, Ltd.
This product includes software developed by Waldi Ravens.
This product includes software developed by WIDE Project and its contributors.
This product includes software developed by Winning Strategies, Inc.
This product includes software developed by Yen Yen Lim and North Dakota State University
This product includes software developed by Zembu Labs, Inc.
This product includes software developed by the Alice Group.
This product includes software developed by the Computer Systems Engineering Group at Lawrence Berkeley Laboratory.
This product includes software developed by the Computer Systems Laboratory at the University of Utah.
This product includes software developed by the Harvard University and its contributors.
This product includes software developed by the Kungliga Tekniska H�gskolan and its contributors.
This product includes software developed by the Network Research Group at Lawrence Berkeley Laboratory.
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)
This product includes software developed by the PocketBSD project and its contributors.
This product includes software developed by the RiscBSD kernel team
This product includes software developed by the RiscBSD team.
This product includes software developed by the SMCC Technology Development Group at Sun Microsystems, Inc.
This product includes software developed by the University of California, Lawrence Berkeley Laboratories.
This product includes software developed by the University of California, Lawrence Berkeley Laboratory.
This product includes software developed by the University of California, Lawrence Berkeley Laboratory 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 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 the Urbana-Champaign Independent Media Center.
This product includes software developed for the FreeBSD project
This product includes software developed for the NetBSD Project by Allegro Networks, Inc., and Wasabi Systems, Inc.
This product includes software developed for the NetBSD Project by Bernd Ernesti.
This product includes software developed for the NetBSD Project by Christopher G. Demetriou.
This product includes software developed for the NetBSD Project by Eiji Kawauchi.
This product includes software developed for the NetBSD Project by Frank van der Linden
This product includes software developed for the NetBSD Project by Genetec Corporation.
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 Jonathan Stone.
This product includes software developed for the NetBSD Project by Kyma Systems LLC.
This product includes software developed for the NetBSD Project by Matthias Drochner.
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 Shigeyuki Fukushima.
This product includes software developed for the NetBSD Project by SUNET, Swedish University Computer Network.
This product includes software developed for the NetBSD Project by Wasabi Systems, Inc.
This product includes software developed or owned by Caldera International, Inc.
This product includes software developed under OpenBSD by Per Fogelstrom.
This product includes software developed under OpenBSD by Per Fogelstrom Opsycon AB for RTMX Inc, North Carolina, USA.
This software was developed by Holger Veit and Brian Moore for use with "386BSD" and similar operating systems. "Similar operating systems" includes mainly non-profit oriented systems for research and education, including but not restricted to "NetBSD", "FreeBSD", "Mach" (by CMU).
The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation.

In the following statement, the phrase ``this text'' refers to portions of the system documentation.

Portions of this text are reprinted and reproduced in electronic form in NetBSD, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document.

The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.

This notice shall appear on any product containing this material.

In the following statement, "This software" refers to the parallel port driver:

This software is a component of "386BSD" developed by William F. Jolitz, TeleMuse.

Some files have the following copyright:

Mach Operating System
Copyright (c) 1991,1990,1989 Carnegie Mellon University
All Rights Reserved.

Permission to use, copy, modify and distribute this software and its documentation is hereby granted, provided that both the copyright notice and this permission notice appear in all copies of the software, derivative works or modified versions, and any portions thereof, and that both notices appear in supporting documentation.

CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.

Carnegie Mellon requests users of this software to return to
Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
School of Computer Science
Carnegie Mellon University
Pittsburgh PA 15213-3890

any improvements or extensions that they make and grant Carnegie the rights to redistribute these changes.

Some files have the following copyright:

Copyright (c) 1994, 1995 Carnegie-Mellon University.
All rights reserved.

Author: Chris G. Demetriou

Permission to use, copy, modify and distribute this software and its documentation is hereby granted, provided that both the copyright notice and this permission notice appear in all copies of the software, derivative works or modified versions, and any portions thereof, and that both notices appear in supporting documentation.
CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.

Carnegie Mellon requests users of this software to return to
Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
School of Computer Science
Carnegie Mellon University
Pittsburgh PA 15213-3890

any improvements or extensions that they make and grant Carnegie the rights to redistribute these changes.

Some files have the following copyright:

Copyright 1996 The Board of Trustees of The Leland Stanford Junior University. All Rights Reserved.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies. Stanford University makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

The End