1af8cf710SWarner Losh# 2af8cf710SWarner Losh# MINIMAL -- Mostly Minimal kernel configuration file for FreeBSD/amd64 3af8cf710SWarner Losh# 4af8cf710SWarner Losh# Many definitions of minimal are possible. The one this file follows is 5af8cf710SWarner Losh# GENERIC, minus all functionality that can be replaced by loading kernel 6af8cf710SWarner Losh# modules. 7af8cf710SWarner Losh# 8af8cf710SWarner Losh# Exceptions: 9c363b16cSConrad Meyer# o (non-loaded) random is included due to uncertainty... 10af8cf710SWarner Losh# o Many networking things are included 11af8cf710SWarner Losh# 12af8cf710SWarner Losh# For now, please run changes to these list past imp@freebsd.org 13af8cf710SWarner Losh# 14af8cf710SWarner Losh# For more information on this file, please read the config(5) manual page, 15af8cf710SWarner Losh# and/or the handbook section on Kernel Configuration Files: 16af8cf710SWarner Losh# 17c1a14887SCeri Davies# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config 18af8cf710SWarner Losh# 19af8cf710SWarner Losh# The handbook is also available locally in /usr/share/doc/handbook 20af8cf710SWarner Losh# if you've installed the doc distribution, otherwise always see the 21a2aef24aSEitan Adler# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the 22af8cf710SWarner Losh# latest information. 23af8cf710SWarner Losh# 24af8cf710SWarner Losh# An exhaustive list of options and more detailed explanations of the 25af8cf710SWarner Losh# device lines is also present in the ../../conf/NOTES and NOTES files. 26af8cf710SWarner Losh# If you are in doubt as to the purpose or necessity of a line, check first 27af8cf710SWarner Losh# in NOTES. 28af8cf710SWarner Losh# 29af8cf710SWarner Losh 30af8cf710SWarner Loshcpu HAMMER 31af8cf710SWarner Loshident MINIMAL 32af8cf710SWarner Losh 33af8cf710SWarner Loshmakeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols 34af8cf710SWarner Loshmakeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support 35af8cf710SWarner Losh 36af8cf710SWarner Loshoptions SCHED_ULE # ULE scheduler 37e382dd47SMateusz Guzikoptions NUMA # Non-Uniform Memory Architecture support 38af8cf710SWarner Loshoptions PREEMPTION # Enable kernel thread preemption 39ce348fe5SMina Galićoptions VIMAGE # Subsystem virtualization, e.g. VNET 40af8cf710SWarner Loshoptions INET # InterNETworking 41af8cf710SWarner Loshoptions INET6 # IPv6 communications protocols 42af8cf710SWarner Loshoptions TCP_OFFLOAD # TCP offload 43e64080e7SMark Johnstonoptions SCTP_SUPPORT # Allow kldload of SCTP 44af8cf710SWarner Loshoptions SOFTUPDATES # Enable FFS soft updates support 45af8cf710SWarner Loshoptions UFS_ACL # Support for access control lists 46af8cf710SWarner Loshoptions UFS_DIRHASH # Improve performance on big directories 47af8cf710SWarner Loshoptions UFS_GJOURNAL # Enable gjournal-based UFS journaling 48af8cf710SWarner Loshoptions QUOTA # Enable disk quotas for UFS 49af8cf710SWarner Loshoptions MD_ROOT # MD is a potential root device 5043d4680bSDag-Erling Smørgravoptions GEOM_LABEL # Provides labelization 51af8cf710SWarner Loshoptions COMPAT_FREEBSD32 # Compatible with i386 binaries 52af8cf710SWarner Loshoptions COMPAT_FREEBSD10 # Compatible with FreeBSD10 537f68a896SMark Johnstonoptions COMPAT_FREEBSD11 # Compatible with FreeBSD11 54d6745408SConrad Meyeroptions COMPAT_FREEBSD12 # Compatible with FreeBSD12 554e85b648SKristof Provostoptions COMPAT_FREEBSD13 # Compatible with FreeBSD13 5684d12f88SKristof Provostoptions COMPAT_FREEBSD14 # Compatible with FreeBSD14 57af8cf710SWarner Loshoptions SCSI_DELAY=5000 # Delay (in ms) before probing SCSI 58af8cf710SWarner Loshoptions KTRACE # ktrace(1) support 59af8cf710SWarner Loshoptions STACK # stack(9) support 60af8cf710SWarner Loshoptions _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions 61af8cf710SWarner Loshoptions PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. 62af8cf710SWarner Loshoptions KBD_INSTALL_CDEV # install a CDEV entry in /dev 63af8cf710SWarner Loshoptions HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) 64af8cf710SWarner Loshoptions AUDIT # Security event auditing 65af8cf710SWarner Loshoptions CAPABILITY_MODE # Capsicum capability mode 66af8cf710SWarner Loshoptions CAPABILITIES # Capsicum capabilities 67af8cf710SWarner Loshoptions MAC # TrustedBSD MAC Framework 68af8cf710SWarner Loshoptions KDTRACE_FRAME # Ensure frames are compiled in 69af8cf710SWarner Loshoptions KDTRACE_HOOKS # Kernel DTrace hooks 70af8cf710SWarner Loshoptions DDB_CTF # Kernel ELF linker loads CTF data 71af8cf710SWarner Loshoptions INCLUDE_CONFIG_FILE # Include this file in kernel 72af8cf710SWarner Losh 73af8cf710SWarner Losh# Debugging support. Always need this: 74af8cf710SWarner Loshoptions KDB # Enable kernel debugger support. 75af8cf710SWarner Loshoptions KDB_TRACE # Print a stack trace for a panic. 764f8f9d70SLexi Winter# For full debugger support use (turn off in stable branch): 778a8daeafSLexi Winterinclude "std.debug" 78af8cf710SWarner Losh 79af8cf710SWarner Losh# Make an SMP-capable kernel by default 80af8cf710SWarner Loshoptions SMP # Symmetric MultiProcessor Kernel 81af8cf710SWarner Losh 82af8cf710SWarner Losh# CPU frequency control 83af8cf710SWarner Loshdevice cpufreq 84af8cf710SWarner Losh 85af8cf710SWarner Losh# Bus support. 86af8cf710SWarner Loshdevice acpi 87f120ad6bSRuslan Bukinoptions IOMMU 88af8cf710SWarner Loshdevice pci 89af8cf710SWarner Losh 90af8cf710SWarner Losh# atkbdc0 controls both the keyboard and the PS/2 mouse 91af8cf710SWarner Loshdevice atkbdc # AT keyboard controller 92af8cf710SWarner Loshdevice atkbd # AT keyboard 93af8cf710SWarner Loshdevice psm # PS/2 mouse 94af8cf710SWarner Losh 95af8cf710SWarner Loshdevice kbdmux # keyboard multiplexer 96af8cf710SWarner Losh 97228e020aSEd Maste# syscons is the legacy console driver, resembling an SCO console 9828dcccc1SEd Mastedevice vga # VGA video card driver 9928dcccc1SEd Mastedevice splash # Splash screen and screen saver support 100af8cf710SWarner Loshdevice sc 101af8cf710SWarner Loshoptions SC_PIXEL_MODE # add support for the raster text mode 102af8cf710SWarner Losh 103228e020aSEd Maste# vt is the default video console driver 104af8cf710SWarner Loshdevice vt 105af8cf710SWarner Loshdevice vt_vga 106af8cf710SWarner Loshdevice vt_efifb 107a4a10b37SToomas Soomedevice vt_vbefb 108af8cf710SWarner Losh 109af8cf710SWarner Loshdevice agp # support several AGP chipsets 110af8cf710SWarner Losh 11143d4680bSDag-Erling Smørgrav# Serial (COM) ports 11243d4680bSDag-Erling Smørgravdevice uart # Generic UART driver 113ea5b2d62SWarner Losh 114af8cf710SWarner Losh# Pseudo devices. 115af8cf710SWarner Loshdevice loop # Network loopback 116af8cf710SWarner Loshdevice padlock_rng # VIA Padlock RNG 117af8cf710SWarner Loshdevice rdrand_rng # Intel Bull Mountain RNG 118af8cf710SWarner Loshdevice ether # Ethernet support 119af8cf710SWarner Losh 120af8cf710SWarner Losh# The `bpf' device enables the Berkeley Packet Filter. 121af8cf710SWarner Losh# Be aware of the administrative consequences of enabling this! 122af8cf710SWarner Losh# Note that 'bpf' is required for DHCP. 123af8cf710SWarner Loshdevice bpf # Berkeley packet filter 124af8cf710SWarner Losh 12543d4680bSDag-Erling Smørgrav# VirtIO support 12643d4680bSDag-Erling Smørgravdevice virtio # Generic VirtIO bus (required) 12743d4680bSDag-Erling Smørgravdevice virtio_pci # VirtIO PCI device 12843d4680bSDag-Erling Smørgravdevice vtnet # VirtIO Ethernet device 12943d4680bSDag-Erling Smørgravdevice virtio_blk # VirtIO Block device 13043d4680bSDag-Erling Smørgravdevice virtio_balloon # VirtIO Memory Balloon device 13143d4680bSDag-Erling Smørgrav 1326c69c6bbSAdam Fenn# Linux KVM paravirtualization support 1336c69c6bbSAdam Fenndevice kvm_clock # KVM paravirtual clock driver 1346c69c6bbSAdam Fenn 135af8cf710SWarner Losh# Xen HVM Guest Optimizations 13682bf6a25SRoger Pau Monné# NOTE: XENHVM depends on xenpci and xentimer. 13782bf6a25SRoger Pau Monné# They must be added or removed together. 138af8cf710SWarner Loshoptions XENHVM # Xen HVM kernel infrastructure 139b2c50bb9SElliott Mitchelldevice xenefi # Xen EFI timer device 140af8cf710SWarner Loshdevice xenpci # Xen HVM Hypervisor services driver 14182bf6a25SRoger Pau Monnédevice xentimer # Xen x86 PV timer device 142af14df77SNiclas Zeising 143af14df77SNiclas Zeising# evdev interface 144af14df77SNiclas Zeisingoptions EVDEV_SUPPORT # evdev support in legacy drivers 145af14df77SNiclas Zeisingdevice evdev # input event device support 146af14df77SNiclas Zeisingdevice uinput # install /dev/uinput cdev 147*04ea5e9fSWarner Losh 148*04ea5e9fSWarner Losh# NVM Express (NVMe) support 149*04ea5e9fSWarner Loshdevice nvme # base NVMe driver 150*04ea5e9fSWarner Losh 151*04ea5e9fSWarner Losh# ATA controllers 152*04ea5e9fSWarner Loshdevice ahci # AHCI-compatible SATA controllers 153*04ea5e9fSWarner Losh 154*04ea5e9fSWarner Losh# CAM 155*04ea5e9fSWarner Loshdevice scbus # SCSI bus (required for ATA/SCSI) 156*04ea5e9fSWarner Loshdevice da # Direct Access (disks) 157*04ea5e9fSWarner Loshdevice cd # CD 158*04ea5e9fSWarner Loshdevice pass # Passthrough device (direct ATA/SCSI access) 159