August 22, 2004 INSTALL 8 NetBSD

NAME

INSTALL - Installation procedure for NetBSD/atari.

CONTENTS

                                                              

About this Document............................................2 What is NetBSD?................................................3 Changes Between The NetBSD 3.0.1 and 3.0.2 updates.............3 Kernel......................................................3 Networking..................................................3 File system.................................................3 Libraries...................................................3 Security....................................................3 Miscellaneous...............................................4 amd64 specific..............................................4 sparc specific..............................................4 mac68k specific.............................................4 Changes Between The NetBSD 3.0 release and 3.0.1 update........4 Kernel......................................................4 Networking..................................................5 File system.................................................5 Libraries...................................................5 Security....................................................6 Miscellaneous...............................................6 acorn26 specific............................................6 amiga specific..............................................6 hp300 specific..............................................6 i386 specific...............................................7 m68k specific...............................................7 mips specific...............................................7 powerpc specific............................................7 sparc specific..............................................7 xen specific................................................7 The Future of NetBSD...........................................7 Sources of NetBSD..............................................8 NetBSD 3.0.2 Release Contents..................................8 NetBSD/atari subdirectory structure.........................9 Binary distribution sets...................................10 NetBSD/atari System Requirements and Supported Devices........12 Supported devices..........................................13 Getting the NetBSD System on to Useful Media..................13 Preparing your System for NetBSD installation.................14 Preparing your hard disk for the NetBSD installation.......14 Booting the installer on an existing system................16 Booting the installer on new systems.......................16 Using loadbsd.ttp..........................................16 Installing the NetBSD System..................................17 Running the sysinst installation program...................17 Introduction............................................17 General.................................................17 Quick install...........................................17 Booting NetBSD..........................................19 Network configuration...................................19 Installation drive selection and parameters.............19 Partitioning the disk...................................19 Preparing your hard disk................................20 Getting the distribution sets...........................20 Installation using ftp..................................21 Installation using NFS..................................21 Installation from CD-ROM................................21 Installation from an unmounted file system..............21 Installation from a local directory.....................22 Extracting the distribution sets........................22 Finalizing your installation............................22 Post installation steps.......................................22 Upgrading a previously-installed NetBSD System................25 Compatibility Issues With Previous NetBSD Releases............25 Issues affecting an upgrade from NetBSD 2.1 and older......26 Using online NetBSD documentation.............................26 Administrivia.................................................27 Thanks go to..................................................27 We are........................................................32 Legal Mumbo-Jumbo.............................................38 The End.......................................................44

DESCRIPTION

About this Document

