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 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 NetBSD 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.) If NetBSD will be sharing the disk with Human68k 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 NetBSD area of the disk and its offset from the beginning of the disk. You will need this information when setting up your NetBSD partitions. You should now be ready to install NetBSD. It might be handy for you to have a pencil, some paper, and a calculator handy. The following is a walk-through of the steps you will take while getting NetBSD installed on your hard disk. If any question has a default answer, it will be displayed in brackets ("[]") after the question. If you wish to stop the installation, you may hit Control-C at any time, but if you do, you'll have to begin the installation process again from scratch. Boot your machine using of the appropriate kernel-copy floppy. If the boot prompt does not appear in a reasonable amount of time, you either have a bad boot floppy or a hardware problem. Try writing the kernel-copy floppy image to a different disk, and using that. If it still doesn't work, NetBSD probably can't be run on your hardware. This can probably be considered a bug, so you might want to report it. If you do, please include as many details about your system configuration as you can. It will take a while to load the kernel from the floppy, probably around a minute or so. After its loaded, you will be presented with the message: "Insert file system floppy" If you do not see that message after a reasonable time has elapsed, or the spinning cursor has stopped and nothing further has happened, either your boot floppy is bad or you are having hardware problems, and should proceed as outlined above. Once you have reached that prompt, remove the kernel-copy floppy from the floppy drive. Make sure that the installation disk (the "inst12" floppy) is writable, insert it into the floppy drive, and hit any key. You will then be presented with the NetBSD kernel boot messages. You will want to read them, to determine 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 will need your disk's geometry when creating NetBSD's partitions. You will also need to know the name, to tell the install tools what disk to install on. While booting, you will probably see several warnings. You should be warned that no swap space is present, and that init(8) cannot find /etc/rc. Do not be alarmed, these are completely normal. When you reach the prompt asking you for a shell name, just hit return. 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 "y" and hit return. 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. If you are SURE that it does, reply affirmatively. Otherwise, the install program will automatically reserve space for bad144 tables. 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. You will then be asked to name your disk's disklabel. The default response is "mywd" or "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. 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, hit Control-C and when you get to the shell prompt, restart the install process by running the "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. 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 "c" for cylinders, or "s" for sectors. You will be asked for the size of the NetBSD 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!) If you are not installing on the whole disk, you will be asked fro the offset of the NetBSD 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. You will be asked to enter the size of your NetBSD root partition. It should be at least 13M, but if you are going to be doing development, 14-16M 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. 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. 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, "/usr". (Machines used as servers will probably also want /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 ("/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 "/usr". 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 NetBSD, 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 "yes" at the prompt. The install program will now label your disk and make the file systems you specified. The filesystems will be initialized to contain NetBSD bootstrapping binaries and configuration files. It will also create an /etc/fstab for your system, and mount all of the file systems under /mnt. (In other words, your root partition will be mounted on /mnt, your /usr partition on /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. You will be placed at a shell prompt ("#"). The remaining tasks are to copy the kernel from the kernel copy floppy to the hard drive's root filesystem and install the distribution sets. The flow of installation differs depending on your hardware resources, and on what media the distribution sets reside. To install from floppy: If you only have only one floppy drive, the order of installation is different. Follow the directions in the "Kernel installation" section which will help you install a kernel on the hard drive and then boot off the hard drive, then continue with the rest of the process described here to install the distribution sets 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 "Set_tmp_dir", and enter the name of the temporary directory. (Don't forget that if your disk is still mounted under /mnt; you should probably pick a directory under /mnt/usr.) After you have picked a temporary directory, enter the "Load_fd" command, to load the distribution sets from your floppies. You will be asked which floppy drive to use. Enter "0" (zero) if you're using the first floppy drive (i.e. what DOS would call "A:"), or enter "1" if you're using the second. (Remember that you CANNOT use the floppy drive that you booted from. If you booted from "A:", you must load from "B:".) You will be prompted to insert a floppy into the drive, to have its contents copied to your hard disk. Do so, and hit 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, hit Control-C. Run the "Extract" command once for each distribution set you wish to install. For instance, if you wish to install the "base12" distribution set, followed by the "man12" distribution set, and finally the "etc12" distribution set, use the commands: Extract base12 Extract man12 Extract etc12 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 NetBSD, 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 "rm set_name.??".) 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. 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 "Set_tmp_dir", and enter the name of the temporary directory. (Don't forget that your disk is mounted under /mnt; you should probably pick a directory under /mnt/usr.) The default is /mnt/usr/distrib. After you have picked a temporary directory, enter the "Load_tape" command, to load the distribution sets from tape. You will be asked which tape drive to use. The default is "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 "rst1", and so on.) You will be prompted to hit 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. 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 "Set_tmp_dir" command again, and accept its default answer by hitting return at the prompt. Use the "Extract" command to extract the distribution set. For instance, if you're extracting the "base12" set, use the command: Extract base12 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. Repeat the previous two steps for each distribution set you wish to install. Change to the set's directory, run "Set_tmp_dir", and then run "Extract " to extract the set. 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. 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 "Set_tmp_dir", and enter the name of the temporary directory. (Don't forget that your disk is mounted under /mnt; you should probably pick a directory under /mnt/usr.) The default is /mnt/usr/distrib. Configure the appropriate ethernet interface (e.g. ed0, ep0, etc.) up, with a command like: ifconfig [netmask ] where "" is the interface name, like those listed above, and "" is the numeric IP address of the interface. If the interface has a special netmask, supply the word "netmask" at and that netmask at the end of the command line. (The brackets indicate that those arguments are optional.) For instance, to configure interface ed0 with IP address 129.133.10.10, use the command: ifconfig ed0 129.133.10.10 and to configure interface ep0 with IP address 128.32.240.167 and a special netmask, 0xffffff00, use the command: ifconfig ep0 128.32.240.167 netmask 0xffffff00 If your board selects software selection of the ethernet interface to use, you might have to add special flags to the "ifconfig" command you use. Consult the table below for the appropriate flags: Interface Type Connector Flags --------- ---- --------- ----- ed with WD/SMC* BNC [none necessary] ed with WD/SMC* UTP [none necessary] ed with WD/SMC* AUI link0 * Older WD boards do not support software configuration, and must be configured via jumpers. These flags will have no effect on them. In other words, if, in the last example, the AUI port of the board were being used, you would use the command: ifconfig ep0 128.32.240.167 netmask 0xffffff00 link0 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: route add default where is your gateway's numeric IP address. If you are NFS-mounting the distribution sets, mount them on the temporary directory with a command like: mount -t nfs : where is the server's numeric IP address, is the path to the distribution files on the server, and is the name of the local temporary directory. Once this is done, proceed as if you had loaded the files from tape, changing to the appropriate directories, running "Set_tmp_dir", and running "Extract" as appropriate. If you are retrieving the distribution sets using ftp, change into the temporary directory, and execute the command: ftp where is once again the server's numeric IP address. Get the files with FTP, taking care to use binary mode when transferring the files. 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.) Once you have finished extracting all of the distribution sets that you wish to install, and are back at the "#" prompt, you are ready to configure your system. The configuration utility expects that you have installed the "base12" and "etc12" 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 NetBSD system, run the command "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. Kernel Installation: Enter "halt" at the prompt to halt the system. When the system is halted, remove the "inst12" floppy from the floppy drive, and replace it with the NetBSD 1.2 kernel-copy floppy that you previously booted from. Reboot with that floppy. with that floppy. Once again, you will be prompted to insert a file system floppy. DO NOT replace the kernel-copy floppy, just hit any key. Again, While booting, you may see several warnings. You may be warned that no swap space is present, that init(8) cannot find /etc/rc, and that one or more databases with names like "pwd.db" cannot be found. Do not be alarmed, as, again, these are completely normal. Hit return at the prompt asking you for a shell name. You will be presented with a shell prompt, at which you should enter the "copy_kernel" command. It will ask you what partition to copy the kernel to, and you should reply with the name of your root partition (e.g. sd0a or wd0a). You will be asked if you are sure that you want to copy the kernel. Reply affirmatively, and it will check the file system on your root partition, mount it, and copy the kernel. Once the kernel is copied, you should use "halt" to halt the system. Once the system is halted, remove the kernel-copy floppy from the floppy disk drive, and hit any key to reboot. Congratulations, you have successfully installed NetBSD 1.2. When you reboot into NetBSD, you should log in as "root" at the login prompt. There is no initial password, but if you're using the machine in a networked environment, you should create yourself an account and protect it and the "root" account with good passwords. Some of the files in the NetBSD 1.2 distribution might need to be tailored for your site. In particular, the /etc/sendmail.cf file will almost definitely need to be adjusted, and other files in /etc will probably need to be modified, as well. If you are unfamiliar with UN*X-like system administration, it's recommended that you buy a book that discusses it.