INSTALL(8) NetBSD System Manager's Manual INSTALL(8) NAME INSTALL -- Installation procedure for NetBSD/sun2. 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_RC3 Release Contents NetBSD/sun2 subdirectory structure Binary distribution sets NetBSD/sun2 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_RC3 on the sun2 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 util- ity programs. This is the format in which the on-line man pages are generally presented. .txt Plain old ASCII. You are reading the ASCII version. What is NetBSD? The NetBSD Operating System is a fully functional open- source operating system derived from the University of Cali- fornia, 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_RC3 release contains complete binary releases for most of these system architectures, with preliminary support for the others included in source form. Please see the NetBSD website: https://www.NetBSD.org/ for information on them. NetBSD is a completely integrated system. In addition to its highly portable, high performance kernel, NetBSD fea- tures a complete set of user utilities, compilers for sev- eral 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 commu- nity. 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_RC3 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 controll lists on FFS file systems. For new installations the installer will default to disable this features, so the file system is compatible with older NetBSD releases (before 10), and allow other operating sys- tems 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: https://wiki.netbsd.org/tutorials/acls_and_extended_attributes_on_ffs. 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_RC3 release. The complete list of changes can be found in the following files: CHANGES: https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC3/CHANGES CHANGES-10.0: https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC3/CHANGES-10.0 files 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: o groff(1). Man pages are now handled with mandoc(1), and groff(1) can still be found in pkgsrc as textproc/groff. o pf(4). This packet filter is obsolete and unmain- tained in NetBSD. It will be eventually removed due to possible long-standing security issues and lack of multiprocessor support. New installations should use npf(7). 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 trade- mark of the word ``NetBSD''. It supports the design, devel- opment, 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: https://www.NetBSD.org/mirrors/ NetBSD 10.0_RC3 Release Contents The root directory of the NetBSD 10.0_RC3 release is orga- nized as follows: .../NetBSD-10.0_RC3/ 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 architec- tures for which NetBSD 10.0_RC3 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 dis- tribution 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 associ- ated 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_RC3 sources which are not in gnusrc, sharesrc, or syssrc. syssrc This set contains the sources to the NetBSD 10.0_RC3 kernel for all architectures as well as the config(1) utility. xsrc This set contains the sources to the X Window Sys- tem. 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 com- mand: 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/sun2 subdirectory structure The sun2-specific portion of the NetBSD 10.0_RC3 release is found in the sun2 subdirectory of the distribution: .../NetBSD-10.0_RC3/sun2/. 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 every- thing supported in this release. sets/ sun2 binary distribution sets; see below. installation/ miniroot/ sun2 miniroot file system image; see below. misc/ Miscellaneous sun2 installation utilities; see installation section below. netboot/ Two programs needed to boot sun2 kernels over the network. tapeimage/ Tape boot program, and two shell scripts used to prepare tapes. Binary distribution sets The NetBSD sun2 binary distribution sets contain the bina- ries which comprise the NetBSD 10.0_RC3 release for sun2. The binary distribution sets can be found in the sun2/binary/sets subdirectory of the NetBSD 10.0_RC3 distri- bution tree, and are as follows: base The NetBSD 10.0_RC3 sun2 base binary distribution. You must install this distribution set. It con- tains 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 develop- ment. This set is huge, if the target disk is small, do not install it. etc This distribution set contains the system configu- ration 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/sun2 10.0_RC3 GENERIC kernel, named /netbsd. You must install this dis- tribution 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 man- ual 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 functional- ity to a running system. rescue This set includes the statically linked emergency recover 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 compatibil- ity. NetBSD/sun2 currently does not ship with an X server or X clients. The sun2 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 Sun2 kernels in the sun2/binary/kernel subdirectory of the NetBSD 10.0_RC3 dis- tribution. The one 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-FOURMEG.gz as appropriate.) Please note that these kernels are simply gzipped and are not tar archives. Note: Each directory in the sun2 binary distribution also has its own checksum files, just as the source dis- tribution does. NetBSD/sun2 System Requirements and Supported Devices NetBSD/sun2 10.0_RC3 runs on Multibus Sun2 machines, includ- ing: 2/120 2/170 2/100U The minimal configuration requires 4 MB of RAM and about 130 MB of disk space. To install the entire system requires much more disk space. To compile the system, more RAM is recommended. Good performance requires 7 MB of RAM. 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 sun2 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 (12 MB). Supported hardware o Serial ports (RS232) - built-in ttya, ttyb - ttyc, ttyd, ttye, ttyf on first sc SCSI - ttyg, ttyh, ttyi, ttyj on second sc SCSI o Video adapters - bwtwo o Network interfaces: - Multibus Intel Ethernet - Multibus 3Com Ethernet o SCSI - Most SCSI disks, tapes, CD-ROMs, etc - Multibus Sun-2 SCSI (sc) o Input devices - Sun keyboard and mouse o Miscellaneous - Battery-backed real-time clock. 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, includ- ing: o Tape o NFS o CD-ROM o FTP 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. Instruc- tions 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_RC3/sun2/ 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_RC3/sun2/installation/tapeimage # sh MakeBootTape /dev/nrst0 The install tape is created as follows: # cd .../NetBSD-10.0_RC3/sun2/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 sys- tem 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 sun2 expects to be able to download first and second stage bootstrap pro- grams via ND, the Network Disk protocol. The ndbootd(8) program will attempt to serve a second-stage bootstrap file using a name derived from the machine's recently acquired IP address and an extension which corresponds to the machine architecture. (It may be handy to have a hexadecimal calcu- lator for this next step.) The filename prefix is created by converting the machine's assigned IP address into hexa- decimal, most-significant octet first, using uppercase char- acters for the non-decimal (A-F) digits. The filename suf- fix used by all sun2 machines is SUN2. For example, a sun2 which has been assigned IP address 130.115.144.11 will be served a second-stage bootstrap file named 8273900B.SUN2. Normally, this file is a symbolic link to the NetBSD/sun2 netboot program, which should be located in a place where the ndbootd(8) daemon can find it. The netboot program may be found in the installation/netboot 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-RAMDISK kernel in the root area for your client, hard-linked under the names netbsd and vmunix (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-RAMDISK ker- nel. 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 distribu- tion 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 installation/tapeimage and binary/kernel (which you get via FTP). Once you have booted netbsd-RAMDISK (the RAM-disk kernel) and loaded the miniroot, you can load any of the distribution sets over the net using FTP. The install pro- gram in the miniroot automates the work required to config- ure 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 Sun2 machines usually need little or no preparation before installing NetBSD, other than the usual, well advised pre- caution 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 sun2 uses confusing names for the SCSI devices: target 1 is sd2, target 2 is sd4, etc. Installing the NetBSD System Installing NetBSD is a relatively complex process, but if you have this document in hand it should not be too diffi- cult. 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/sun2 10.0_RC3 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 com- mands: >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 configu- ration messages, and then the following `welcome' screen: Welcome to the NetBSD/sun2 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 sun2 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 con- figured your NFS server to support your machine as a disk- less 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. If your machine has Intel Ethernet, this is ie, and if it has 3Com Ethernet, this is ec. Examples: >b ie() -s >b ec() -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 ie0 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 exam- ples 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 -o rdonly,-r=1024 192.233.20.195:/server/path /mnt The procedure is simpler and much faster 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 Note that decompression on a sun2 is extremely slow, be pre- pared to wait. For this reason, expanding the miniroot image on the NFS server is highly recommended. Once the miniroot has been copied using one of the above methods, you reboot from that just installed miniroot. See the section entitled Booting the miniroot for details. Installing from SunOS To install NetBSD/sun2 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 PROM to boot from the swap device as described in the next section. Booting the Miniroot If the machine is not already at the PROM monitor, run the halt command. 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 auto- mated. Additional improvements are planned for future releases. The miniroot's install program will: o Allow you to place disklabels on additional disks. The disk we are installing on should already have been partitioned using the RAMDISK kernel. o Create file systems on target partitions. o Allow you to set up your system's network configu- ration. Remember to specify host names without the domain name appended to the end. For example use foo instead of foo.bar.org. If, during the process of configuring the network interfaces, you make a mistake, you will be able to re-configure that interface by simply selecting it for configu- ration again. o Mount target file systems. You will be given the opportunity to manually edit the resulting /etc/fstab. o Extract binary sets from the media of your choice. o Copy configuration information gathered during the installation process to your root file system (/). o Make device nodes in your root file system under /dev. o Copy a new kernel onto your root partition (/). o Install a new boot block. o Check your file systems for integrity. First-time installation on a system through a method other than the installation program is possible, but strongly dis- couraged. 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 what- ever is appropriate for your terminal type) and press RETURN. You may need to type one of the following com- mands to get your delete key to work properly, depend- ing 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 pro- ceed. Default values for the various programs can be found in /etc/defaults/rc.conf, where some in-line doc- umentation 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 con- tinue 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 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 sys- tem. Do not edit /etc/passwd directly! See vipw(8) and pwd_mkdb(8) if you want to edit the password database. 5. 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 nec- essary to make the software run on NetBSD. This includes the retrieval and installation of any other packages the software may depend upon. o More information on the package system is available at https://www.NetBSD.org/docs/software/packages.html o A list of available packages suitable for browsing is at https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/README.html o Precompiled binaries can be found at https://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/ usually in the sun2/10.0_RC3/All subdir. If you installed pkgin(1) in the sysinst post-installation configuration menu, you can use it to automatically install binary packages over the network. Assuming that /usr/pkg/etc/pkgin/repositories.conf is cor- rectly configured, you can install them with the following commands: # pkgin install tcsh bash perl apache xfce4 firefox ... The above command will install the Tenex-csh and Bourne Again shells, the Perl programming language, Apache web server, Xfce desktop environment and the Firefox web browser as well as all the packages they depend on. If it was not automatically installed, pkgin(1) can be installed on a fresh NetBSD system with pkg_add(1): export PKG_PATH=https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r | cut -d_ -f1)/All pkg_add pkgin o If you wish to use the pkgsrc(7) framework for com- piling packages and did not install it from the sysinst(8) post-installation configuration menu, you can obtain it by retrieving the file https://cdn.NetBSD.org/pub/pkgsrc/stable/pkgsrc.tar.gz. It is typically extracted into /usr/pkgsrc (though other locations work fine) with the commands: # cd /usr # tar -zxpf pkgsrc.tar.gz After extracting, see the doc/pkgsrc.txt file in the extraction directory (e.g., /usr/pkgsrc/doc/pkgsrc.txt) for more information. 6. Misc o Edit /etc/mail/aliases to forward root mail to the right place. Don't forget to run newaliases(1) afterwards. o Edit /etc/rc.local to run any local daemons you use. o Many of the /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. Upgrading a previously-installed NetBSD System It is possible to easily upgrade your existing NetBSD/sun2 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: o Enable the network based on your system's current network configuration. o Mount your existing file systems. o Extract binary sets from the media of your choice. o Make new device nodes in your root file system under /dev. o Copy a new kernel onto your root partition (/). Note: the existing kernel will not be backed up; doing so would be pointless, since older kernels may not be capable of running NetBSD 10.0_RC3 executables. o Install a new boot block. o Check your file systems for integrity. 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: o Place at least the base binary set in a file sys- tem accessible to the target machine. A local file system is preferred, since the NFS subsystem in the NetBSD 10.0_RC3 kernel may be incompatible with your old binaries. o Back up your pre-existing kernel and copy the 10.0_RC3 kernel into your root partition (/). o Reboot with the 10.0_RC3 kernel into single-user mode. (Otherwise you can not install the boot block.) o Check all file systems: # /sbin/fsck -pf o Mount all local file systems: # /sbin/mount -a -t nonfs o If you keep /usr or /usr/share on an NFS server, you will want to mount those file systems as well. To do this, you will need to enable the network: # sh /etc/rc.d/network start o Make sure you are in the root file system (/ and extract the) base binary set: # cd / # pax -zrvpe -f Ar /path/to/base.tgz o Install a new boot block: (assuming root is on /dev/rsd0a) # cd /usr/mdec # cp -p ./ufsboot /mnt/ufsboot # sync ; sleep 1 ; sync # /usr/sbin/installboot -v /dev/rsd0a bootxx /ufsboot o Sync the file systems: sync o At this point you may extract any other binary sets you may have placed on local file systems, or you may wish to extract additional sets at a later time. To extract these sets, use the following commands: # cd / # pax -zrvpe -f path_to_set 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_RC3. Note that sysinst will automatically invoke postinstall fix and thus all issues that are fixed by postinstall by default will be handled. In NetBSD 9 and earlier, filesystems listed in /etc/fstab would be mounted before non-legacy zfs filesystems. Starting from NetBSD 10 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: https://wiki.netbsd.org/features/UFS2ea/ 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 sub- system supporting it (DRM/KMS) have been updated to a newer version. Unfortunately not all issues with this have been resolved before the NetBSD 10.0 release. You can find a list of issues in the Open issues with new DRM/KMS: https://wiki.netbsd.org/releng/netbsd-10/ section of the release engineering wiki page. A number of things have been removed from the NetBSD 10.0_RC3 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 dis- tribution set. Traditionally, the ``man pages'' (documenta- tion) are denoted by `name(section)'. Some examples of this are o intro(1), o man(1), o apropos(1), o passwd(1), and o passwd(5). The section numbers group the topics into several cate- gories, but three are of primary interest: user commands are in section 1, file formats are in section 5, and administra- tive 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 num- bered section name will be displayed. For instance, after logging in, enter # man passwd to read the documentation for passwd(1). To view the docu- mentation 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 pos- sibly 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 inter- face 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 appro- priate 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 o The former members of UCB's Computer Systems Research Group, including (but not limited to): Keith Bostic Ralph Campbell Mike Karels Marshall Kirk McKusick for their work on BSD systems, support, and encourage- ment. o The Internet Systems Consortium, Inc. for hosting the NetBSD FTP, CVS, AnonCVS, mail, mail archive, GNATS, SUP, Rsync and WWW servers. o The Internet Research Institute in Japan for hosting the server which runs the CVSweb interface to the NetBSD source tree. o The Columbia University Computer Science Department for hosting the build cluster. o The many organizations that provide NetBSD mirror sites. o Without CVS, this project would be impossible to manage, so our hats go off to Brian Berliner, Jeff Polk, and the various other people who've had a hand in making CVS a useful tool. o We list the individuals and organizations that have made donations or loans of hardware and/or money, to support NetBSD development, and deserve credit for it at https://www.NetBSD.org/donations/ (If you're not on that list and should be, tell us! We probably were not able to get in touch with you, to ver- ify that you wanted to be listed.) o Finally, we thank all of the people who've put sweat and tears into developing NetBSD since its inception in Jan- uary, 1993. (Obviously, there are a lot more people who deserve thanks here. If you're one of them, and would like to be mentioned, tell us!) Legal Mumbo-Jumbo All product names mentioned herein are trademarks or regis- tered trademarks of their respective owners. The following notices are required to satisfy the license terms of the software that we have mentioned in this docu- ment: 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 Foun- dation. This product includes software developed by The NetBSD Foun- dation, 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 Lulea. This product includes software developed at Ludd, University of Lulea, 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 Soft- ware Design, Inc. This product includes software developed by Bill Paul. This product includes software developed by Bodo Moeller. This product includes software developed by Boris Popov. This product includes software developed by Brini. This product includes software developed by Bruce M. Simp- son. This product includes software developed by Causality Lim- ited. This product includes software developed by Charles Hannum. This product includes software developed by Charles M. Han- num. This product includes software developed by Charles M. Han- num, 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 Ser- vices at Carnegie Mellon University (http://www.cmu.edu/com- puting/). 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 Univer- sity. This product includes software developed by Harvard Univer- sity and its contributors. This product includes software developed by Hellmuth Michaelis and Joerg Wunsch This product includes software developed by Henrik Vester- gaard 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 Corpora- tion and its contributors. This product includes software developed by Internet Initia- tive 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. Wit- tkoski. 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 High- field. 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. Mid- den. 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 Fre- dette. 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 Hal- lqvist. This product includes software developed by Niklas Hal- lqvist, 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 Mar- ques 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. Nel- son. This product includes software developed by QUALCOMM Incor- porated. This product includes software developed by Ravikanth. This product includes software developed by RiscBSD. This product includes software developed by Roar Thronaes. 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 contribu- tors. 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 Naviga- tion, 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 Strate- gies, 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 Uni- versity and its contributors. This product includes software developed by the Kungliga Tekniska Hoegskolan 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 ker- nel team This product includes software developed by the RiscBSD team. This product includes software developed by the SMCC Tech- nology 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 contrib- utors. 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-Cham- paign 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. "Simi- lar 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 Univer- sity All Rights Reserved. Permission to use, copy, modify and distribute this software and its documentation is hereby granted, pro- vided that both the copyright notice and this permis- sion notice appear in all copies of the software, de- rivative 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 LIABIL- ITY 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.Dis- tribution@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, pro- vided that both the copyright notice and this permis- sion notice appear in all copies of the software, de- rivative 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.Dis- tribution@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 Uni- versity makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. The End NetBSD/sun2 10.0_RC3 Jan 16, 2024 NetBSD/sun2 10.0_RC3