# Installing NetBSD: Preliminary considerations and preparations
## Preliminary considerations
### Dual booting
It is possible to install NetBSD together with other operating systems on one
If there is already an operating system on the hard disk, think about how you
can free some space for NetBSD; if NetBSD will share the disk with other
operating systems you will probably need to create a new partition (which you
will do with sysinst). Often times this will not be possible unless you resize
an existing partition.
Unfortunately, it is not possible to resize an existing partition with sysinst,
but there are some commercial products (like Partition Magic) and some free
tools (GNU Parted, FIPS, pfdisk) available for this.
You can also install NetBSD on a separate hard disk.
*Advice*: Unless you are comfortable with setting up a partitioning scheme for
two or more operating systems, and unless you understand the risk of data loss
if you should make a mistake, it is recommended that you give NetBSD its own
hard disk. This removes the risk of damage to the existing operating system.
### NetBSD on emulation and virtualization
It is possible to install and run NetBSD on top of other operating systems
without having to worry about partitioning. Emulators or virtualization
environments provide a quick and secure way to try out NetBSD. The host
operating system remains unchanged, and the risk of damaging important data is
Information about NetBSD as a Xen host and guest system is available on the
[NetBSD/xen web page](http://www.NetBSD.org/ports/xen/).
The [NetBSD on emulated hardware](http://www.NetBSD.org/ports/emulators.html)
web page provides detailed information about various emulators and the supported
NetBSD platforms. It should also be noted that NetBSD runs as a VMware guest.
## Install preparations
### The INSTALL document
The first thing to do before installing NetBSD is to read the release
information and installation notes in one of the `INSTALL` files: this is the
official description of the installation procedure, with platform-specific
information and important details. It is available in HTML, PostScript, plain
text, and an enhanced text format to be used with more. These files can be found
in the root directory of the NetBSD release (on the install CD or on the FTP
server). For example (replacing `6.1` with your release number, and `port` with
The terminology used by NetBSD for partitioning is different from the typical
DOS/Windows terminology; in fact, there are two partitioning schemes involved
when running NetBSD on a typical PC. NetBSD installs in one of the four primary
BIOS partitions (the partitions defined in the hard disk partition table).
Within a BIOS partition (also called *slice*) NetBSD defines its BSD partitions
using a *disklabel*: these partitions can be seen only by NetBSD and are
identified by lowercase letters (starting with `a`). For example, wd0a refers to
the `a` partition of the first IDE disk (wd0) and sd0a refers to the `a`
partition of the first SCSI disk. In the following figure, there are two primary
BIOS partitions, one used by DOS and the other by NetBSD. NetBSD describes the
disk layout through the disklabel.
*Note*: The meaning of partitions `c` and `d` is typical of the i386 port. On
most other ports, `c` represents the whole disk.
*Note*: If NetBSD shares the hard disk with another operating system (like in
the previous example) you will want to install a *boot manager*, i.e., a program
which lets you choose which OS to start at boot time. sysinst can do this for
you and will ask if you want to install one. Unless you have specific reasons
not to, you should let sysinst perform this step.
### Hard disk space requirements
The exact amount of space required for a given NetBSD installation varies
depending on the platform being used and which distribution sets are selected.
In general, if you have 1GB of free space on your hard drive, you will have more
than enough space for a full installation of the base system.
### Network settings
If you plan to fetch distribution sets over the network (not necessary if you
downloaded a full-size install ISO) and do not use DHCP, write down your basic
network settings. You will need:
* Your IP address (example: 192.168.1.7)
* the netmask (example: 255.255.255.0)
* the IP address of your default gateway (example: 192.168.1.1)
* the IP address of the DNS server you use (example: 18.104.22.168)
### Backup your data and operating systems!
Before you begin the installation, make sure that you have a reliable backup of
any operating systems and data on the used hard disk. Mistakes in partitioning
your hard disk can lead to data loss. Existing operating systems may become
unbootable. "Reliable backup" means that the backup and restore procedure is
tested and works flawlessly!
### Preparing the installation media
The NetBSD installation system consists of two parts. The first part is the
installation kernel. This kernel contains the NetBSD install program sysinst and
it is booted from a CD (or DVD), memory card, USB flash drive, or floppy disk.
The sysinst program will prepare the disk: it separates the disk space into
partitions, makes the disk bootable and creates the necessary file systems.
The second part of the install system is made up of the binary distribution
sets: the files of the NetBSD operating system. The installer needs to have
access to the distribution sets. sysinst will usually fetch these files from the
CD or DVD you burned, but it can also get them via FTP, NFS, or local
The NetBSD Project provides complete install media for every supported hardware
architecture. This is usually in the form of bootable CD images (`.iso` files).
For example (replacing `6.1` with the release you want to install):
*Note*: To improve net flow, and especially download speed, you should have a
look at the [list of mirrors](http://NetBSD.org/mirrors/#iso) and choose a local
server near you.
#### Booting the install system from CD
To use a bootable NetBSD install CD download the `iso` file for your hardware
architecture and burn it to a CD or DVD. You will need to handle this step
alone, as burning programs vary widely. Ensure that your computer is set up to
boot from CD-ROM before hard drives, insert the disc, and reboot the computer.
#### Booting the install system from floppy
If you need to create installation floppies, you need to copy floppy images to a
diskette. The floppy images are available on the NetBSD FTP servers or on a
NetBSD install CD. To perform this operation in DOS you can use the rawrite
program in the `i386/installation/misc` directory. For Windows, there's a
version in `rawr32.zip`. The image files are `i386/installation/floppy/boot1.fs`
and `i386/installation/floppy/boot2.fs` for installation of a "normal" PC. The
other floppies that are available are described in more detail in the `INSTALL`
*Note*: Before you write the boot images to floppies, you should always check
that the floppies are good: this simple step is often overlooked, but can save
you a lot of trouble!
The procedure to write floppies is:
1. Format the floppy.
2. Go to the `I386\INSTALLATION\FLOPPY` directory of the CD-ROM.
3. Run the **`..\MISC\RAWRITE`** program (or extract `..\MISC\RAWR32.ZIP` if
you're on a Windows system, and run the RAWRITE32 program in that file).
Usually the `Source file`s are `BOOT1.FS` and `BOOT2.FS` and the
`Destination drive` is `A`:
To create a boot floppy in a Unix environment, the
command can be used: For example:
# cd i386/installation/floppy
# dd if=boot.fs of=/dev/fd0a bs=36b
*Note*: A 1440K floppy contains 1474560 bytes and is made up of 80 cylinders, 2
tracks, 18 sectors and 512 bytes per sector, i.e., 80 \* 2 \* 18 = 2880 blocks.
Thus `bs=36b` copies one cylinder (18 \* 2 blocks) at a time and repeats the
operation 80 times instead of 2880.
This is the checklist about the things that should be clear and on-hand now:
* Available disk space
* Bootable medium with the install system
* CD/DVD or server with the distribution sets
* Your network information (only if you will be fetching distribution sets via
the network and do not use DHCP)
* A working backup
* A printout of the INSTALL document
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb