FreeBSD 7.0-RELEASE Kernel Optimization

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)

One thought on “FreeBSD 7.0-RELEASE Kernel Optimization”

Leave a Reply to Angelina Ridpath Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.