xref: /f-stack/freebsd/amd64/conf/MINIMAL (revision 22ce4aff)
1a9643ea8Slogwang#
2a9643ea8Slogwang# MINIMAL -- Mostly Minimal kernel configuration file for FreeBSD/amd64
3a9643ea8Slogwang#
4a9643ea8Slogwang# Many definitions of minimal are possible. The one this file follows is
5a9643ea8Slogwang# GENERIC, minus all functionality that can be replaced by loading kernel
6a9643ea8Slogwang# modules.
7a9643ea8Slogwang#
8a9643ea8Slogwang# Exceptions:
9a9643ea8Slogwang# o While UFS is buildable as a module, the current module lacks
10a9643ea8Slogwang#   some features (ACL, GJOURNAL) that GENERIC includes.
11a9643ea8Slogwang# o acpi as a module has been reported flakey and not well tested, so
12a9643ea8Slogwang#   is included in the kernel.
13*22ce4affSfengbojiang# o (non-loaded) random is included due to uncertainty...
14a9643ea8Slogwang# o Many networking things are included
15a9643ea8Slogwang#
16a9643ea8Slogwang# For now, please run changes to these list past [email protected]
17a9643ea8Slogwang#
18a9643ea8Slogwang# For more information on this file, please read the config(5) manual page,
19a9643ea8Slogwang# and/or the handbook section on Kernel Configuration Files:
20a9643ea8Slogwang#
21*22ce4affSfengbojiang#    https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
22a9643ea8Slogwang#
23a9643ea8Slogwang# The handbook is also available locally in /usr/share/doc/handbook
24a9643ea8Slogwang# if you've installed the doc distribution, otherwise always see the
25*22ce4affSfengbojiang# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
26a9643ea8Slogwang# latest information.
27a9643ea8Slogwang#
28a9643ea8Slogwang# An exhaustive list of options and more detailed explanations of the
29a9643ea8Slogwang# device lines is also present in the ../../conf/NOTES and NOTES files.
30a9643ea8Slogwang# If you are in doubt as to the purpose or necessity of a line, check first
31a9643ea8Slogwang# in NOTES.
32a9643ea8Slogwang#
33a9643ea8Slogwang# $FreeBSD$
34a9643ea8Slogwang
35a9643ea8Slogwangcpu		HAMMER
36a9643ea8Slogwangident		MINIMAL
37a9643ea8Slogwang
38a9643ea8Slogwangmakeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
39a9643ea8Slogwangmakeoptions	WITH_CTF=1		# Run ctfconvert(1) for DTrace support
40a9643ea8Slogwang
41a9643ea8Slogwangoptions 	SCHED_ULE		# ULE scheduler
42*22ce4affSfengbojiangoptions 	NUMA			# Non-Uniform Memory Architecture support
43a9643ea8Slogwangoptions 	PREEMPTION		# Enable kernel thread preemption
44a9643ea8Slogwangoptions 	INET			# InterNETworking
45a9643ea8Slogwangoptions 	INET6			# IPv6 communications protocols
46a9643ea8Slogwangoptions 	TCP_OFFLOAD		# TCP offload
47*22ce4affSfengbojiangoptions 	SCTP_SUPPORT		# Allow kldload of SCTP
48a9643ea8Slogwangoptions 	FFS			# Berkeley Fast Filesystem
49a9643ea8Slogwangoptions 	SOFTUPDATES		# Enable FFS soft updates support
50a9643ea8Slogwangoptions 	UFS_ACL			# Support for access control lists
51a9643ea8Slogwangoptions 	UFS_DIRHASH		# Improve performance on big directories
52a9643ea8Slogwangoptions 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
53a9643ea8Slogwangoptions 	QUOTA			# Enable disk quotas for UFS
54a9643ea8Slogwangoptions 	MD_ROOT			# MD is a potential root device
55a9643ea8Slogwangoptions 	COMPAT_FREEBSD32	# Compatible with i386 binaries
56a9643ea8Slogwangoptions 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
57a9643ea8Slogwangoptions 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
58a9643ea8Slogwangoptions 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
59a9643ea8Slogwangoptions 	COMPAT_FREEBSD7		# Compatible with FreeBSD7
60a9643ea8Slogwangoptions 	COMPAT_FREEBSD9		# Compatible with FreeBSD9
61a9643ea8Slogwangoptions 	COMPAT_FREEBSD10	# Compatible with FreeBSD10
62*22ce4affSfengbojiangoptions 	COMPAT_FREEBSD11	# Compatible with FreeBSD11
63*22ce4affSfengbojiangoptions 	COMPAT_FREEBSD12	# Compatible with FreeBSD12
64a9643ea8Slogwangoptions 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
65a9643ea8Slogwangoptions 	KTRACE			# ktrace(1) support
66a9643ea8Slogwangoptions 	STACK			# stack(9) support
67a9643ea8Slogwangoptions 	SYSVSHM			# SYSV-style shared memory
68a9643ea8Slogwangoptions 	SYSVMSG			# SYSV-style message queues
69a9643ea8Slogwangoptions 	SYSVSEM			# SYSV-style semaphores
70a9643ea8Slogwangoptions 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
71a9643ea8Slogwangoptions 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
72a9643ea8Slogwangoptions 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
73a9643ea8Slogwangoptions 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
74a9643ea8Slogwangoptions 	AUDIT			# Security event auditing
75a9643ea8Slogwangoptions 	CAPABILITY_MODE		# Capsicum capability mode
76a9643ea8Slogwangoptions 	CAPABILITIES		# Capsicum capabilities
77a9643ea8Slogwangoptions 	MAC			# TrustedBSD MAC Framework
78a9643ea8Slogwangoptions 	KDTRACE_FRAME		# Ensure frames are compiled in
79a9643ea8Slogwangoptions 	KDTRACE_HOOKS		# Kernel DTrace hooks
80a9643ea8Slogwangoptions 	DDB_CTF			# Kernel ELF linker loads CTF data
81a9643ea8Slogwangoptions 	INCLUDE_CONFIG_FILE	# Include this file in kernel
82a9643ea8Slogwang
83a9643ea8Slogwang# Debugging support.  Always need this:
84a9643ea8Slogwangoptions 	KDB			# Enable kernel debugger support.
85a9643ea8Slogwangoptions 	KDB_TRACE		# Print a stack trace for a panic.
86a9643ea8Slogwang
87a9643ea8Slogwang# Make an SMP-capable kernel by default
88a9643ea8Slogwangoptions 	SMP			# Symmetric MultiProcessor Kernel
89*22ce4affSfengbojiangoptions 	EARLY_AP_STARTUP
90a9643ea8Slogwang
91a9643ea8Slogwang# CPU frequency control
92a9643ea8Slogwangdevice		cpufreq
93a9643ea8Slogwang
94a9643ea8Slogwang# Bus support.
95a9643ea8Slogwangdevice		acpi
96*22ce4affSfengbojiangoptions 	IOMMU
97a9643ea8Slogwangdevice		pci
98a9643ea8Slogwang
99a9643ea8Slogwang# atkbdc0 controls both the keyboard and the PS/2 mouse
100a9643ea8Slogwangdevice		atkbdc			# AT keyboard controller
101a9643ea8Slogwangdevice		atkbd			# AT keyboard
102a9643ea8Slogwangdevice		psm			# PS/2 mouse
103a9643ea8Slogwang
104a9643ea8Slogwangdevice		kbdmux			# keyboard multiplexer
105a9643ea8Slogwang
106a9643ea8Slogwangdevice		vga			# VGA video card driver
107a9643ea8Slogwangoptions 	VESA			# Add support for VESA BIOS Extensions (VBE)
108a9643ea8Slogwang
109a9643ea8Slogwangdevice		splash			# Splash screen and screen saver support
110a9643ea8Slogwang
111a9643ea8Slogwang# syscons is the default console driver, resembling an SCO console
112a9643ea8Slogwangdevice		sc
113a9643ea8Slogwangoptions 	SC_PIXEL_MODE		# add support for the raster text mode
114a9643ea8Slogwang
115a9643ea8Slogwang# vt is the new video console driver
116a9643ea8Slogwangdevice		vt
117a9643ea8Slogwangdevice		vt_vga
118a9643ea8Slogwangdevice		vt_efifb
119*22ce4affSfengbojiangdevice		vt_vbefb
120a9643ea8Slogwang
121a9643ea8Slogwangdevice		agp			# support several AGP chipsets
122a9643ea8Slogwang
123a9643ea8Slogwang# Pseudo devices.
124a9643ea8Slogwangdevice		loop			# Network loopback
125a9643ea8Slogwangdevice		padlock_rng		# VIA Padlock RNG
126a9643ea8Slogwangdevice		rdrand_rng		# Intel Bull Mountain RNG
127a9643ea8Slogwangdevice		ether			# Ethernet support
128a9643ea8Slogwangdevice		vlan			# 802.1Q VLAN support
129*22ce4affSfengbojiangdevice		tuntap			# Packet tunnel.
130a9643ea8Slogwangdevice		gif			# IPv6 and IPv4 tunneling
131a9643ea8Slogwang
132a9643ea8Slogwang# The `bpf' device enables the Berkeley Packet Filter.
133a9643ea8Slogwang# Be aware of the administrative consequences of enabling this!
134a9643ea8Slogwang# Note that 'bpf' is required for DHCP.
135a9643ea8Slogwangdevice		bpf			# Berkeley packet filter
136a9643ea8Slogwang
137a9643ea8Slogwang# Xen HVM Guest Optimizations
138a9643ea8Slogwang# NOTE: XENHVM depends on xenpci.  They must be added or removed together.
139a9643ea8Slogwangoptions 	XENHVM			# Xen HVM kernel infrastructure
140a9643ea8Slogwangdevice		xenpci			# Xen HVM Hypervisor services driver
141*22ce4affSfengbojiang
142*22ce4affSfengbojiang# evdev interface
143*22ce4affSfengbojiangoptions 	EVDEV_SUPPORT		# evdev support in legacy drivers
144*22ce4affSfengbojiangdevice		evdev			# input event device support
145*22ce4affSfengbojiangdevice		uinput			# install /dev/uinput cdev
146