- Example installation
- The installation process
- Keyboard layout
- Starting the installation
- MBR partitions
- Disklabel partitions
- Setting the disk name
- Last chance!
- The disk preparation process
- Choosing the installation media
- Extracting sets
- System configuration
- Finishing the installation
This chapter will guide you through the installation process. The concepts presented here apply to all installation methods. The only difference is in the way the distribution sets are fetched by the installer. Some details of the installation differ depending on the NetBSD release: The examples from this chapter were created with NetBSD 5.0.
The following install screens are just examples. Do not simply copy them, as your hardware and configuration details may be different!
The installation process is divided logically in two parts. In the first part you create a partition for NetBSD and write the disklabel for that partition. In the second part you decide which distribution sets (subsets of the operating system) you want to install and then extract the files into the newly created partition(s).
The NetBSD install program sysinst allows you to change the keyboard layout during the installation. If for some reason this does not work for you, you can use the map in the following table.
To start the installation of NetBSD, insert your chosen boot media (CD/DVD, USB drive, floppy, etc.) and reboot the computer. The kernel on the installation medium will be booted and start displaying a lot of messages on the screen about hardware being detected.
Selecting the language
When the kernel has booted you will find yourself in the NetBSD installation
program, sysinst, shown in the previous figure. From here on you should follow
the instructions displayed on the screen, using the
INSTALL document as a
companion reference. You will find the INSTALL document in various formats in
the root directory of the NetBSD release. The sysinst screens all have more or
less the same layout: the upper part of the screen shows a short description of
the current operation or a short help message, and the rest of the screen is
made up of interactive menus and prompts. To make a choice, use the cursor keys,
Ctrl+N (next) and
Ctrl+P (previous) keys, or press one of the letters
displayed left of each choice. Confirm your choice by pressing the Return key.
Start by selecting the language you prefer to use for the installation process.
The next screen will allow you to select a suitable keyboard type:
Selecting a keyboard type
This will bring you to the main menu of the installation program:
The sysinst main menu
Choosing the Install NetBSD to hard disk option brings you to the next screen , where you need to confirm that you want to continue the installation:
Confirming to install NetBSD
After choosing Yes to continue, sysinst displays a list of one or more disks
and asks which one you want to install NetBSD on. In the example given in the
following figure, there are two disks, and NetBSD will be installed on
the first IDE disk found. If you use SCSI or external USB disks, the first will
sd0, the second
sd1 and so on.
Choosing a hard disk
The installer will then ask whether you want to do a full, minimal or custom installation. NetBSD is broken into a collection of distributions sets. Full installation is the default and will install all sets; Minimal installation will only install a small core set, the minimum of what is needed for a working system. If you select Custom installation you can select which sets you would like to have installed. This step is shown here:
Full or custom installation
If you choose to do a custom installation, sysinst will allow you to choose which distribution sets to install, as shown in the following figure. At a minimum, you must select a kernel and the Base and System (/etc) sets.
Selecting distribution sets
The first important step of the installation has come: the partitioning of the hard disk. First, you need to specify whether NetBSD will use a partition (suggested choice) or the whole disk. In the former case it is still possible to create a partition that uses the whole hard disk (see below) so we recommend that you select this option as it keeps the BIOS partition table in a format which is compatible with other operating systems.
Choosing the partitioning scheme
The next screen shows the current state of the MBR partition table on the hard disk before the installation of NetBSD. There are four primary partitions, and as you can see, this example disk is currently empty. If you do have other partitions you can leave them around and install NetBSD on a partition that is currently unused, or you can overwrite a partition to use it for NetBSD.
Deleting a partition is simple: after selecting the partition, a menu with options for that partition will appear (see below). Change the partition kind to Delete partition to remove the partition. Of course, if you want to use the partition for NetBSD you can set the partition kind to NetBSD.
You can create a partition for NetBSD by selecting the partition you want to
install NetBSD to. The partition names
d correspond to the four primary
partitions on other operating systems. After selecting a partition, a menu with
options for that partition will appear, as shown here:
To create a new partition, the following information must be supplied:
- the type (kind) of the new partition
- the first (start) sector of the new partition
- the size of the new partition
Choose the partition type NetBSD for the new partition (using the
option). The installation program will try to guess the start position based
on the end of the preceding partition. Change this value if necessary. The same
thing applies to the
size option; the installation program will try to fill in
the space that is available until the next partition or the end of the disk
(depending on which comes first). You can change this value if it is incorrect,
or if you do not want NetBSD to use the suggested amount of space.
After you have chosen the partition type, start position, and size, it is a good
idea to set the name that should be used in the boot menu. You can do this by
selecting the bootmenu option and providing a label, e.g.,
NetBSD. It is a
good idea to repeat this step for other bootable partitions so you can boot both
NetBSD and a Windows system (or other operating systems) using the NetBSD
bootselector. If you are satisfied with the partition options, confirm your
choice by selecting Partition OK. Choose Partition table OK to leave the MBR
partition table editor.
If you have made an error in partitioning (for example you have created overlapping partitions) sysinst will display a message and suggest that you go back to the MBR partition editor (but you are also allowed to continue). If the data is correct but the NetBSD partition lies outside the range of sectors which is bootable by the BIOS, sysinst will warn you and ask if you want to proceed anyway. Doing so may lead to problems on older PCs.
Note: This is not a limitation of NetBSD. Some old BIOSes cannot boot a partition which lies outside the first 1024 cylinders. To fully understand the problem you should study the different type of BIOSes and the many addressing schemes that they use (physical CHS, logical CHS, LBA, ...). These topics are not described in this guide.
On modern computers (those with support for int13 extensions), it is possible to install NetBSD in partitions that live outside the first 8 GB of the hard disk, provided that the NetBSD boot selector is installed.
Next, sysinst will offer to install a boot selector on the hard disk. This screen is shown here:
Installing the boot selector
At this point, the BIOS partitions (called slices on BSD systems) have been created. They are also called PC BIOS partitions, MBR partitions or fdisk partitions.
Note: Do not confuse the slices or BIOS partitions with the BSD partitions, which are different things.
Some platforms, like PC systems (amd64 and i386), use DOS-style MBR partitions to separate file systems. The MBR partition you created earlier in the installation process is necessary to make sure that other operating systems do not overwrite the diskspace that you allocated to NetBSD.
NetBSD uses its own partition scheme, called a disklabel, which is stored at the start of the MBR partition. In the next few steps you will create a disklabel(5) and set the sizes of the NetBSD partitions, or use existing partition sizes, as shown here:
When you choose to set the sizes of the NetBSD partitions you can define the partitions you would like to create. The installation program will generate a disklabel based on these settings. This installation screen is shown here:
Setting partition sizes
The default partition scheme of just using a big
/ (root) file system (plus
swap) works fine with NetBSD, and there is little need to change this. The
previous figure shows how to change the size of the swap partition to 600 MB.
/tmp to reside on a RAM disk
extra speed may be a good idea. Other partition schemes may use separate
/home, but you should use your own
experience to decide if you need this.
The next step is to create the disklabel and edit its partitions, if necessary, using the disklabel editor (see below). If you predefined the partition sizes in the previous step, the resulting disklabel will probably fit your wishes. In that case you can complete the process immediately by selecting Partition sizes ok.
The disklabel editor
There are two reserved partitions,
c, representing the NetBSD partition, and
d, representing the whole disk. You can edit all other partitions by using the
cursor keys and pressing the return key. You can add a partition by selecting an
unused slot and setting parameters for that partition. The partition editing
screen is shown below:
Disklabel partition editing
After defining the partitions in the new disklabel, the last item is to enter a name for the NetBSD disk as shown bwlow. This can be used later to distinguish between disklabels of otherwise identical disks.
Naming the NetBSD disk
The installer now has all the data it needs to prepare the disk. Nothing has been written to the disk at this point, and now is your last chance to abort the installation process before actually writing data to the disk. Choose no to abort the installation process and return to the main menu, or continue by selecting yes.
Last chance to abort
After preparing the NetBSD partitions and their filesystems, the next question (shown in the next figure) is which bootblocks to install. Usually you will choose the default of BIOS console, i.e., show boot messages on your computer's display.
If you run a farm of machines without monitor, it may be more convenient to use a serial console running on one of the serial ports. The menu also allows changing the serial port's baud rate from the default of 9600 baud, 8 data bits, no parity and one stopbit.
At this point, you have finished the first and most difficult part of the installation!
The second half of the installation process consists of populating the file systems by extracting the distribution sets that you selected earlier (base, compiler tools, games, etc). Before unpacking the sets, sysinst asks what information you would like to see during that process, as shown below. You can choose between a progress bar, a display of the name of each extracted file, or nothing.
Choosing the verbosity of the extraction process
Now sysinst needs to find the NetBSD sets and you must tell it where to find
them. The menu offers several choices, as shown below. The options are explained
in detail in the
When selecting CD-ROM / DVD, sysinst asks the name of the CD-ROM or DVD device
and the directory in which the set files are stored, see below. The device is
cd0 for the first CD-ROM or DVD drive, regardless of whether it is IDE
or SCSI (or even USB or FireWire).
If you don't know the name of the CD-ROM/DVD device, you can find by doing the following:
Press Ctrl-Z to pause sysinst and go to the shell prompt.
Type the command:
This will show the kernel startup messages, including the name of the CD-ROM device, for example cd0.
If the display scrolls too quickly, you can also use more:
# dmesg | more
Go back to the installation program with the command:
The next figure shows the menu to install NetBSD from an unmounted file system. It is necessary to specify the device (Device), the file system of the device (File system) and the path to the install sets (Set directory). The setting for the Base directory is optional and can be kept blank.
In the following example the install sets are stored on a MSDOS file system,
e on the device
Mounting a file system
It is usually necessary to specify the device name and the partition. The
following figure shows how to specify device
sd0 with partition
Mounting a partition
In the next figure, the file system type is specified. It is
msdos but it
could also be the NetBSD file system
ext2fs, a Linux file system. The
Base directory item is left blank and the binary sets are stored under
Choosing Continue* will start the extraction of the sets.
Accessing a MSDOS file system
If you choose to install from a local network or the Internet via FTP, sysinst will configure the system's network connection, download the selected set files to a temporary directory, and then extract them.
NetBSD currently supports installation via ethernet, USB ethernet or wireless, and wireless LAN. Installation via DSL (PPP over Ethernet) is not supported during installation.
The first step shown in the next figure further below consists of selecting which network card to configure. sysinst will determine a list of available network interfaces, present them and ask which one to use.
Note: The exact names of your network interfaces depend on the hardware you
use. Example interfaces are
wm for Intel Gigabit interfaces,
ne for NE2000
and compatible ethernet cards, and
ath for Atheros based wireless cards. This
list is by no means complete, and NetBSD supports many more network devices.
To get a list of network interfaces available on your system, interrupt the
installation process by pressing
Ctrl+Z, then enter
# ifconfig -a ne2: flags=8822<UP,BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> mtu 1500 address: 00:06:0d:c6:73:d5 media: Ethernet autoselect 10baseT full-duplex status: active inet 0.0.0.0 netmask 0xffffff00 broadcast 0.0.0.0 inet6 fe80::206:dff:fec6:73d5%ne2 prefixlen 64 scopeid 0x1 lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 33196 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500 ppp1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500 sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296 sl1: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296 strip0: flags=0 mtu 1100 strip1: flags=0 mtu 1100
To get more information about all the devices found during system startup, including network devices, type
# dmesg | more
You can return to the NetBSD installation by typing
Which network interface to configure
Next, you have a chance to set your network medium.
Note: It is unlikely that you will need to enter anything other than the
default here. If you experience problems like very slow transfers or timeouts,
you may, for example, force different duplex settings for ethernet cards. To get
a list of supported media and media options for a given network device (ne2, for
example), escape from sysinst by pressing
Ctrl+Z, then enter:
# ifconfig -m ne2 ne2: flags=8822<UP,BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> mtu 1500 address: 00:03:0d:c6:73:d5 media: Ethernet 10baseT full-duplex status: active supported Ethernet media: media 10baseT media 10baseT mediaopt full-duplex media 10base2 media autoselect
The various values printed after
media may be of interest here, including
autoselect but also including any
Return to the installation by typing:
The next question will be whether you want to perform DHCP autoconfiguration as shown in the figure below. Answer Yes if you have a DHCP Dynamic Host Configuration Protocol (DHCP) running somewhere on your network, and sysinst will fetch a number of defaults from it. Answer No to enter all the values manually.
We will assume you answered No and go into all the questions asked in detail.
Using DHCP for network configuration
The image below shows the questions asked for the network configuration. The values to be entered are:
- Your DNS Domain: -- This is the name of the domain you are in.
- Your hostname: -- The name by which other machines can usually address your computer. Not used during installation.
- Your IPv4 number: -- Enter your numerical Internet Protocol address in dotted quad notation here, for example, 192.168.1.3
- IPv4 Netmask: -- The netmask for your network, either given as a hex value
0xffffff00) or in dotted-quad notation (
- IPv4 gateway: -- Your router's (or default gateway's) IP address. Do not use a hostname here!
- IPv4 name server: -- Your (first) DNS server's IP address. Again, don't use a hostname.
Entering and configuring network data
After answering all of your network configuration info, it will be displayed, and you will have a chance to go back and make changes.
Confirming network parameters
sysinst will now run a few commands (not displayed in detail here) to configure the network: flushing the routing table, setting the default route, and testing if the network connection is operational.
Now that you have a functional network connection, you must tell the installer how to get the distribution sets, as shown in the next figure.
When you are satisfied with your settings (the defaults work most of the time), choose Get Distribution to continue.
Defining the FTP settings
If you want to install NetBSD from a server in your local network, NFS is an alternative to FTP.
Note: Using this installation method requires the ability to set up an NFS server, a topic which is not discussed here.
As shown below, you must specify the IP address of the NFS server with "Host", the "Base directory" that is exported by the NFS server, and the "Set directory", which contains the install sets.
NFS install screen
The following image shows an example: Host
192.168.1.50 is the NFS server that
provides the directory
/home/username/Downloads The NetBSD install sets are
stored in the directory
/home/username/Downloads/sets on the NFS server.
Choose Continue to start the installation of the distribution sets.
After the method for obtaining distribution sets has been chosen, and (if applicable) after those sets have been transferred, they will be extracted into the new NetBSD file system.
After extracting all selected sets, sysinst will create device nodes in the
/dev directory and then display a message saying that everything went well.
Another message will let you know that the set extraction is now completed, and that you will have an opportunity to configure some essential things before finishing the NetBSD installation:
Extraction of sets completed
Having reached this point of the installation you will see the configuration menu:
Here, you can do the following:
Configure network -- make changes to the network settings on the installed system, i.e. either configure it or if you already did, write that configuration to disk.
Timezone -- set your time zone.
Root shell -- this potion allows you to choose which command line interpreter, also known as shell, will be used for the root account.
Change root password -- set the password you will use to login in as root.
Enable installation of binary packages -- this option enables the installation of binary packages (3rd party software).
Fetch and unpack pkgsrc for building from source -- install the pkgsrc tree for installing third-party software from source.
Enable sshd -- enable the secure shell daemon sshd(8) to allow users to login over an insecure network.
Enable ntpd -- ntpd(8) is the daemon to keep the system time accurate.
Run ntpdate at boot -- sets the local date and time.
Enable mdnsd -- a daemon invoked at boot time to implement Multicast DNS and DNS Service Discovery.
The process was already described previously, you can just call it again and have the results directly written to disk.
The timezone is Universal Time Coordinated (UTC) by default, and you can use the two-level menu of continents/countries and cities shown in the figure below to select your timezone with the Return Key.
Selecting the system's time zone
The default is the classic Bourne shell, sh(1). Other choices are the Korn shell (ksh(1)) and the C shell(csh(1)). If, upon reading this, you don't have some idea of which shell you prefer, simply use the default, as this is a highly subjective decision. Should you later change your mind, root's shell can always be changed with the chsh(1) command or by directly editing master.passwd(5).
Perhaps one of the things that you would want to configurate is your root password. If you don't, it is unset, i.e. you can login as root just by entering the login name without a password.
Change root password
When you agree to set a root password, sysinst will run the passwd(1) utility for you. Please note that the password is not echoed:
Entering the root password
This option installs pkgin(1) and initialises its database. This will feel familiar to users of other package tools, such as apt-get, pkg or yum.
Note that installing pkgin will need a network connection. If you didn't set it up yet, this option will call the configuration for you.
Enable installation of binary packages
When the installation is finished, a short help is provided, and you can return to the main menu:
After enabling installation of binary packages
Use this option to download the pkgsrc tree to install additional packages by source. Note that this method in many cases conflicts with binary packages, so you should decide for either one of them or use different directories for installing packages.
This will require a network connection set up, otherwise, it will ask for it itself.
Fetch and unpack pkgsrc for building from source
This step will take a while, as pkgsrc consists of many small files which have to be unpacked on your hard disk, and several 10MB have to be downloaded.
Finally, you can enable some daemons such as sshd(8), ntpd(8) or mdnsd(8) and choose whether you want to run ntpdate(8) at boot, which will set the time no matter how large the gap between "real" time and you computer's time is. ntpd will not set the time when the time skew is too large.
Note: You can change these settings any time you want after the installation. You can either do this by directly editing the configuration files, or by running sysinst(8) again (either from the running system, or from an installation CD).
Note: When you run this menu when you already installed NetBSD, but want to configure the running system, you have to choose the hard disk NetBSD is installed on. When sysinst doesn't find an NetBSD installation, it will fail, and you have to choose another disk.
At this point the installation is finished.
After passing the dialog that confirms the installation, sysinst will return to the main menu. Remove any installation media (CD, floppy, etc.) and choose Reboot the computer to boot your new NetBSD installation.
Reboot to finish installation