Below is my FreeBSD 7.0 kernel configuration file. I created it on my reference system, to be used on four production servers whose hardware configurations differ some. For that reason there’re few options (indicated as “[OPTION]”) that are conditional for the configurations. I’ve also left in IPv6 options which are currently commented out, but that I may take into use later if/when IPv6 becomes more prevalent in the environment these servers operate.
#
# INERTIA -- Inertia kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# Based on
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.474.2.2.2.1 2008/02/06 03:24:28 scottl Exp $
ident INERTIA
machine i386
cpu I686_CPU
options SMP # Symmetric MultiProcessor Kernel (`device apic' is also required for multiprocessor use)
options SCHED_4BSD # 4BSD scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big dirs
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options MSDOSFS # MSDOS filesystem support (for floppies)
options COMPAT_43 # Compatible with BSD 4.3 (required)
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
options SCSI_DELAY=15000 # Delay (in ms) before probing SCSI (TWA/TWE issue)
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev, may be needed to hot-plug USB keyboards
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug output
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug output
options ADAPTIVE_GIANT # Giant mutex is adaptive
options ACCEPT_FILTER_HTTP # Must be here or AcceptFilter won't work w/Apache2
options SC_DISABLE_REBOOT # Disable Ctrl-Alt-Del reboot (this is a server)
device apic # I/O APIC (required)
device npx # The Numeric Processing eXtension driver (required)
device pci
device isa # Required by npx
device fdc # Floppy drives
device ata # ATA and ATAPI devices
device atadisk # ATA disk drives
device ataraid # ATA RAID drives [OPTION]
device atapicd # ATAPI CDROM drives
options ATA_STATIC_ID # Static device numbering
device scbus # SCSI bus (required for SCSI, ALSO REQ'D FOR SATA-RAID, USB/umass)
device da # Direct Access (disks)
device pass # Passthrough device (direct SCSI access)
#device twe # 3ware ATA RAID [OPTION]
#device twa # 3ware 9000 series PATA/SATA RAID [OPTION]
#options TWA_DEBUG # 0-10; 10 prints the most messages; enable for twa debug only
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device kbdmux # keyboard multiplexer
device vga # VGA video card driver
device sc # syscons, the default console driver
device sio # 8250, 16[45]50 based serial ports
device ppc # Parallel port
device ppbus # Parallel port bus (required)
device lpt # Printer
device ppi # Parallel port interface device
#device miibus # MII bus support (required by some NICs) [OPTION]
#device fxp # Intel EtherExpress PRO/100B (82557, 82558); requires miibus [OPTION]
device em # Intel PRO/1000 adapter Gigabit Ethernet Card [OPTION]
options DEVICE_POLLING # Imporoves network driver performance
device coretemp # On-die temperature sensor on Intel Core and newer CPUs [OPTION]
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device pty # Pseudo-ttys (telnet etc)
#device gif # IPv6 and IPv4 tunneling
#device faith # IPv6-to-IPv4 relaying (translation)
device bpf # Berkeley packet filter
# USB support [OPTION]
device uhci # USB support / UHCI PCI->USB interface
device ohci # USB support / OHCI PCI->USB interface
device ehci # USB support / EHCI PCI->USB interface (USB 2.0)
device usb # USB support / USB Bus (required)
device ugen # USB support / Generic
device uhid # USB support / "Human Interface Devices"
device ukbd # USB support / Keyboard
device umass # USB support / Disks/Mass storage - Requires scbus and da
options COMPAT_LINUX # Linux compat / Enable Linux ABI emulation
options COMPAT_AOUT # Linux compat / Enable i386 a.out binary support
options LINPROCFS # Linux compat / Enable procfs support (COMPAT_LINUX / PSEUDOFS)