Installing or Upgrading FreeBSD 2.2.2 on DiRT Machines

This document describes the intricate little details necessary for a proper installation or upgrade of FreeBSD 2.2.2 on DiRT machines. If you follow these instructions, you should have a machine capable of running DiRT's generic kernels. This document is mainly about installing FreeBSD with some of the sections also applying to an upgrade (also upgrade), and a few sections only for upgrade (upgrade only). They are marked appropriately.

1. Back up the original system

The first step should always be to back up the original system. We have various Zip drives scattered among DiRT members or stored in the closet. Use 'em.

(upgrade only) It's a good idea to make your own backup of /etc and /usr to be safe. The best way I've found is to mount /usr via nfs from one of the Win95 machines and back up to zip. Copy /etc to a place on /usr - it's small enough and it's easier to do that than to mount the root partition through nfs.

2. Make sure you have a boot floppy (also upgrade)

An image of the boot floppy can be obtained either from the FreeBSD CD or from the ftp site (

The floppies directory is on /cdrom. If creating the boot floppy from FreeBSD, use dd if=floppies/boot.flp of=/dev/floppy.
Note: this used to say /dev/rfd0. That doesn't work.

If creating the boot floppy from DOS, make sure you have the makeflp.bat program, and use makeflp boot.flp .

3. Configure network adapters

See the network configuration page for details. Basically, the IBM ISA Lan Adapters must be configured as NE2000 adapters on I/O Port 280 and IRQ 10 to use the standard ed0 device from the DiRT kernels. Other makes of ethernet adapters have their own instructions. When booting a kernel for the first time, make sure to do the Visual configuration for FreeBSD devices to configure FreeBSD to match the card's configuration.

If this machine is going to be on the 139 subnet, and taz will be proxy-arping for it, it is necessary to find out the hardware (ARP) address of the ethernet adapter. If the DOS configuration utility does not give you this information (e.g. IBM Lan Adapters) then you can obtain it by booting from the FreeBSD floppy. If the card is configured properly, FreeBSD tells you the hardware address as it finds the adapter.

Finally, make sure the machine is plugged into the appropriate network hub. Don't laugh. These things happen...

4. Boot from the boot floppy and install FreeBSD

(also upgrade) If installing from a cdrom over ftp, first make sure the cdrom is accessible from anonymous ftp's (see the cdrom documentation).

(also upgrade) After booting from the floppy, first select Options from the main install menu and change the media type to ftp and change the release to none. If installing over the network, change the media type to ftp and choose the appropriate release. (using "none" is the a good way to go on this as it forces the install program to recogninize the organization on the CD-ROM in addition to that common on most ftp sites.) On the next page, if installing from cdrom on earnestt, choose URL and fill in ftp://earnestt. If installing over the network, choose an ftp site.

(also upgrade) The gateway and nameserver information can be obtained by doing an nslookup machinename. If the machine is on the 139 subnet, then taz is the gateway, IP address If the machine is on the department net, use

(Not upgrade) Choose a Novice install and follow the directions in the manual. This install takes you through all the necessary steps to install FreeBSD.

(upgrade only) Choose the upgrade option and proceed as instructed, installing the same distributions that were originally installed on the machine. Following the upgrade you will need to update the rc.conf (new in this release) to match the options from the previous /etc/sysconfig. It may be easier to just grab the /etc/rc.conf from a similiarly configured machine and use it as a guide, noting that the network options (hostname, ip address, network devices) will be different.

You will need to configure the system. Using another system as a guideline is a good idea. Picking a generically configured machine and copying many of the necessary files works pretty well. Right now, howard, lovey, goober, and floyd are pretty generic. You can just copy the following files wholesale from one of them (all from /etc/):

Since we nfs mount the home directories and src you need to remove /usr/src and make it a symbolic link to /usr/home/freebsd/src as it is on other machines.

If you're installing or upgrading the source, first bring the system up in a normal way, with the NFS space that you're going to install the src into mounted. I assume you'll want to install the source once, and have all of the FreeBSD machines link to it. Then install the src distribution. After you finish, I recommend using find to change the group on all of the installed src to "src" instead of wheel and to change the permissions so that the group permissions match the owner permissions on all of the files. This way members of group "src" can work on the source without having to work as root (something to be avoided!). The following commands in a csh script should do the job:

foreach i ( /usr/src/*  ) 
	find -X $i -print | xargs chgrp src $1 
	find -X $i -perm -0100 -print | xargs chmod g+x $1 
	find -X $i -perm -0200 -print | xargs chmod g+w $1 
	find -X $i -perm -0400 -print | xargs chmod g+r $1 

If you want to install the ports collection I recommend doing it the same as the src.

5. Install necessary packages

These will vary from machine to machine based on the machine's use and whether or not it is running X. The typical packages used by the core DiRTsters include:

benchmarks:	netperf
editors:	emacs
misc:		less
net:		tcptrace
shells:		tcsh
xutils:		tvtwm

6. Create users

/etc/passwd on topsecret can be used. But a simple copy will not work. Use vipw and write out the password file to a temporary location (file operations menu under vipw). Edit the temporary file and remove all system ids (root,toor, etc.) and maintain only lines for regular users. On the new machine, execute vipw and read in the file thus created (file operations menu again). Remember to only append this file to the /etc/passwd that the FreeBSD install leaves you with.
Note that in order for this process to work, DES must be installed (can be done as part of the install process by choosing DES or after install by using the files in the /des directory on the FreeBSD CD).

7. Set up NFS services and user home directories

8. Reboot the machine and check that everything works fine

9. Add or edit the entry for the machine in the inventory.

Other DiRT documents
Author: Jan Borgersen
Updated by: Mark Parris
Updated by: Arun Moorthy
Last updated: Feb 13, 1998