16e423878SConrad Meyer# 26e423878SConrad Meyer# MINIMAL -- Mostly Minimal kernel configuration file for FreeBSD/i386 36e423878SConrad Meyer# 46e423878SConrad Meyer# Many definitions of minimal are possible. The one this file follows is 56e423878SConrad Meyer# GENERIC, minus all functionality that can be replaced by loading kernel 66e423878SConrad Meyer# modules. 76e423878SConrad Meyer# 86e423878SConrad Meyer# Exceptions: 96e423878SConrad Meyer# o While UFS is buildable as a module, the current module lacks 106e423878SConrad Meyer# some features (ACL, GJOURNAL) that GENERIC includes. 116e423878SConrad Meyer# o acpi as a module has been reported flakey and not well tested, so 126e423878SConrad Meyer# is included in the kernel. 13c363b16cSConrad Meyer# o (non-loaded) random is included due to uncertainty... 146e423878SConrad Meyer# o Many networking things are included 156e423878SConrad Meyer# 166e423878SConrad Meyer# For now, please run changes to these list past imp@freebsd.org 176e423878SConrad Meyer# 186e423878SConrad Meyer# For more information on this file, please read the config(5) manual page, 196e423878SConrad Meyer# and/or the handbook section on Kernel Configuration Files: 206e423878SConrad Meyer# 21c1a14887SCeri Davies# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config 226e423878SConrad Meyer# 236e423878SConrad Meyer# The handbook is also available locally in /usr/share/doc/handbook 246e423878SConrad Meyer# if you've installed the doc distribution, otherwise always see the 256e423878SConrad Meyer# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the 266e423878SConrad Meyer# latest information. 276e423878SConrad Meyer# 286e423878SConrad Meyer# An exhaustive list of options and more detailed explanations of the 296e423878SConrad Meyer# device lines is also present in the ../../conf/NOTES and NOTES files. 306e423878SConrad Meyer# If you are in doubt as to the purpose or necessity of a line, check first 316e423878SConrad Meyer# in NOTES. 326e423878SConrad Meyer# 336e423878SConrad Meyer 346e423878SConrad Meyercpu I486_CPU 356e423878SConrad Meyercpu I586_CPU 366e423878SConrad Meyercpu I686_CPU 376e423878SConrad Meyerident MINIMAL 386e423878SConrad Meyer 396e423878SConrad Meyermakeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols 406e423878SConrad Meyermakeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support 416e423878SConrad Meyer 426e423878SConrad Meyeroptions SCHED_ULE # ULE scheduler 436e423878SConrad Meyeroptions PREEMPTION # Enable kernel thread preemption 44ce348fe5SMina Galićoptions VIMAGE # Subsystem virtualization, e.g. VNET 456e423878SConrad Meyeroptions INET # InterNETworking 466e423878SConrad Meyeroptions INET6 # IPv6 communications protocols 476e423878SConrad Meyeroptions TCP_OFFLOAD # TCP offload 48e64080e7SMark Johnstonoptions SCTP_SUPPORT # Allow kldload of SCTP 496e423878SConrad Meyeroptions FFS # Berkeley Fast Filesystem 506e423878SConrad Meyeroptions SOFTUPDATES # Enable FFS soft updates support 516e423878SConrad Meyeroptions UFS_ACL # Support for access control lists 526e423878SConrad Meyeroptions UFS_DIRHASH # Improve performance on big directories 536e423878SConrad Meyeroptions UFS_GJOURNAL # Enable gjournal-based UFS journaling 546e423878SConrad Meyeroptions QUOTA # Enable disk quotas for UFS 556e423878SConrad Meyeroptions MD_ROOT # MD is a potential root device 5643d4680bSDag-Erling Smørgravoptions GEOM_LABEL # Provides labelization 576e423878SConrad Meyeroptions COMPAT_FREEBSD10 # Compatible with FreeBSD10 586e423878SConrad Meyeroptions COMPAT_FREEBSD11 # Compatible with FreeBSD11 59d6745408SConrad Meyeroptions COMPAT_FREEBSD12 # Compatible with FreeBSD12 604e85b648SKristof Provostoptions COMPAT_FREEBSD13 # Compatible with FreeBSD13 6184d12f88SKristof Provostoptions COMPAT_FREEBSD14 # Compatible with FreeBSD14 626e423878SConrad Meyeroptions SCSI_DELAY=5000 # Delay (in ms) before probing SCSI 636e423878SConrad Meyeroptions KTRACE # ktrace(1) support 646e423878SConrad Meyeroptions STACK # stack(9) support 656e423878SConrad Meyeroptions SYSVSHM # SYSV-style shared memory 666e423878SConrad Meyeroptions SYSVMSG # SYSV-style message queues 676e423878SConrad Meyeroptions SYSVSEM # SYSV-style semaphores 686e423878SConrad Meyeroptions _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions 696e423878SConrad Meyeroptions PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. 706e423878SConrad Meyeroptions KBD_INSTALL_CDEV # install a CDEV entry in /dev 716e423878SConrad Meyeroptions HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) 726e423878SConrad Meyeroptions AUDIT # Security event auditing 736e423878SConrad Meyeroptions CAPABILITY_MODE # Capsicum capability mode 746e423878SConrad Meyeroptions CAPABILITIES # Capsicum capabilities 756e423878SConrad Meyeroptions MAC # TrustedBSD MAC Framework 766e423878SConrad Meyeroptions KDTRACE_FRAME # Ensure frames are compiled in 776e423878SConrad Meyeroptions KDTRACE_HOOKS # Kernel DTrace hooks 786e423878SConrad Meyeroptions DDB_CTF # Kernel ELF linker loads CTF data 796e423878SConrad Meyeroptions INCLUDE_CONFIG_FILE # Include this file in kernel 806e423878SConrad Meyer 816e423878SConrad Meyer# Debugging support. Always need this: 826e423878SConrad Meyeroptions KDB # Enable kernel debugger support. 836e423878SConrad Meyeroptions KDB_TRACE # Print a stack trace for a panic. 844f8f9d70SLexi Winter# For full debugger support use (turn off in stable branch): 858a8daeafSLexi Winterinclude "std.debug" 866e423878SConrad Meyer 876e423878SConrad Meyer# Make an SMP-capable kernel by default 886e423878SConrad Meyeroptions SMP # Symmetric MultiProcessor Kernel 896e423878SConrad Meyerdevice apic 906e423878SConrad Meyer 916e423878SConrad Meyer# CPU frequency control 926e423878SConrad Meyerdevice cpufreq 936e423878SConrad Meyer 946e423878SConrad Meyer# Bus support. 956e423878SConrad Meyerdevice acpi 96d0673fe1SAllan Judedevice smbios 976e423878SConrad Meyerdevice pci 986e423878SConrad Meyer 996e423878SConrad Meyer# atkbdc0 controls both the keyboard and the PS/2 mouse 1006e423878SConrad Meyerdevice atkbdc # AT keyboard controller 1016e423878SConrad Meyerdevice atkbd # AT keyboard 1026e423878SConrad Meyerdevice psm # PS/2 mouse 1036e423878SConrad Meyer 1046e423878SConrad Meyerdevice kbdmux # keyboard multiplexer 1056e423878SConrad Meyer 106228e020aSEd Maste# syscons is the legacy console driver, resembling an SCO console 10728dcccc1SEd Mastedevice vga # VGA video card driver 10828dcccc1SEd Mastedevice splash # Splash screen and screen saver support 1096e423878SConrad Meyerdevice sc 1106e423878SConrad Meyeroptions SC_PIXEL_MODE # add support for the raster text mode 1116e423878SConrad Meyer 112228e020aSEd Maste# vt is the default video console driver 1136e423878SConrad Meyerdevice vt 1146e423878SConrad Meyerdevice vt_vga 1156e423878SConrad Meyerdevice vt_efifb 116a4a10b37SToomas Soomedevice vt_vbefb 1176e423878SConrad Meyer 1186e423878SConrad Meyerdevice agp # support several AGP chipsets 1196e423878SConrad Meyer 12043d4680bSDag-Erling Smørgrav# Serial (COM) ports 12143d4680bSDag-Erling Smørgravdevice uart # Generic UART driver 12243d4680bSDag-Erling Smørgrav 1236e423878SConrad Meyer# Pseudo devices. 1246e423878SConrad Meyerdevice loop # Network loopback 1256e423878SConrad Meyerdevice padlock_rng # VIA Padlock RNG 1266e423878SConrad Meyerdevice rdrand_rng # Intel Bull Mountain RNG 1276e423878SConrad Meyerdevice ether # Ethernet support 1286e423878SConrad Meyer 1296e423878SConrad Meyer# The `bpf' device enables the Berkeley Packet Filter. 1306e423878SConrad Meyer# Be aware of the administrative consequences of enabling this! 1316e423878SConrad Meyer# Note that 'bpf' is required for DHCP. 1326e423878SConrad Meyerdevice bpf # Berkeley packet filter 1336e423878SConrad Meyer 13443d4680bSDag-Erling Smørgrav# VirtIO support 13543d4680bSDag-Erling Smørgravdevice virtio # Generic VirtIO bus (required) 13643d4680bSDag-Erling Smørgravdevice virtio_pci # VirtIO PCI device 13743d4680bSDag-Erling Smørgravdevice vtnet # VirtIO Ethernet device 13843d4680bSDag-Erling Smørgravdevice virtio_blk # VirtIO Block device 13943d4680bSDag-Erling Smørgravdevice virtio_balloon # VirtIO Memory Balloon device 14043d4680bSDag-Erling Smørgrav 1416c69c6bbSAdam Fenn# Linux KVM paravirtualization support 1426c69c6bbSAdam Fenndevice kvm_clock # KVM paravirtual clock driver 1436c69c6bbSAdam Fenn 1446e423878SConrad Meyer# Xen HVM Guest Optimizations 14543d4680bSDag-Erling Smørgrav# NOTE: XENHVM depends on xenpci and xentimer. 14643d4680bSDag-Erling Smørgrav# They must be added or removed together. 1476e423878SConrad Meyeroptions XENHVM # Xen HVM kernel infrastructure 1486e423878SConrad Meyerdevice xenpci # Xen HVM Hypervisor services driver 14982bf6a25SRoger Pau Monnédevice xentimer # Xen x86 PV timer device 150af14df77SNiclas Zeising 151af14df77SNiclas Zeising# evdev interface 152af14df77SNiclas Zeisingoptions EVDEV_SUPPORT # evdev support in legacy drivers 153af14df77SNiclas Zeisingdevice evdev # input event device support 154af14df77SNiclas Zeisingdevice uinput # install /dev/uinput cdev 155*04ea5e9fSWarner Losh 156*04ea5e9fSWarner Losh# NVM Express (NVMe) support 157*04ea5e9fSWarner Loshdevice nvme # base NVMe driver 158*04ea5e9fSWarner Losh 159*04ea5e9fSWarner Losh# ATA controllers 160*04ea5e9fSWarner Loshdevice ahci # AHCI-compatible SATA controllers 161*04ea5e9fSWarner Losh 162*04ea5e9fSWarner Losh# CAM 163*04ea5e9fSWarner Loshdevice scbus # SCSI bus (required for ATA/SCSI) 164*04ea5e9fSWarner Loshdevice da # Direct Access (disks) 165*04ea5e9fSWarner Loshdevice cd # CD 166*04ea5e9fSWarner Loshdevice pass # Passthrough device (direct ATA/SCSI access) 167