.\" $NetBSD: install,v 1.7 2000/10/29 14:08:05 lukem Exp $ .\" .\" Copyright (c) 1999, 2000 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" Installing .Nx 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. .Pp Before you begin, you should know the geometry of your hard disk, i.e. the sector size (note that sector sizes other than 512 bytes are not currently supported), the number of sectors per track, the number of tracks per cylinder (also known as the number of heads), and the number of cylinders on the disk. The .Nx kernel will try to discover these parameters on its own, and if it can it will print them at boot time. If possible, you should use the parameters it prints. (You might not be able to because you're sharing your disk with another operating system, or because your disk is old enough that the kernel can't figure out its geometry.) .Pp If .Nx will be sharing the disk with RiscOS or another operating system, you should have already completed the section of these notes that instructed you on how to prepare your hard disk. You should know the size of the .Nx area of the disk and its offset from the beginning of the disk. You will need this information when setting up your .Nx partitions. .Pp You should now be ready to install .Nx . It might be handy for you to have a pencil, some paper, and a calculator handy. .Pp The following is a walk-through of the steps you will take while getting .Nx installed on your hard disk. If any question has a default answer, it will be displayed in brackets .Pq Dq [] after the question. If you wish to stop the installation, you may press .Key CONTROL-C at any time, but if you do, you'll have to begin the installation process again from scratch. .Pp Boot your machine using the installation kernel for your platform. (Instructions for doing this on your platform can be found in the preparation section of this document.) .Pp If this doesn't work, ensure that you're using the correct kernel for your hardware. .Pp Depending upon your platform and the method of loading the, it may take a while to load the kernel. .Pp You will then be presented with the .Nx kernel boot messages. You will want to read them, to determine your disk's name and geometry. Its name will be something like .Li sd0 or .Li wd0 and the geometry will be printed on a line that begins with its name. As mentioned above, you will need your disk's geometry when creating .Nx 's partitions. You will also need to know the name, to tell the install tools what disk to install on. .Pp While booting, you will probably see several warnings. You should be warned that no swap space is present, and that .Xr init 8 cannot find .Pa /etc/rc. Do not be alarmed, these are completely normal. When you reach the prompt asking you for a shell name, just press .Key RETURN . .Pp You will be asked if you wish to install or upgrade your system or go to a shell prompt. Enter .Ic install . .Pp You will be presented with a welcome message and a prompt, asking if you wish to proceed with the installation process. If you wish to proceed, enter .Sq Ic y and press .Key RETURN . .Pp You will be asked what type of disk driver you have. The valid options are listed by the install program, to make sure you get it right. .Pp The install program will then tell you which disks of that type it can install on, and ask you which it should use. Reply with the name of your disk. (The first disk of the type you selected, either .Li wd0 for IDE disks, or .Li sd0 for SCSI disks, is the default.) .Pp You will then be asked to name your disk's disklabel. The default response is .Sq Ic mywd or .Sq Ic mysd depending on the type of your disk, and for most purposes it will be OK. 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. .Pp You will be prompted for your disk's geometry information, i.e. the number of bytes per sector, cylinders on the disk, tracks per cylinder (heads), and sectors per track. Enter them when they are requested. If you make a mistake, press .Key CONTROL-C and when you get to the shell prompt, restart the install process by running the .Ic install command. Once you have entered this data, the install program will tell you the total size of your disk, in both sectors, and cylinders. Remember this number; if you're installing on the whole disk, you'll need it again soon. .Pp When describing your partitions, you will have the option of entering data about them in units of disk sectors or cylinders. If you choose to enter the information in units of sectors, remember that, for optimal performance, partitions should begin and end on cylinder boundaries. You will be asked about which units you wish to use, and you should reply with .Sq Ic c for cylinders, or .Sq Ic s for sectors. .Pp You will be asked for the size of the .Nx portion of the disk. If you're installing on the whole disk, reply with the size of the disk, as printed earlier by the install program. If you're using only part of the disk, reply with the size that you specified in the partition editor. (Don't forget to enter the size in the units you specified in the last step!) .Pp If you are not installing on the whole disk, you will be asked for the offset of the .Nx partition from the beginning of the disk. Reply with the appropriate offset (again, in whichever units you specified), as determined by how you set up your disk using the partition editor. .Pp You will be asked to enter the size of your .Nx root partition .Pq Pa / . It should be at least 13 MB, but if you are going to be doing development, 14-16 MB is a more desirable size. This size should be expressed in units of sectors or cylinders, depending on which you said you wanted to use. .Pp Next, you will be asked for the size of your swap partition. You should probably allocate twice as much swap space as you have real memory. Systems that will be heavily used should have more swap space allocated, and systems that will be lightly used can get by with less. If you want the system to be able to save crash dumps when it panics, you will need at least as much swap space as you have RAM. Again, this number should be expressed in units of sectors or cylinders, as appropriate. .Pp The install program will then ask you for information about the rest of the partitions you want on your disk. For most purposes, you will want only one more partition, .Pa /usr . (Machines used as servers will probably also want .Pa /var as a separate partition. That can be done with these installation tools, but is not covered here.) The install program will tell you how much space there is left to be allocated in the NetBSD area of the disk, and, if you only want one more partition .Pq Pa /usr , you should enter it at the prompt when the installer asks you how large the next partition should be. It will then ask you for the name of the mount point for that partition. If you're doing a basic installation, that is .Pa /usr . .Pp .Em You are now at the point of no return. Nothing has been written to your disk yet, but if you confirm that you want to install .Nx , your hard drive will be modified, and its contents may be scrambled at the whim of the install program. This is especially likely if you have given the install program incorrect information. If you are sure you want to proceed, enter .Ic yes at the prompt. .Pp The install program will now label your disk and make the file systems you specified. The file systems will be initialized to contain .Nx bootstrapping binaries and configuration files. It will also create an .Pa /etc/fstab for your system, and mount all of the file systems under .Pa /mnt . (In other words, your .Pa / (root) partition will be mounted on .Pa /mnt , your .Pa /usr partition on .Pa /mnt/usr , and so on.) There should be no errors in this section of the installation. If there are, restart from the beginning of the installation process. .Pp You will be placed at a shell prompt ( .Sq Li # ) . The task is to install the distribution sets. The flow of installation differs depending on your hardware resources, and on what media the distribution sets reside. . .Ss2 To install from floppy The first thing you should do is pick a temporary directory where the distribution files can be stored. To do this, enter the command .Ic Set_tmp_dir , and enter the name of the temporary directory. (Don't forget that if your disk is still mounted under .Pa /mnt ; you should probably pick a directory under .Pa /mnt/usr . ) .Pp After you have picked a temporary directory, enter the .Ic Load_fd command, to load the distribution sets from your floppies. .Pp You will be asked which floppy drive to use. Enter .Sq Ic 0 (zero) if you're using the first floppy drive, or enter .Sq Ic 1 if you're using the second. .Pp You will be prompted to insert a floppy into the drive, to have its contents copied to your hard disk. Do so, and press .Key RETURN to begin copying. When that is done, read the remainder of the floppies that contain the distribution sets that you want to install, one by one. When the last is read, and you are being prompted for another, press .Key CONTROL-C . .Pp Run the .Ic Extract command once for each distribution set you wish to install. For instance, if you wish to install the .Sy base distribution set, followed by the .Sy text distribution set, and finally the .Sy etc distribution set, use the commands: .Pp .Dl # Ic "Extract base" .Dl # Ic "Extract text" .Dl # Ic "Extract etc" .Pp For each extraction, it will ask you if the extraction should be verbose. If you reply affirmatively, it will print out the name of each file that's being extracted. .(Note If you know that you will be running low on disk space when installing .Nx , you can load and extract one distribution set at a time. To do this, load only the floppies which contain the files for the first distribution set, extract them, and then change to the temporary directory and remove them with the command .Ic rm set_name.?? .Note) .Pp Once you are finished extracting all of the sets that you wish to install, you should proceed to the instructions below (after the last install medium type-specific instructions), that explain how you should configure your system. . .Ss2 To install from tape The first thing you should do is pick a temporary directory where the distribution files can be stored. To do this, enter the command .Ic Set_tmp_dir , and enter the name of the temporary directory. (Don't forget that your disk is mounted under .Pa /mnt ; you should probably pick a directory under .Pa /mnt/usr . ) The default is .Pa /mnt/usr/distrib . .Pp After you have picked a temporary directory, enter the .Sy Load_tape command, to load the distribution sets from tape. .Pp You will be asked which tape drive to use. The default is .Li rst0 , which is correct if you're using the SCSI tape drive with the lowest SCSI-ID number. (For the SCSI tape drive with the next lowest SCSI-ID number, you should use .Li rst1 , and so on.) .Pp You will be prompted to press .Key RETURN when you have inserted the tape into the tape drive. When you do, the contents of the tape will be extracted into the temporary directory, and the names of the files being extracted will be printed. .Pp After the tape has been extracted, to go the directory containing the first distribution set you wish to install. (Depending on how you made the tape, it's probably a subdirectory of the temporary directory you specified above.) Once there, run the .Ic Set_tmp_dir command again, and accept its default answer by pressing return at the prompt. .Pp Use the .Ic Extract command to extract the distribution set. For instance, if you're extracting the .Sy base set, use the command: .Pp .Dl # Ic "Extract base" .Pp You will be asked if you wish the extraction to be verbose. If you reply affirmatively, the name of each file being extracted will be printed. .Pp Repeat the previous two steps for each distribution set you wish to install. Change to the set's directory, run .Ic Set_tmp_dir , and then run .Ic Extract Ar set_name to extract the set. .Pp Once you are finished extracting all of the sets that you wish to install, you should proceed to the instructions below (after the last install medium type-specific instructions), that explain how you should configure your system. .Pp .Ss2 To install via FTP or NFS The first thing you should do is pick a temporary directory where the distribution files can be stored. To do this, enter the command .Ic Set_tmp_dir , and enter the name of the temporary directory. (Don't forget that your disk is mounted under .Pa /mnt ; you should probably pick a directory under .Pa /mnt/usr . ) The default is .Pa /mnt/usr/distrib . .Pp Configure the appropriate ethernet interface (e.g. ea0, eb0, etc.) up, with a command like: .Pp .Ic ifconfig Ar ifname ipaddr .Op Ic netmask Ar netmask .Pp where .Ar ifname No is the interface name, like those listed above, and .Ar ipaddr No is the numeric IP address of the interface. If the interface has a special netmask, supply the word .Ic netmask No and that netmask at the end of the command line. (The brackets indicate that those arguments are optional.) For instance, to configure interface .Em ea0 with IP address .Li 129.133.10.10 , use the command: .Pp .Dl # Ic "ifconfig ea0 129.133.10.10" .Pp and to configure interface .Em eb0 with IP address .Li 128.32.240.167 and a special netmask, .Li 0xffffff00 , use the command: .Pp .Dl # Ic "ifconfig eb0 128.32.240.167 netmask 0xffffff00" .Pp If the NFS server or FTP server is not on a directly- connected network, you need to set up a route to it using a command like: .sp .Ic route add default Ar gate_ipaddr .sp .No where Ar gate_ipaddr is your gateway's numeric IP address. .Pp If you are NFS-mounting the distribution sets, mount them on the temporary directory with a command like: .sp .Ic mount -t nfs Ar serv_ipaddr:dist_dir\ tmp_dir .Pp where .Ar serv_ipaddr is the server's numeric IP address, .Ar dist_dir is the path to the distribution files on the server, and .Ar tmp_dir is the name of the local temporary directory. .Pp Once this is done, proceed as if you had loaded the files from tape, changing to the appropriate directories, running .Ic Set_tmp_dir , and running .Ic Extract as appropriate. .Pp If you are retrieving the distribution sets using ftp, change into the temporary directory, and execute the command: .Pp .Ic ftp Ar serv_ipaddr .Pp where .Ar serv_ipaddr is once again the server's numeric IP address. Get the files with FTP, taking care to use binary mode when transferring the files. .Pp Once you have all of the files for the distribution sets that you wish to install, you can proceed using the instructions above, as if you had installed from a floppy. (Note that as with the floppy install, if you're short on disk space, you can transfer only one set at a time, extract it, then delete it, to save space.) .Pp .Ss2 To install from CD-ROM First create a mount point so that you can mount the CD-ROM: .Pp .Dl # Ic "mkdir /mnt/cdrom" .Pp If you get an error here of .Dq "mkdir: /mnt/cdrom", don't worry it just means that you didn't need to create the directory. .Pp Then all you need to do is mount the CD-ROM. For the first CD-ROM drive use: .Pp .Dl # Ic "mount -rt cd9660 /dev/cd0a /mnt/cdrom" .Pp Or, for the second use: .Pp .Dl # Ic "mount -rt cd9660 /dev/cd1a /mnt/cdrom" .Pp Once this is done, extract the required sets as described in the .Sx "To install from floppy" section, but ensure that you set the temporary directory to the location of the sets on the CD-ROM (usually .Pa /cdrom/distrib , but check the release notes that came with the CD). .Pp .Ss2 Completing your installation Once you have finished extracting all of the distribution sets that you wish to install, and are back at the .Sq Li # prompt, you are ready to configure your system. The configuration utility expects that you have installed the .Sy base and .Sy etc distribution sets. If you have not, you will not be able to run it successfully (nor will you have a functional system, in any case). To configure your newly-installed .Nx system, run the command .Ic Configure . It will ask you for the system's host name, domain name, and other network configuration information. It will set up your configuration files and make the device nodes for the newly-installed system. .Pp .Em Congratulations, you have successfully installed .Nx \*V .