.TH idenable "" "" "Command"
.PC "Enable or disable a device driver"
\fB/etc/conf/bin/idenable [\-f \fIfile\^\fB] [\-de] \fIdriver\fR
.PP
The command
.B idenable
lets you enable or disable a device driver within the \*(CO kernel.
.I driver
is the device driver to enable or disable
.PP
The flag
.B \-e
tells
.B idenable
to enable
.IR driver .
This is the default.
.PP
The flag
.B \-d
tells
.B idenable
to disable it.
.PP
For example, to enable \*(ST and disable the pseudo-tty driver
.BR pty ,
use the following commands:
.DM
	/etc/conf/bin/idenable streams
	/etc/conf/bin/idenable -d pty
.DE
.PP
.BR idenable 's
command line can name more than one driver.
For example, the command
.DM
	/etc/conf/bin/idenable streams -d pty
.DE
.PP
is the equivalent of the two commands given above.
The command line is parsed from left to right, so whatever you
say last about a driver is what ultimately happens.
.PP
The option
.B \-f
forces
.B idenable
to enable a driver.
If
.B idenable
is directed to enable a device that will conflict with
another enabled device in some way,
it normally reports the conflict and not make the change.
.B \-f
directs
.B idtune
to ``force'' the driver to be enabled by simply shutting off all
other drivers with which a conflict occurs.
For example, this is used with keyboard drivers,
only one of which can occupy a major number at a time.
.PP
.II idmkcoh
To implement your changes, you must then invoke the command
.B /etc/conf/bin/idmkcoh
to build a new kernel, which will reflect your changes, and then boot
the new kernel.
.PP
.II sdevice
.II /etc/conf/sdevice
.B idenable
works by modifying the file
.BR /etc/conf/sdevice .
It consists of a series of lines with the following format:
.DM
	streams N   0   0   0   0   0x0   0x0   0x0   0x0
	console Y   0   0   0   0   0x0   0x0   0x0   0x0
	cohmain Y   0   0   0   0   0x0   0x0   0x0   0x0
.DE
.PP
The first column names the driver in question.
The second column indicates whether it is incorporated into the kernel.
The other columns give ``magic cookies'' that describe how the driver works.
.PP
You can read
.B /etc/conf/sdevice
to see how your kernel is currently configured.
Note, however, that you must
.I never
modify
.B sdevice
by hand.
.B idenable
performs consistency checking to ensure, for example, that you do not load
two competing keyboard drivers or hard-disk drivers.
If you modify
.B sdevice
by hand, you run the risk of building a kernel that that will not boot
or will trash your file system.
.SH "See Also"
.Xr "cohtune," cohtune
.Xr "commands," commands
.Xr "device drivers," device_dr
.Xr "idmkcoh," idmkcoh
.Xr "idtune," idtune
.Xr "vtkb," vtkb
.Xr "vtnkb" vtnkb