This document describes the installation procedure for NetBSD3.0.2 on the atari 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 UNIX-like operating system derived from the University of California, Berkeley Networking Release 2 (Net/2), 4.4BSD-Lite, and 4.4BSD-Lite2 sources. NetBSD runs on fifty four different system architectures (ports), featuring seventeen machine architectures across fifteen distinct CPU families, and is being ported to more. The NetBSD3.0.2 release contains complete binary releases for many different system architectures. (A few ports are not fully supported at this time and are thus not part of the binary distribution. For information on them, please see the NetBSD web site at http://www.NetBSD.org/.)

NetBSD is a completely integrated system. In addition to its highly portable, high performance kernel, NetBSD features a complete set of user utilities, compilers for several languages, the X Window System, firewall software and numerous other tools, all accompanied by full source code.

NetBSD is a creation of the members of the Internet community. Without the unique cooperation and coordination the net makes possible, it's likely that NetBSD wouldn't exist.

Changes Between The NetBSD 3.0.1 and 3.0.2 updates

The NetBSD 3.0.2 update is the second security/critical update of the NetBSD 3.0 release branch. This represents a selected subset of fixes deemed critical in nature for stability or security reasons.

These fixes will also appear in future releases (NetBSD 3.1 etc), together with other less-critical fixes and feature enhancements.

Specific updates are as follows:

Kernel
Networking
File system
Libraries
Security
Miscellaneous
amd64 specific
sparc specific
mac68k specific

Changes Between The NetBSD 3.0 release and 3.0.1 update

The NetBSD 3.0.1 update is the first security/critical update of the NetBSD 3.0 release branch. This represents a selected subset of fixes deemed critical in nature for stability or security reasons.

These fixes will also appear in future releases (NetBSD 3.1 etc), together with other less-critical fixes and feature enhancements.

Specific updates are as follows:

Kernel
Networking
File system
Libraries
Security
Miscellaneous
acorn26 specific
amiga specific
hp300 specific
i386 specific
m68k specific
mips specific
powerpc specific
sparc specific
xen specific

The atari release was imported into NetBSD in in March 1995. The first major release was NetBSD1.1. About a year later, NetBSD1.2 was released for the Atari. This release fixed a large number of bugs and made the Atari-port a stable member of the NetBSD family. The saga continued with the NetBSD1.3 release. In this release, support was added for the Medusa Hades, Riebl ethernet and Falcon IDE support. NetBSD1.4 was released in 1999, and added support for various devices. NetBSD1.5 was released in late 2000, NetBSD1.6 was released in 2002, NetBSD2.0 was released in 2004. And now, NetBSD3.0.2 is emerging!

The Future of NetBSD

The NetBSD Foundation has been incorporated as a non-profit organization. Its purpose is to encourage, foster and promote the free exchange of computer software, namely the NetBSD Operating System. The foundation will allow for many things to be handled more smoothly than could be done with our previous informal organization. In particular, it provides the framework to deal with other parties that wish to become involved in the NetBSD Project.

The NetBSD Foundation will help improve the quality of NetBSD by:

We intend to begin narrowing the time delay between releases. Our ambition is to provide a full release every six to eight months.

We hope to support even more hardware in the future, and we have a rather large number of other ideas about what can be done to improve NetBSD.

We intend to continue our current practice of making the NetBSD-current development source available on a daily basis.

We intend to integrate free, positive changes from whatever sources submit them, providing that they are well thought-out and increase the usability of the system.

Above all, we hope to create a stable and accessible system, and to be responsive to the needs and desires of NetBSD users, because it is for and because of them that NetBSD exists.

Sources of NetBSD

Refer to http://www.NetBSD.org/mirrors/.

NetBSD 3.0.2 Release Contents

The root directory of the NetBSD3.0.2 release is organized as follows:

.../NetBSD-3.0.2/

CHANGES
Changes since earlier NetBSD releases.

LAST_MINUTE
Last minute changes.

MIRRORS
A list of sites that mirror the NetBSD3.0.2 distribution.

README.files
README describing the distribution's contents.

TODO
NetBSD's todo list (also somewhat incomplete and out of date).

patches/
Post-release source code patches.

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 NetBSD3.0.2 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.
79 MB gzipped, 367 MB uncompressed

pkgsrc
This set contains the ``pkgsrc'' sources, which contain the infrastructure to build third-party packages.
24 MB gzipped, 200 MB uncompressed

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.
5 MB gzipped, 20 MB uncompressed

src
This set contains all of the base NetBSD3.0.2 sources which are not in gnusrc, sharesrc, or syssrc.
37 MB gzipped, 176 MB uncompressed

syssrc
This set contains the sources to the NetBSD3.0.2 kernel for all architectures; config(8); and dbsym(8).
26 MB gzipped, 140 MB uncompressed

xsrc
This set contains the sources to the X Window System.
84 MB gzipped, 450 MB uncompressed

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:

BSDSUM
Historic BSD checksums for the various files in that directory, in the format produced by the command:
cksum -o 1 file.

CKSUM
POSIX checksums for the various files in that directory, in the format produced by the command:
cksum file.

MD5
MD5 digests for the various files in that directory, in the format produced by the command:
cksum-m file.

SYSVSUM
Historic AT&T System V UNIX checksums for the various files in that directory, in the format produced by the command:
cksum -o 2 file.

The MD5 digest is the safest checksum, followed by the POSIX checksum. The other two checksums are provided only to ensure that the widest possible range of system can check the integrity of the release files.

NetBSD/atari subdirectory structure
The atari-specific portion of the NetBSD3.0.2 release is found in the atari subdirectory of the distribution: .../NetBSD-3.0.2/atari/. 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-ATARITT.gz
A kernel specifically tuned for the Atari TT030.
netbsd-BOOT.gz
A kernel for both the Falcon and TT030. It is kept pretty small, so you can use it to boot the system for installation on memory-tight systems. This is the kernel supplied on the boot.fs floppy.
netbsd-BOOTX.gz
Same as the BOOT kernel, but it has slightly more features. You can run X11 with it.
netbsd-FALCON.gz
A kernel specifically tuned for the Atari Falcon.
netbsd-HADES.gz
A kernel specifically tuned for the Hades.
netbsd-MILAN-ISAIDE.gz
A kernel specifically tuned for the MILAN using IDE in ISA mode.
netbsd-MILAN-PCIIDE.gz
A kernel specifically tuned for the MILAN using IDE in PCI mode.
sets/
atari binary distribution sets; see below.
installation/
floppy/
atari boot and installation floppies; see below.
miniroot/
atari miniroot file system image; see below.
misc/
Binary distribution sets
The NetBSD atari binary distribution sets contain the binaries which comprise the NetBSD3.0.2 release for the atari. The binary distribution sets can be found in the atari/binary/sets subdirectory of the NetBSD3.0.2 distribution tree, and are as follows:

base
The NetBSD3.0.2 atari 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. It includes shared library support, and excludes everything described below.
16 MB gzipped, 46 MB uncompressed

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.
18 MB gzipped, 69 MB uncompressed

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.
1 MB gzipped, 1 MB uncompressed

games
This set includes the games and their manual pages.
3 MB gzipped, 7 MB uncompressed

kern-BOOT, kern-HADES, kern-MILAN-ISAIDE, kern-MILAN-PCIIDE
These sets contain a NetBSD/atari 3.0.2 kernel, named /netbsd. You must install the kernel that matches your hardware.
2 MB gzipped, 3 MB uncompressed

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.
8 MB gzipped, 30 MB uncompressed

misc
This set includes the (rather large) system dictionaries, the typesettable document set, and other files from /usr/share.
3 MB gzipped, 9 MB uncompressed

text
This set includes NetBSD's text processing tools, including groff(1), all related programs, and their manual pages.
2 MB gzipped, 7 MB uncompressed

NetBSD maintains its own set of sources for the X Window System in order to assure tight integration and compatibility. These sources are based on XFree86, and tightly track XFree86 releases. They are currently equivalent to XFree86 4.4.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.
6 MB gzipped, 17 MB uncompressed

xcomp
The extra libraries and include files needed to compile X source code.
10 MB gzipped, 37 MB uncompressed

xfont
Fonts needed by X.
31 MB gzipped, 39 MB uncompressed

xetc
Configuration files for X which could be locally modified.
0.03 MB gzipped, 0.17 MB uncompressed

xserver
The X server. Please consult the X specific section in the atari FAQ as to which server you should use.
3 MB gzipped, 7 MB uncompressed

The atari binary distribution sets are distributed as gzipped tar files named with the extension .tgz, e.g. base.tgz.

The instructions given for extracting the source sets work equally well for the binary sets, but it is worth noting that if you use that method, the filenames stored in the sets are relative and therefore the files are extracted below the current directory. Therefore, if you want to extract the binaries into your system, i.e. replace the system binaries with them, you have to run the tar -xpf command from the root directory ( / ) of your system.

Additional kernels to those included in the distribution sets may be found in the atari/binary/kernel subdirectory of the NetBSD3.0.2 distribution tree. These kernels are generally named something like netbsd-BOOT.gz or some other suitable name. Please note that these kernels are simply gzipped and are not in tar archives.

There are six atari floppy images to be found in the atari/installation/floppies subdirectory of the NetBSD3.0.2 distribution. Three of them are bootable TOS kernel floppies and the other three are installation floppies. They are described in more detail below. There are gzipped versions of each available, for easier downloading. (The gzipped versions have the .gz extension added to their names.)

Bootable Kernel floppies
These TOS disks contains the TOS support programs (like loadbsd.ttp and chg_pid.ttp -- see below) and a kernel. They are setup such that you can insert them into your floppy drive, and start the programs from GEM.

For the TT030 and Falcon, the (720 KB) floppy is named boot.fs and the kernel supplied is BOOT. For the Hades, you need the hades-boot.fs floppy (1.44 MB), the kernel is HADES. For the Milan, you need the milan-boot.fs floppy (1.44 MB), the kernel is MILAN-PCIIDE.

Installation floppy:
This disk contains a BSD root file system setup to help you install the rest of NetBSD. This includes formatting and mounting your / (root) and /usr partitions and getting ready to extract (and possibly first fetching) the distribution sets. There is enough on this file system to allow you to make a slip connection, configure an ethernet, mount an NFS file system or ftp. You can also load distribution sets from a SCSI tape or from one of your existing GEMDOS partitions.

The floppies meant for 720 KB disks are named miniroot.fs.1 and miniroot.fs.2. There is also an image for an 1.44 MB disk: miniroot.fs.

There are also TOS utilities in the atari/installation/misc subdirectory, which you will need to get NetBSD/atari up-and-running.

This utility is used only in a Traditional method installation.

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

NetBSD/atari System Requirements and Supported Devices

NetBSD/atari 3.0.2 runs on a TT030, Falcon, Hades and MilanI. An FPU is not required. The minimum amount of RAM required is 4 MB. On the Hades, only the Tseng PCI VGA cards (ET4000/ET6000/ET6100) are supported in the 3.0.2 release. When an unsupported video card is present, you can use NetBSD with a serial console only.

Here is a table of recommended HD partition sizes for a full install:

Partition Suggested + X Needed + X
root (/) 25 MB 25 MB 20 MB 20 MB
/usr 245 MB 270 MB 120 MB 145 MB
/var 20 MB 20 MB 5 MB 5 MB
swap 2*RAM below 32 MB, then up to you

Anything else is up to you!

In addition of the rule of thumb for the swap size mentioned below, you probably want to make sure that the size of the swap partition does not drop below 20 MB (30 MB for systems with X). Another item is the add-on packages. You might want 20-30M (or more) in /usr/local (or added to /usr) to store packages from the NetBSD package system. As you may note the recommended size of /usr is 125 MB greater than needed. This is to leave room for a kernel source and compile tree as you will probably want to compile your own kernel. (GENERIC is large and bulky to accommodate all people, BOOT is small and might not have all the features you want).

Supported devices

This list is incomplete by definition. We can not test all SCSI peripherals, ISA cards or PCI cards. If you have problems with such a peripheral, please contact the port-atari@NetBSD.org mailing list.

Getting the NetBSD System on to Useful Media

Installation is supported from several media types, including:

No matter what you do, however, you'll need to have three disks handy, on which you will put the install and boot floppy images.

All the images are available from the directory installation/floppies under the root of the NetBSD/atari tree at your favorite archive site.

If you are using NetBSD/atari to make the floppies, you should use the command dd(1) to write the raw floppy images (.fs files) to the disk. As an example, to write the first part of the miniroot file system onto a 720 KB floppy in fd0 use:

       # dd if=miniroot.fs.1 of=/dev/rfd0b bs=9b

If you are using TOS to make the floppies, grab the rawwrite utility from the atari/utils directory and issue the command:


       rawwrite boot.fs

This will create the boot-floppy on the floppy in drive a. The floppies should be pre-formatted on 720 KB / 1.44 MB for both the dd and rawwrite commands to work. Pre-formatting can be best done using the desktop format command. Some other utilities seem to be giving problems.

Since the 1.3 release, it is also possible to use HD-floppies. You should than use the floppy device /dev/rfd0c or add the -H flag to rawwrite.

The steps necessary to prepare the distribution sets for installation depend on which method of installation you choose. The various methods are explained below.

GEMDOS
To install NetBSD from a GEMDOS partition, you need to get the NetBSD distribution sets you wish to install on your system on to a GEMDOS partition.

Note where you placed the files, you will need this later.

Once you have done this, you can proceed to the next step in the installation process, preparing your hard disk.

Tape
To install NetBSD from a tape, you need to somehow get the NetBSD filesets you wish to install on your system on to the appropriate kind of tape. If you make the tape on a UNIX-like system, you can create it as follows:


       # cd .../NetBSD-3.0.2/atari/binary/sets
       # T=<tape_device>
       # mt -f $T rewind
       # for f in base etc comp games man misc text
       dd if=$f.tgz of=$T conv=sync bs=5k
       # done
       # mt -f $T rewind

where ``<tape_device>'' is the name of the (non-rewinding!) tape device that you're using (probably something like /dev/nrst0, but we make no guarantees 8-). If you can't figure it out, ask your system administrator.

Once you have done this, you can proceed to the next step in the installation process, preparing your hard disk.


Preparing your System for NetBSD installation

Preparing your hard disk for the NetBSD installation.
Note you will be modifying your HD's if you mess something up here you could lose everything on all the drives that you work with. It is therefore advised that you:

If NetBSD has to share the disk with another operating system, you can either take care of partitioning your harddisk before installing NetBSD or delay this until the installer requests you to do it. If you decide to do it now, please create space for at least / (root), swap and /usr partitions and possibly at least one more for /local if you have the space. Whatever you decide, take note of the paragraphs below! You need this info to create bootable disks.

Warning:
The AHDI partioning function erases all partions on your harddisk even if they are not changed! We know this is rather stupid, but don't say we didn't warn you.

If you want to use an AHDI partitioning scheme and you want to be able to boot directly into NetBSD, there are some constraints on the partition layout.

As you might know; every hard disk has a `root sector' that contains information about the size of the hard disk and the partitions on the hard disk. The root sector can only contain the necessary data for four partitions. Nobody thought that this limitation would cause any problems. After all, 640 KByte should be enough. As hard disk grew, it was necessary to define more than four partitions. In order to be more or less compatible with the old format, a new type of partition entry was defined: XGM partions.

An XGM partition is a `look over there' sign: Another root sector can be found at the start of the XGM partition. This root sector contains the remaining real partitions. And this is the big mystery: Partitions defined in the root sector of the hard disk are called `primary partitions', partitions defined in the root sector of an XGM partition are called `extended partitions'.

The bootblock will only work if the first NBD partition is a primary partition. This is not a limitation of NetBSD but a limitation of TOS/AHDI: You can only boot from primary partitions.

If you are creating your partitions with HDX, you'll have to be very careful to fulfill this rule. HDX has some very strange ideas when it comes to extended partitions. Fortunately, you can edit this stuff: The ``Edit partition scheme of the unit'' dialog box has a button labeled ``expert''. This button is inactive unless you have defined more than four partitions. Click on it after you have defined the sizes of the partitions.

A new dialog box appears on the screen. The left side contains two blocks of partitions; the upper block always contains the first four partitions, the lower block contains the last three partitions. If you have defined less than 7 partitions, some fields of the lower block will contain the string ``unused''. Some of the partitions will be displayed in reverse video: These are the extended partitions.

The right side contains six possible ranges for the extended partitions. It is not possible to define your own range, you will have to use one of the schemes offered by HDX. To quote from Ghostbusters: Choose and die. The default scheme used by HDX is the first scheme: Extended partitions start with the second partition and end with the second to last partition. If you have defined 7 partitions, partitions #2 to #5 will be extended partitions, while partitions #1, #6 and #7 will be primary partitions.

You can move the extended partition range by clicking on one of the buttons on the right side of the dialog box. Try to find one where your first NetBSD partition is a primary partition. Golden rules:

Booting the installer on an existing system
If you already have NetBSD installed, it is easy. Just boot into single user state on your current system, or use the shutdown now command to shutdown to single-user state. Then copy the installer using dd:


       dd if=sysinst.fs of=/dev/rsd0b

where /dev/rsd0b should be the device path of the swap partition your system is configured to use. Once the file is copied, reboot back to the booter and use the '-b' option to make the kernel prompt for a root device. Now enter the swap device as your root device to start the installer.

Booting the installer on new systems.
If your system has more than 6MB RAM, you can skip directly to the section about loadbsd.ttp, since the amount of RAM is enough to load the installer into.

For new new installations on small memory systems, things are a bit more complicated. The easiest way is to mark an AHDI partition as id 'SWP'. You can either accomplish this with HDdriver or use the chg_pid.ttp program supplied on the bootfloppy. To use the fifth partition of your first drive to a swap partition, do the following:


       chg_pid -w 0 4 SWP

As you can see, both the drive and the partition numbers are zero based.

When a swap partition has been created, you can transfer the installer using the file2swp.ttp command, which is also on the bootfloppy. This program copies a (gzipped)file to the first AHDI partition with id 'SWP' on the designated disk. To copy sysinst.fs to your first SCSI disk, use:


       file2swp -w -f sysinst.fs s0

Note that file2swp automatically detects a gzipped file, there is no need for a .gz extension.

Using loadbsd.ttp
To start the installer, you first need to load a NetBSD kernel. This can be done in a couple ways, both of which currently require GEMDOS. You need either the bootfloppy provided in the distribution or you can copy the loadbsd.ttp program and kernel to a boot floppy disk (1.44 MB needed) or put them on a TOS partition. Select the loadbsd program and it will ask for parameters, supply: `-b netbsd' (or whatever name you copied the kernel to). You can, of course, also run it from the shell command-line in MiNT:


       loadbsd -b a:/netbsd

You should see the screen clear and some information about your system as the kernel configures the hardware. Then you will be prompted for a root device. If you copied the installer to a swap partition, as explained above, you have to enter the swap partition as the boot device. When you used your first SCSI disk, this will be sd0b. On the first IDE drive it would be wd0b.

When you didn't copy the installer to swap, need to use the RAMdisk, so remove the GEMDOS kernel boot floppy from the drive if present and insert the NetBSD install floppy 1. Now enter the name of the boot device depending on the floppy type you have inserted. Use:

The kernel will load the install file system into RAMdisk. While the kernel is loading, it will show a `.' for each track loaded. After loading 80 tracks, it will ask you to insert the next floppy. At this time, insert the NetBSD install floppy 2 and press any key. The kernel continues loading another 40 tracks before it continues to boot.

Installing the NetBSD System

Installing NetBSD is a relatively complex process, but, if you have this document in hand and are careful to read and remember the information which is presented to you by the install program, it shouldn't be too much trouble.

Before you begin, you must have already prepared your hard disk as detailed in the section on preparing your system for install.

The following is a walk-through of the steps necessary to get NetBSD installed on your hard disk.

Running the sysinst installation program

  1. Introduction

    Using sysinst, installing NetBSD is a relatively easy process. You still should read this document and have it in hand when doing the installation process. This document tries to be a good guideline for the installation and as such covers many details for the sake of completeness. Do not let this discourage you; the install program is not hard to use.

  2. General

    The following is a walk-through of the steps you will take while getting NetBSD installed on your hard disk. sysinst is a menu driven installation system that allows for some freedom in doing the installation. Sometimes, questions will be asked and in many cases the default answer will be displayed in brackets (``[ ]'') after the question. If you wish to stop the installation, you may press CONTROL-C at any time, but if you do, you'll have to begin the installation process again from scratch by running the /sysinst program from the command prompt. It is not necessary to reboot.

  3. Quick install

    First, let's describe a quick install. The other sections of this document go into the installation procedure in more detail, but you may find that you do not need this. If you want detailed instructions, skip to the next section. This section describes a basic installation, using a CD-ROM install as an example.

  4. Booting NetBSD

    Boot the system as described in the "Booting the installer" section above.

    It will take a while to load the kernel from the floppy, probably around a minute or so, then, the kernel boot messages will be displayed. This may take a little while also, as NetBSD will be probing your system to discover which hardware devices are installed. You may want to read the boot messages, to notice your disk's name and geometry. Its name will be something like sd0 or wd0 and the geometry will be printed on a line that begins with its name. As mentioned above, you may need your disk's geometry when creating NetBSD's partitions. You will also need to know the name, to tell sysinst on which disk to install. The most important thing to know is that wd0 is NetBSD's name for your first IDE disk, wd1 the second, etc. sd0 is your first SCSI disk, sd1 the second, etc.

    Once NetBSD has booted and printed all the boot messages, you will be presented with a welcome message and a main menu. It will also include instructions for using the menus.

  5. Network configuration

    If you will not use network operation during the installation, but you do want your machine to be configured for networking once it is installed, you should first go to the Utility menu, and select the Configure network option. If you only want to temporarily use networking during the installation, you can specify these parameters later. If you are not using the Domain Name System (DNS), you can give an empty response in reply to answers relating to this.

  6. Installation drive selection and parameters

    To start the installation, select Install NetBSD to hard disk from the main menu.

    The first thing is to identify the disk on which you want to install NetBSD. sysinst will report a list of disks it finds and ask you for your selection. Depending on how many disks are found, you may get a different message. You should see disk names like sd0 or sd1.

  7. Partitioning the disk

  8. Editing the NetBSD disklabel

    The partition table of the NetBSD part of a disk is called a disklabel. There are 4 layouts for the NetBSD part of the disk that you can pick from: Standard, Standard with X, Custom and Use Existing. The first two use a set of default values (that you can change) suitable for a normal installation, possibly including X. With the Custom option you can specify everything yourself. The last option uses the partition info already present on the disk.

    If you want to use NetBSD on an AHDI partitioned disk, you will have to use: Use Existing.

    You will be presented with the current layout of the NetBSD disklabel, and given a chance to change it. For each partition, you can set the type, offset and size, block and fragment size, and the mount point. The type that NetBSD uses for normal file storage is called 4.2BSD. A swap partition has a special type called swap. Some partitions in the disklabel have a fixed purpose.

    a
    Root partition (/)

    b
    Swap partition.

    c
    The NetBSD portion of the disk.

    d-p
    Available for other use. Traditionally, d is the partition mounted on /usr, but this is historical practice and not a fixed value.

    You will then be asked to name your disk's disklabel. The default response will be ok for most purposes. If you choose to name it something different, make sure the name is a single word and contains no special characters. You don't need to remember this name.

  9. Preparing your hard disk

    You are now at the point of no return. Apart from the changes you made with ahdilabel nothing has been modified on your disk yet. If you confirm that you want to install NetBSD, the partitions now assigned to NetBSD will be actually written to. If you are sure you want to proceed, enter yes at the prompt.

    The install program will now label your disk and make the file systems you specified. The file systems will be initialized to contain NetBSD bootstrapping binaries and configuration files. You will see messages on your screen from the various NetBSD disk preparation tools that are running. There should be no errors in this section of the installation. If there are, restart from the beginning of the installation process. Otherwise, you can continue the installation program after pressing the return key.

  10. Getting the distribution sets

    The NetBSD distribution consists of a number of sets, that come in the form of gzipped tarfiles. A few sets must be installed for a working system, others are optional. At this point of the installation, you will be presented with a menu which enables you to choose from one of the following methods of installing the sets. Some of these methods will first load the sets on your hard disk, others will extract the sets directly.

    For all these methods, the first step is making the sets available for extraction, and then do the actual installation. The sets can be made available in a few different ways. The following sections describe each of those methods. After reading the one about the method you will be using, you can continue to the section labeled `Extracting the distribution sets'.

  11. Installation using ftp

    To be able to install using ftp, you first need to configure your network setup, if you haven't already at the start of the install procedure. sysinst will do this for you, asking you if you want to use DHCP, and if not to provide data like IP address, hostname, etc. If you do not have name service set up for the machine that you are installing on, you can just press RETURN in answer to these questions, and DNS will not be used.

    You will also be asked to specify the host that you want to transfer the sets from, the directory on that host, the account name and password used to log into that host using ftp, and optionally a proxy server to use. If you did not set up DNS when answering the questions to configure networking, you will need to specify an IP address instead of a hostname for the ftp server.

    sysinst will proceed to transfer all the default set files from the remote site to your hard disk.

  12. Installation using NFS

    To be able to install using NFS, you first need to configure your network setup, if you haven't already at the start of the install procedure. sysinst will do this for you, asking you if you want to use DHCP, and if not to provide data like IP address, hostname, etc. If you do not have name service set up for the machine that you are installing on, you can just press RETURN in answer to these questions, and DNS will not be used.

    You will also be asked to specify the host that you want to transfer the sets from, and the directory on that host that the files are in. This directory should be mountable by the machine you are installing on, i.e. correctly exported to your machine.

    If you did not set up DNS when answering the questions to configure networking, you will need to specify an IP address instead of a hostname for the NFS server.

  13. Installation from CD-ROM

    When installing from a CD-ROM, you will be asked to specify the device name for your CD-ROM player (usually cd0), and the directory name on the CD-ROM where the distribution files are.

    sysinst will then check if the files are indeed available in the specified location, and proceed to the actual extraction of the sets.

  14. Installation from an unmounted file system

    In order to install from a local file system, you will need to specify the device that the file system resides on (for example sd1e) the type of the file system, and the directory on the specified file system where the sets are located. sysinst will then check if it can indeed access the sets at that location.

  15. Installation from a local directory

    This option assumes that you have already done some preparation yourself. The sets should be located in a directory on a file system that is already accessible. sysinst will ask you for the name of this directory.

  16. Extracting the distribution sets

    After the install sets containing the NetBSD distribution have been made available, you can either extract all the sets (a full installation), or only extract sets that you have selected. In the latter case, you will be shown the currently selected sets, and given the opportunity to select the sets you want. Some sets always need to be installed (kern, base) and etc they will not be shown in this selection menu.

    Before extraction begins, you can elect to watch the files being extracted; the name of each file that is extracted will be shown. This can slow down the installation process considerably, especially on machines with slow graphics consoles or serial consoles.

    After all the files have been extracted, all the necessary device node files will be created. If you have already configured networking, you will be asked if you want to use this configuration for normal operation. If so, these values will be installed in the network configuration files. The next menu will allow you to select the time zone that you're in, to make sure your clock has the right offset from UTC. Finally you will be asked to select a password encryption algorithm and can than set a password for the "root" account, to prevent the machine coming up without access restrictions.

  17. Finalizing your installation

    Congratulations, you have successfully installed NetBSD3.0.2. You can now reboot the machine, and boot NetBSD from hard disk.


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, with the most important ones described below.

  1. Configuring /etc/rc.conf

    If you or the installation software haven't done any configuration of /etc/rc.conf (sysinst usually will), the system will drop you into single user mode on first reboot with the message

           /etc/rc.conf is not configured. Multiuser boot aborted.

    and with the root file system (/) mounted read-only. When the system asks you to choose a shell, simply press RETURN to get to a /bin/sh prompt. If you are asked for a terminal type, respond with vt220 (or whatever is appropriate for your terminal type) and press RETURN. You may need to type one of the following commands to get your delete key to work properly, depending on your keyboard:
           # stty erase '^h'
           # stty erase '^?'
    At this point, you need to configure at least one file in the /etc directory. You will need to mount your root file system read/write with:
           # /sbin/mount -u -w /
    Change to the /etc directory and take a look at the /etc/rc.conf file. Modify it to your tastes, making sure that you set rc_configured=YES so that your changes will be enabled and a multi-user boot can proceed. Default values for the various programs can be found in /etc/defaults/rc.conf, where some in-line documentation may be found. More complete documentation can be found in rc.conf(5).

    If your /usr directory is on a separate partition and you do not know how to use ed, you will have to mount your /usr partition to gain access to ex or vi. Do the following:


           # mount /usr
           # export TERM=vt220

    If you have /var on a separate partition, you need to repeat that step for it. After that, you can edit /etc/rc.conf with vi(1). When you have finished, type exit at the prompt to leave the single-user shell and continue with the multi-user boot.

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


           ifconfig_de0="inet 123.45.67.89 netmask 255.255.255.0"

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


           ifconfig_de0="inet myname.my.dom netmask 255.255.255.0"

    To enable proper hostname resolution, you will also want to add an /etc/resolv.conf file or (if you are feeling a little more adventurous) run named(8). See resolv.conf(5) or named(8) for more information. Instead of manually configuring network and naming service, DHCP can be used by setting dhclient=YES in /etc/rc.conf.

    Other files in /etc that may require modification or setting up include /etc/mailer.conf, /etc/nsswitch.conf, and /etc/wscons.conf.

  2. Select the proper terminal devices

    You will have to edit the /etc/ttys file. If you don't have a Milan, you must disable the ttyEx devices. For the Milan, you will have to disable the ttyex devices. This is easy, just change 'on' to 'off' on the corresponding lines.

  3. Logging in

    After reboot, you can log in as root at the login prompt. Unless you've set a password in sysinst, there is no initial password. If you're using the machine in a networked environment, you should create an account for yourself (see below) and protect it and the ``root'' account with good passwords. 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.

    Unless you have connected an unusual terminal device as the console you can just press RETURN when it prompts for Terminal type? [...].

  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 have installed the X Window System, look at the files in /usr/X11R6/lib/X11/doc for information.

    Don't forget to add /usr/X11R6/bin to your path in your shell's dot file so that you have access to the X binaries.

  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. This automatically handles any changes necessary to make the software run on NetBSD, retrieval and installation of any other packages on which the software may depend, and simplifies installation (and deinstallation), both from source and precompiled binaries.

  7. Misc

Upgrading a previously-installed NetBSD System

The upgrade to NetBSD3.0.2 is a binary upgrade; it can be quite difficult to update the system from an earlier version by recompiling from source, primarily due to interdependencies in the various components.

To do the upgrade, you must first boot the system as described in the Booting the installer section. You must also have at least the base and kern binary distribution sets available, so that you can upgrade with them, using one of the upgrade methods described above. Finally, you must have sufficient disk space available to install the new binaries. Since files already installed on the system are overwritten in place, you only need additional free space for files which weren't previously installed or to account for growth of the sets between releases. If you have a few megabytes free on each of your root (/) and /usr partitions, you should have enough space.

Since upgrading involves replacing the kernel, the boot blocks on your NetBSD partition, and most of the system binaries, it has the potential to cause data loss. You are strongly advised to back up any important data on the NetBSD partition or on another operating system's partition on your disk before beginning the upgrade process.

The upgrade procedure using the sysinst tool is similar to an installation, but without the hard disk partitioning. sysinst will attempt to merge the settings stored in your /etc directory with the new version of NetBSD. Getting the binary sets is done in the same manner as the installation procedure; refer to the installation part of the document for how to do this. Also, some sanity checks are done, i.e. file systems are checked before unpacking the sets.

After a new kernel has been copied to your hard disk, your machine is a complete NetBSD3.0.2 system. However, that doesn't mean that you're finished with the upgrade process. You will probably want to update the set of device nodes you have in /dev. If you've changed the contents of /dev by hand, you will need to be careful about this, but if not, you can just cd into /dev, and run the command:

       # sh MAKEDEV all

Finally, you will want to delete old binaries that were part of the version of NetBSD that you upgraded from and have since been removed from the NetBSD distribution.

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 NetBSD3.0.2.

Issues affecting an upgrade from NetBSD 2.1 and older releases.
It is very important that you populate the directory /etc/pam.d with appropriate configuration files for the Pluggable Authentication Modules (PAM) because you will not be able to login any more otherwise. Using postinstall as described below will take care of this. Please refer to http://www.netbsd.org/guide/en/chap-pam.html for documentation about PAM.

The following issues can generally be resolved by extracting the etc set into a temporary directory and running postinstall:

postinstall -s /path/to/etc.tgz check
postinstall -s /path/to/etc.tgz fix

Issues fixed by postinstall: