Note: If you are running FreeBSD 5.0 or later you can safely skip this
section. These versions use
devfs(5) to
allocate device nodes transparently for the user.
Almost every device in the kernel has a corresponding ``node'' entry in the /dev directory. These nodes look like regular files, but are
actually special entries into the kernel which programs use to access the device. The
shell script /dev/MAKEDEV, which is executed when you first
install the operating system, creates nearly all of the device nodes supported. However,
it does not create all of them, so
when you add support for a new device, it pays to make sure that the appropriate entries
are in this directory, and if not, add them. Here is a simple example:
Suppose you add the IDE CD-ROM support to the kernel. The line to add is:
device acd0
This means that you should look for some entries that start with acd0 in the /dev directory, possibly
followed by a letter, such as c, or preceded by the letter
r, which means a ``raw'' device. It turns out that those files
are not there, so you must change to the /dev directory and
type:
# sh MAKEDEV acd0
When this script finishes, you will find that there are now acd0c and racd0c entries in /dev so you know that it executed correctly.
For sound cards, the following command creates the appropriate entries:
# sh MAKEDEV snd0
Note: When creating device nodes for devices such as sound cards, if other
people have access to your machine, it may be desirable to protect the devices from
outside access by adding them to the /etc/fbtab file. See fbtab(5) for more
information.
Follow this simple procedure for any other non-GENERIC
devices which do not have entries.
Note: All SCSI controllers use the same set of /dev
entries, so you do not need to create these. Also, network cards and SLIP/PPP
pseudo-devices do not have entries in /dev at all, so you do
not have to worry about these either.