Hi all

Sometime back I submitted a short manual contribution about the
kernel.conf file. I note that this hasn't found its way into the
handbook; I'm attaching it to this message in the hope that someone will
add it and commit it.

Dr Graham Wheeler                        E-mail: [EMAIL PROTECTED]
Director, Research and Development       WWW:    http://www.cequrux.com
CEQURUX Technologies                     Phone:  +27(21)423-6065
Firewalls/VPN Specialists                Fax:    +27(21)424-3656
Configuring An Already Compiled Kernel

If you don't want to create a custom kernel, you can configure many hardware
settings for none Plug 'n' Play devices without doing so, by putting them in
the /boot/kernel.conf file.

This file contains a sequence of commands compatible with those that are
supported by the kernel configuration editor (which you may have seen when
you first installed FreeBSD, and which is also accessible by booting with a
`-c' argument). Because the commands in this file are essentially fed to the
kernel configuration editor, the last command in the file should be `q' for

The commands that the kernel configuration editor understands are:

di(sable) <devicename>          Disable device
en(able) <devicename>           Enable device

dr(q) <devicename> <drq>        Set DMA channel for device to <drq>

ei(sa) <numslots>               Set number of EISA slots to probe

f(lags) <devicename> <flags>    Set the device-specific flags for the device
iom(em) <devicename> <address>  Sets the base address of the I/O memory
ios(ize) <devicename> <size>    Sets the size of the I/O memory
ir(q) <devicename> <irqnum>     Set the IRQ for the device

po(rt) <devicename> <port>      Set the I/O port base address for the device

ex                              Exit (quit)
q                               Quit

The commands are shown with their full names, and the optional parts
parenthesised. Thus, for example, the "enable" command can be abbreviated
to "en".

There are other commands, for example to list the devices or reset the CPU, 
but these only make sense when using the interactive editor, and not when
using kernel.conf.

<irqnum>, <flags>, <drq>, <address>, <size> are all numeric arguments. They
can be either decimal numbers, or hexadecimal numbers (in which case they
must be prefixed by "0x").

Here is a simple example, which sets the interrupt and port for device
ed0 to be irq 10, port 0x320:

    irq ed0 10
    port ed0 0x320

Reply via email to