1: # Example installation
3: ## Introduction
5: This chapter will guide you through the installation process. The concepts
6: presented here apply to all installation methods. The only difference is in the
7: way the distribution sets are fetched by the installer. Some details of the
8: installation differ depending on the NetBSD release: The examples from this
9: chapter were created with NetBSD 5.0.
11: ### Note
13: The following install screens are just examples. Do not simply copy them, as
14: your hardware and configuration details may be different!
16: ## The installation process
18: The installation process is divided logically in two parts. In the first part
19: you create a partition for NetBSD and write the disklabel for that partition. In
20: the second part you decide which distribution sets (subsets of the operating
21: system) you want to install and then extract the files into the newly created
24: ## Keyboard layout
26: [[!table data="""
27: US | IT | DE | FR
28: `-` | `'` | `ß` | `)`
29: `/` | `-` | `-` | `!`
30: `=` | `ì` | `'` | `-`
31: `:` | `ç` | `Ö` | `M`
32: `;` | `ò` | `ö` | `m`
33: `#` | `£` | `§` | `3`
34: `"` | `°` | `Ä` | `%`
35: `*` | `(` | `(` | `8`
36: `(` | `)` | `)` | `9`
37: `)` | `=` | `=` | `0`
38: `'` | `à` | `ä` | `ù`
39: `` ` `` | `\` | `^` | `@`
40: `\` | `ù` | `#` | `` ` ``
43: The NetBSD install program sysinst allows you to change the keyboard layout
44: during the installation. If for some reason this does not work for you, you can
45: use the map in the following table.
47: ## Starting the installation
49: To start the installation of NetBSD, insert your chosen boot media (CD/DVD, USB
50: drive, floppy, etc.) and reboot the computer. The kernel on the installation
51: medium will be booted and start displaying a lot of messages on the screen about
52: hardware being detected.
54: ![Selecting the language](/guide/images/exinst_language.png)
55: **Selecting the language**
57: When the kernel has booted you will find yourself in the NetBSD installation
58: program, sysinst, shown in the previous figure. From here on you should follow
59: the instructions displayed on the screen, using the `INSTALL` document as a
60: companion reference. You will find the INSTALL document in various formats in
61: the root directory of the NetBSD release. The sysinst screens all have more or
62: less the same layout: the upper part of the screen shows a short description of
63: the current operation or a short help message, and the rest of the screen is
64: made up of interactive menus and prompts. To make a choice, use the cursor keys,
65: the `Ctrl+N` (next) and `Ctrl+P` (previous) keys, or press one of the letters
66: displayed left of each choice. Confirm your choice by pressing the Return key.
68: Start by selecting the language you prefer to use for the installation process.
70: The next screen will allow you to select a suitable keyboard type:
72: ![Selecting a keyboard type](/guide/images/exinst_keyboard.png)
73: **Selecting a keyboard type**
75: This will bring you to the main menu of the installation program:
77: ![The sysinst main menu](/guide/images/exinst_main.png)
78: **The sysinst main menu**
80: Choosing the *Install NetBSD to hard disk* option brings you to the next screen
81: , where you need to confirm that you want to continue the installation:
83: ![Confirming to install NetBSD](/guide/images/exinst_confirm.png)
84: **Confirming to install NetBSD**
86: After choosing *Yes* to continue, sysinst displays a list of one or more disks
87: and asks which one you want to install NetBSD on. In the example given in the
88: following figure, there are two disks, and NetBSD will be installed on `wd0`,
89: the first IDE disk found. If you use SCSI or external USB disks, the first will
90: be named `sd0`, the second `sd1` and so on.
92: ![Choosing a hard disk](/guide/images/exinst_select_disk.png)
93: **Choosing a hard disk**
95: The installer will then ask whether you want to do a full, minimal or custom
96: installation. NetBSD is broken into a collection of distributions sets. *Full
97: installation* is the default and will install all sets; *Minimal installation*
98: will only install a small core set, the minimum of what is needed for a working
99: system. If you select *Custom installation* you can select which sets you would
100: like to have installed. This step is shown here:
102: ![Full or custom installation](/guide/images/exinst_install-type.png)
103: **Full or custom installation**
105: If you choose to do a custom installation, sysinst will allow you to choose
106: which distribution sets to install, as shown in the following figure. At a
107: minimum, you must select a kernel and the *Base* and *System (/etc)* sets.
109: ![Selecting distribution sets](/guide/images/exinst_sets.png)
110: **Selecting distribution sets**
112: ## MBR partitions
114: The first important step of the installation has come: the partitioning of the
115: hard disk. First, you need to specify whether NetBSD will use a partition
116: (suggested choice) or the whole disk. In the former case it is still possible to
117: create a partition that uses the whole hard disk (see below) so we recommend
118: that you select this option as it keeps the BIOS partition table in a format
119: which is compatible with other operating systems.
121: ![Choosing the partitioning scheme](/guide/images/exinst_mbr.png)
122: **Choosing the partitioning scheme**
124: The next screen shows the current state of the MBR partition table on the hard
125: disk before the installation of NetBSD. There are four primary partitions, and
126: as you can see, this example disk is currently empty. If you do have other
127: partitions you can leave them around and install NetBSD on a partition that is
128: currently unused, or you can overwrite a partition to use it for NetBSD.
133: Deleting a partition is simple: after selecting the partition, a menu with
134: options for that partition will appear (see below). Change the partition kind to
135: *Delete partition* to remove the partition. Of course, if you want to use the
136: partition for NetBSD you can set the partition kind to *NetBSD*.
138: You can create a partition for NetBSD by selecting the partition you want to
139: install NetBSD to. The partition names `a` to `d` correspond to the four primary
140: partitions on other operating systems. After selecting a partition, a menu with
141: options for that partition will appear, as shown here:
143: ![Partition options](/guide/images/exinst_fdisk-type.png)
144: **Partition options**
146: To create a new partition, the following information must be supplied:
148: * the type (kind) of the new partition
149: * the first (start) sector of the new partition
150: * the size of the new partition
152: Choose the partition type *NetBSD* for the new partition (using the `type`
153: option). The installation program will try to guess the *start* position based
154: on the end of the preceding partition. Change this value if necessary. The same
155: thing applies to the `size` option; the installation program will try to fill in
156: the space that is available until the next partition or the end of the disk
157: (depending on which comes first). You can change this value if it is incorrect,
158: or if you do not want NetBSD to use the suggested amount of space.
160: After you have chosen the partition type, start position, and size, it is a good
161: idea to set the name that should be used in the boot menu. You can do this by
162: selecting the *bootmenu* option and providing a label, e.g., `NetBSD`. It is a
163: good idea to repeat this step for other bootable partitions so you can boot both
164: NetBSD and a Windows system (or other operating systems) using the NetBSD
165: bootselector. If you are satisfied with the partition options, confirm your
166: choice by selecting *Partition OK*. Choose *Partition table OK* to leave the MBR
167: partition table editor.
169: If you have made an error in partitioning (for example you have created
170: overlapping partitions) sysinst will display a message and suggest that you go
171: back to the MBR partition editor (but you are also allowed to continue). If the
172: data is correct but the NetBSD partition lies outside the range of sectors which
173: is bootable by the BIOS, sysinst will warn you and ask if you want to proceed
174: anyway. Doing so may lead to problems on older PCs.
176: *Note*: This is not a limitation of NetBSD. Some old BIOSes cannot boot a
177: partition which lies outside the first 1024 cylinders. To fully understand the
178: problem you should study the different type of BIOSes and the many addressing
179: schemes that they use (*physical CHS*, *logical CHS*, *LBA*, ...). These topics
180: are not described in this guide.
182: On modern computers (those with support for *int13 extensions*), it is possible
183: to install NetBSD in partitions that live outside the first 8 GB of the hard
184: disk, provided that the NetBSD boot selector is installed.
186: Next, sysinst will offer to install a boot selector on the hard disk. This
187: screen is shown here:
189: ![Installing the boot selector](/guide/images/exinst_bootselect.png)
190: **Installing the boot selector**
192: At this point, the *BIOS partitions* (called *slices* on BSD systems) have been
193: created. They are also called *PC BIOS partitions*, *MBR partitions* or *fdisk
196: *Note*: Do not confuse the *slices* or *BIOS partitions* with the *BSD
197: partitions*, which are different things.
199: ## Disklabel partitions
201: Some platforms, like PC systems (amd64 and i386), use DOS-style MBR partitions
202: to separate file systems. The MBR partition you created earlier in the
203: installation process is necessary to make sure that other operating systems do
204: not overwrite the diskspace that you allocated to NetBSD.
206: NetBSD uses its own partition scheme, called a *disklabel*, which is stored at
207: the start of the MBR partition. In the next few steps you will create a
209: and set the sizes of the NetBSD partitions, or use existing partition sizes, as
210: shown here:
212: ![Edit partitions?](/guide/images/exinst_disklabel.png)
213: **Edit partitions?**
215: When you choose to set the sizes of the NetBSD partitions you can define the
216: partitions you would like to create. The installation program will generate a
217: disklabel based on these settings. This installation screen is shown here:
219: ![Setting partition sizes](/guide/images/exinst_disklabel-change.png)
220: **Setting partition sizes**
222: The default partition scheme of just using a big `/` (root) file system (plus
223: swap) works fine with NetBSD, and there is little need to change this. The
224: previous figure shows how to change the size of the swap partition to 600 MB.
225: Changing `/tmp` to reside on a *RAM disk*
226: ([mfs(8)](http://netbsd.gw.com/cgi-bin/man-cgi?mfs+8+NetBSD-5.0.1+i386)) for
227: extra speed may be a good idea. Other partition schemes may use separate
228: partitions for `/var`, `/usr` and/or `/home`, but you should use your own
229: experience to decide if you need this.
231: The next step is to create the disklabel and edit its partitions, if necessary,
232: using the disklabel editor (see below). If you predefined the partition sizes in
233: the previous step, the resulting disklabel will probably fit your wishes. In
234: that case you can complete the process immediately by selecting *Partition sizes
237: ![The disklabel editor](/guide/images/exinst_disklabel-partitions.png)
238: **The disklabel editor**
240: There are two reserved partitions, `c`, representing the NetBSD partition, and
241: `d`, representing the whole disk. You can edit all other partitions by using the
242: cursor keys and pressing the return key. You can add a partition by selecting an
243: unused slot and setting parameters for that partition. The partition editing
244: screen is shown below:
246: ![Disklabel partition editing](/guide/images/exinst_disklabel-partition-editor.png)
247: **Disklabel partition editing**
249: ## Setting the disk name
251: After defining the partitions in the new disklabel, the last item is to enter a
252: name for the NetBSD disk as shown bwlow. This can be used later to distinguish
253: between disklabels of otherwise identical disks.
255: ![Naming the NetBSD disk](/guide/images/exinst_diskname.png)
256: **Naming the NetBSD disk**
258: ## Last chance!
260: The installer now has all the data it needs to prepare the disk. Nothing has
261: been written to the disk at this point, and now is your last chance to abort the
262: installation process before actually writing data to the disk. Choose *no* to
263: abort the installation process and return to the main menu, or continue by
264: selecting *yes*.
266: ![Last chance to abort](/guide/images/exinst_last-chance.png)
267: **Last chance to abort**
269: ## The disk preparation process
271: After confirming that sysinst should prepare the disk, it will run
273: to create the NetBSD partition layout and
274: [newfs(8)](http://netbsd.gw.com/cgi-bin/man-cgi?newfs+8+NetBSD-5.0.1+i386) to
275: create the file systems on the disk.
277: After preparing the NetBSD partitions and their filesystems, the next question
278: (shown in the next figure) is which *bootblocks* to install. Usually you will
279: choose the default of *BIOS console*, i.e., show boot messages on your
280: computer's display.
282: If you run a farm of machines without monitor, it may be more convenient to use
283: a serial console running on one of the serial ports. The menu also allows
284: changing the serial port's baud rate from the default of 9600 baud, 8 data bits,
285: no parity and one stopbit.
287: ![Selecting bootblocks](/guide/images/exinst_bootblocks.png)
288: **Selecting bootblocks**
290: ## Choosing the installation media
292: At this point, you have finished the first and most difficult part of the
295: The second half of the installation process consists of populating the file
296: systems by extracting the distribution sets that you selected earlier (base,
297: compiler tools, games, etc). Before unpacking the sets, sysinst asks what
298: information you would like to see during that process, as shown below. You can
299: choose between a progress bar, a display of the name of each extracted file, or
302: ![Choosing the verbosity of the extraction process](/guide/images/exinst_verbosity.png)
303: **Choosing the verbosity of the extraction process**
305: Now sysinst needs to find the NetBSD sets and you must tell it where to find
306: them. The menu offers several choices, as shown below. The options are explained
307: in detail in the `INSTALL` documents.
309: ![Installation media](/guide/images/exinst_medium.png)
310: **Installation media**
312: ### Installing from CD-ROM or DVD
314: When selecting *CD-ROM / DVD*, sysinst asks the name of the CD-ROM or DVD device
315: and the directory in which the set files are stored, see below. The device is
316: usually `cd0` for the first CD-ROM or DVD drive, regardless of whether it is IDE
317: or SCSI (or even USB or FireWire).
319: ![CD-ROM/DVD installation](/guide/images/exinst_cdrom.png)
320: **CD-ROM/DVD installation**
322: ### The CD-ROM/DVD device name
324: If you don't know the name of the CD-ROM/DVD device, you can find by doing the
327: 1. Press Ctrl-Z to pause sysinst and go to the shell prompt.
329: 2. Type the command:
331: # dmesg
333: This will show the kernel startup messages, including the name of the CD-ROM device, for example *cd0*.
335: 3. If the display scrolls too quickly, you can also use **more**:
337: # dmesg | more
339: 4. Go back to the installation program with the command:
341: # fg
343: ### Installing from an unmounted file system
345: The next figure shows the menu to install NetBSD from an unmounted file system.
346: It is necessary to specify the device (*Device*), the file system of the device
347: (*File system*) and the path to the install sets (*Set directory*). The setting
348: for the *Base directory* is optional and can be kept blank.
350: In the following example the install sets are stored on a *MSDOS* file system,
351: on partition `e` on the device `sd0`.
353: ![Mounting a file system](/guide/images/exinst_mount.png)
354: **Mounting a file system**
356: It is usually necessary to specify the device name and the partition. The
357: following figure shows how to specify device `sd0` with partition `e`.
359: ![Mounting a partition](/guide/images/exinst_mount-partition.png)
360: **Mounting a partition**
362: In the next figure, the file system type is specified. It is `msdos` but it
363: could also be the NetBSD file system `ffs` or `ext2fs`, a Linux file system. The
364: *Base directory item is left blank and the binary sets are stored under `/sets`.
365: Choosing *Continue* will start the extraction of the sets.
368: ![Accessing a MSDOS file system](/guide/images/exinst_mount-msdos.png)
369: **Accessing a MSDOS file system**
371: ### Installing via FTP
373: If you choose to install from a local network or the Internet via FTP, sysinst
374: will configure the system's network connection, download the selected set files
375: to a temporary directory, and then extract them.
377: NetBSD currently supports installation via ethernet, USB ethernet or wireless,
378: and wireless LAN. Installation via DSL (PPP over Ethernet) is not supported
379: during installation.
381: The first step shown in the next figure further below consists of selecting
382: which network card to configure. sysinst will determine a list of available
383: network interfaces, present them and ask which one to use.
385: *Note*: The exact names of your network interfaces depend on the hardware you
386: use. Example interfaces are `wm` for Intel Gigabit interfaces, `ne` for NE2000
387: and compatible ethernet cards, and `ath` for Atheros based wireless cards. This
388: list is by no means complete, and NetBSD supports many more network devices.
390: To get a list of network interfaces available on your system, interrupt the
391: installation process by pressing `Ctrl+Z`, then enter
393: # ifconfig -a
394: ne2: flags=8822<UP,BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> mtu 1500
395: address: 00:06:0d:c6:73:d5
396: media: Ethernet autoselect 10baseT full-duplex
397: status: active
398: inet 0.0.0.0 netmask 0xffffff00 broadcast 0.0.0.0
399: inet6 fe80::206:dff:fec6:73d5%ne2 prefixlen 64 scopeid 0x1
400: lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 33196
401: inet 127.0.0.1 netmask 0xff000000
402: inet6 ::1 prefixlen 128
403: inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
404: ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
405: ppp1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
406: sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
407: sl1: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
408: strip0: flags=0 mtu 1100
409: strip1: flags=0 mtu 1100
411: To get more information about all the devices found during system startup,
412: including network devices, type
414: # dmesg | more
416: You can return to the NetBSD installation by typing
418: # fg
420: ![Which network interface to configure](/guide/images/exinst_ftp-if.png)
421: **Which network interface to configure**
423: Next, you have a chance to set your network medium.
425: *Note*: It is unlikely that you will need to enter anything other than the
426: default here. If you experience problems like very slow transfers or timeouts,
427: you may, for example, force different duplex settings for ethernet cards. To get
428: a list of supported media and media options for a given network device (ne2, for
429: example), escape from sysinst by pressing `Ctrl+Z`, then enter:
431: # ifconfig -m ne2
432: ne2: flags=8822<UP,BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> mtu 1500
433: address: 00:03:0d:c6:73:d5
434: media: Ethernet 10baseT full-duplex
435: status: active
436: supported Ethernet media:
437: media 10baseT
438: media 10baseT mediaopt full-duplex
439: media 10base2
440: media autoselect
442: The various values printed after `media` may be of interest here, including
443: keywords like `autoselect` but also including any `mediaopt` settings.
445: Return to the installation by typing:
447: # fg
449: The next question will be whether you want to perform DHCP autoconfiguration as
450: shown in the figure below. Answer *Yes* if you have a DHCP *Dynamic Host
451: Configuration Protocol* (DHCP) running somewhere on your network, and sysinst
452: will fetch a number of defaults from it. Answer *No* to enter all the values
455: We will assume you answered *No* and go into all the questions asked in detail.
457: ![Using DHCP for network configuration](/guide/images/exinst_ftp-dhcp.png)
458: **Using DHCP for network configuration**
460: The image below shows the questions asked for the network configuration. The
461: values to be entered are:
463: * *Your DNS Domain:* -- This is the name of the domain you are in.
464: * *Your hostname:* -- The name by which other machines can usually address your
465: computer. Not used during installation.
466: * *Your IPv4 number:* -- Enter your numerical Internet Protocol address in
467: *dotted quad* notation here, for example, 192.168.1.3
468: * *IPv4 Netmask:* -- The netmask for your network, either given as a hex value
469: (`0xffffff00`) or in dotted-quad notation (`255.255.255.0`).
470: * *IPv4 gateway:* -- Your router's (or default gateway's) IP address. Do not
471: use a hostname here!
472: * *IPv4 name server:* -- Your (first) DNS server's IP address. Again, don't use
473: a hostname.
475: ![Entering and configuring network data](/guide/images/exinst_ftp-cfg.png)
476: **Entering and configuring network data**
478: After answering all of your network configuration info, it will be displayed,
479: and you will have a chance to go back and make changes.
481: ![Confirming network parameters](/guide/images/exinst_ftp-cfgok.png)
482: **Confirming network parameters**
484: sysinst will now run a few commands (not displayed in detail here) to configure
485: the network: flushing the routing table, setting the default route, and testing
486: if the network connection is operational.
488: Now that you have a functional network connection, you must tell the installer
489: how to get the distribution sets, as shown in the next figure.
491: When you are satisfied with your settings (the defaults work most of the time),
492: choose *Get Distribution* to continue.
494: ![Defining the FTP settings](/guide/images/exinst_ftp-src.png)
495: **Defining the FTP settings**
497: ### Installing via NFS
499: If you want to install NetBSD from a server in your local network, NFS is an
500: alternative to FTP.
502: *Note*: Using this installation method requires the ability to set up an NFS
503: server, a topic which is not discussed here.
505: As shown below, you must specify the IP address of the NFS server with "Host",
506: the "Base directory" that is *exported* by the NFS server, and the "Set
507: directory", which contains the install sets.
509: ![NFS install screen](/guide/images/exinst_nfs.png)
510: **NFS install screen**
512: The following image shows an example: Host `192.168.1.50` is the NFS server that
513: provides the directory `/home/username/Downloads` The NetBSD install sets are
514: stored in the directory `/home/username/Downloads/sets` on the NFS server.
515: Choose *Continue* to start the installation of the distribution sets.
517: ![NFS example](/guide/images/exinst_nfs-example.png)
518: **NFS example**
520: ## Extracting sets
522: After the method for obtaining distribution sets has been chosen, and (if
523: applicable) after those sets have been transferred, they will be extracted into
524: the new NetBSD file system.
526: After extracting all selected sets, sysinst will create device nodes in the
527: `/dev` directory and then display a message saying that everything went well.
529: Another message will let you know that the set extraction is now completed, and
530: that you will have an opportunity to configure some essential things before
531: finishing the NetBSD installation:
533: ![Extraction of sets completed](/guide/images/exinst_extraction-complete.png)
534: **Extraction of sets completed**
536: ## System configuration
538: The first thing you can configure is your timezone. It is *Universal Time
539: Coordinated* (UTC) by default, and you can use the two-level menu of
540: continents/countries and cities shown below to select your timezone with the
541: Return key. Next, press `x` followed by Return to exit timezone selection.
543: ![Selecting the system's time zone](/guide/images/exinst_timezone.png)
544: **Selecting the system's time zone**
546: At this point, you are given the option to choose a password encryption scheme.
547: While *DES* is the standard algorithm used on most Unix systems, *MD5*,
548: *Blowfish*, and *SHA1* allow longer passwords than DES, which only uses the
549: first eight characters of the password that is entered. DES is still useful for
550: interoperability with other operating systems.
552: ![Selecting a password encryption scheme](/guide/images/exinst_cipher.png)
553: **Selecting a password encryption scheme**
555: After choosing the password cipher you are asked if you want to set the root
556: password. It is recommended to set a root password at this point for security
559: ![Set a root password?](/guide/images/exinst_passwd.png)
560: **Set a root password?**
562: When you agree to set a root password, sysinst will run the
564: utility for you. Please note that the password is not echoed.
566: ![Setting root password](/guide/images/exinst_passwd2.png)
567: **Setting root password**
569: The next menu allows you to choose which command line interpreter - also known
570: as a `shell` - will be used for the root account. The default is the classic
571: *Bourne shell*,
572: [sh(1)](http://netbsd.gw.com/cgi-bin/man-cgi?sh+1+NetBSD-5.0.1+i386). Other
573: choices are the *Korn shell*
574: ([ksh(1)](http://netbsd.gw.com/cgi-bin/man-cgi?ksh+1+NetBSD-5.0.1+i386)) and the
575: *C shell*
576: ([csh(1)](http://netbsd.gw.com/cgi-bin/man-cgi?csh+1+NetBSD-5.0.1+i386)). If,
577: upon reading this, you don't have some idea of which shell you prefer, simply
578: use the default, as this is a highly subjective decision. Should you later
579: change your mind, root's shell can always be changed.
581: ![Choosing a shell](/guide/images/exinst_shell.png)
582: **Choosing a shell**
584: ## Finishing the installation
586: At this point the installation is finished.
588: ![Installation completed](/guide/images/exinst_completed.png)
589: **Installation completed**
591: After passing the dialog that confirms the installation, sysinst will return to
592: the main menu. Remove any installation media (CD, floppy, etc.) and choose
593: *Reboot the computer* to boot your new NetBSD installation.
595: ![Reboot to finish installation](/guide/images/exinst_reboot.png)
596: **Reboot to finish installation**
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb