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 34*7442cdcaSJohn Baldwin#NO_UNIVERSE 35*7442cdcaSJohn Baldwin 366e423878SConrad Meyercpu I486_CPU 376e423878SConrad Meyercpu I586_CPU 386e423878SConrad Meyercpu I686_CPU 396e423878SConrad Meyerident MINIMAL 406e423878SConrad Meyer 416e423878SConrad Meyermakeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols 426e423878SConrad Meyermakeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support 436e423878SConrad Meyer 446e423878SConrad Meyeroptions SCHED_ULE # ULE scheduler 456e423878SConrad Meyeroptions PREEMPTION # Enable kernel thread preemption 46ce348fe5SMina Galićoptions VIMAGE # Subsystem virtualization, e.g. VNET 476e423878SConrad Meyeroptions INET # InterNETworking 486e423878SConrad Meyeroptions INET6 # IPv6 communications protocols 496e423878SConrad Meyeroptions TCP_OFFLOAD # TCP offload 50e64080e7SMark Johnstonoptions SCTP_SUPPORT # Allow kldload of SCTP 516e423878SConrad Meyeroptions FFS # Berkeley Fast Filesystem 526e423878SConrad Meyeroptions SOFTUPDATES # Enable FFS soft updates support 536e423878SConrad Meyeroptions UFS_ACL # Support for access control lists 546e423878SConrad Meyeroptions UFS_DIRHASH # Improve performance on big directories 556e423878SConrad Meyeroptions UFS_GJOURNAL # Enable gjournal-based UFS journaling 566e423878SConrad Meyeroptions QUOTA # Enable disk quotas for UFS 576e423878SConrad Meyeroptions MD_ROOT # MD is a potential root device 5843d4680bSDag-Erling Smørgravoptions GEOM_LABEL # Provides labelization 596e423878SConrad Meyeroptions COMPAT_FREEBSD10 # Compatible with FreeBSD10 606e423878SConrad Meyeroptions COMPAT_FREEBSD11 # Compatible with FreeBSD11 61d6745408SConrad Meyeroptions COMPAT_FREEBSD12 # Compatible with FreeBSD12 624e85b648SKristof Provostoptions COMPAT_FREEBSD13 # Compatible with FreeBSD13 6384d12f88SKristof Provostoptions COMPAT_FREEBSD14 # Compatible with FreeBSD14 646e423878SConrad Meyeroptions SCSI_DELAY=5000 # Delay (in ms) before probing SCSI 656e423878SConrad Meyeroptions KTRACE # ktrace(1) support 666e423878SConrad Meyeroptions STACK # stack(9) support 676e423878SConrad Meyeroptions SYSVSHM # SYSV-style shared memory 686e423878SConrad Meyeroptions SYSVMSG # SYSV-style message queues 696e423878SConrad Meyeroptions SYSVSEM # SYSV-style semaphores 706e423878SConrad Meyeroptions _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions 716e423878SConrad Meyeroptions PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. 726e423878SConrad Meyeroptions KBD_INSTALL_CDEV # install a CDEV entry in /dev 736e423878SConrad Meyeroptions HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) 746e423878SConrad Meyeroptions AUDIT # Security event auditing 756e423878SConrad Meyeroptions CAPABILITY_MODE # Capsicum capability mode 766e423878SConrad Meyeroptions CAPABILITIES # Capsicum capabilities 776e423878SConrad Meyeroptions MAC # TrustedBSD MAC Framework 786e423878SConrad Meyeroptions KDTRACE_FRAME # Ensure frames are compiled in 796e423878SConrad Meyeroptions KDTRACE_HOOKS # Kernel DTrace hooks 806e423878SConrad Meyeroptions DDB_CTF # Kernel ELF linker loads CTF data 816e423878SConrad Meyeroptions INCLUDE_CONFIG_FILE # Include this file in kernel 826e423878SConrad Meyer 836e423878SConrad Meyer# Debugging support. Always need this: 846e423878SConrad Meyeroptions KDB # Enable kernel debugger support. 856e423878SConrad Meyeroptions KDB_TRACE # Print a stack trace for a panic. 864f8f9d70SLexi Winter# For full debugger support use (turn off in stable branch): 878a8daeafSLexi Winterinclude "std.debug" 886e423878SConrad Meyer 896e423878SConrad Meyer# Make an SMP-capable kernel by default 906e423878SConrad Meyeroptions SMP # Symmetric MultiProcessor Kernel 916e423878SConrad Meyerdevice apic 926e423878SConrad Meyer 936e423878SConrad Meyer# CPU frequency control 946e423878SConrad Meyerdevice cpufreq 956e423878SConrad Meyer 966e423878SConrad Meyer# Bus support. 976e423878SConrad Meyerdevice acpi 98d0673fe1SAllan Judedevice smbios 996e423878SConrad Meyerdevice pci 1006e423878SConrad Meyer 1016e423878SConrad Meyer# atkbdc0 controls both the keyboard and the PS/2 mouse 1026e423878SConrad Meyerdevice atkbdc # AT keyboard controller 1036e423878SConrad Meyerdevice atkbd # AT keyboard 1046e423878SConrad Meyerdevice psm # PS/2 mouse 1056e423878SConrad Meyer 1066e423878SConrad Meyerdevice kbdmux # keyboard multiplexer 1076e423878SConrad Meyer 108228e020aSEd Maste# syscons is the legacy console driver, resembling an SCO console 10928dcccc1SEd Mastedevice vga # VGA video card driver 11028dcccc1SEd Mastedevice splash # Splash screen and screen saver support 1116e423878SConrad Meyerdevice sc 1126e423878SConrad Meyeroptions SC_PIXEL_MODE # add support for the raster text mode 1136e423878SConrad Meyer 114228e020aSEd Maste# vt is the default video console driver 1156e423878SConrad Meyerdevice vt 1166e423878SConrad Meyerdevice vt_vga 1176e423878SConrad Meyerdevice vt_efifb 118a4a10b37SToomas Soomedevice vt_vbefb 1196e423878SConrad Meyer 1206e423878SConrad Meyerdevice agp # support several AGP chipsets 1216e423878SConrad Meyer 12243d4680bSDag-Erling Smørgrav# Serial (COM) ports 12343d4680bSDag-Erling Smørgravdevice uart # Generic UART driver 12443d4680bSDag-Erling Smørgrav 1256e423878SConrad Meyer# Pseudo devices. 1266e423878SConrad Meyerdevice loop # Network loopback 1276e423878SConrad Meyerdevice padlock_rng # VIA Padlock RNG 1286e423878SConrad Meyerdevice rdrand_rng # Intel Bull Mountain RNG 1296e423878SConrad Meyerdevice ether # Ethernet support 1306e423878SConrad Meyer 1316e423878SConrad Meyer# The `bpf' device enables the Berkeley Packet Filter. 1326e423878SConrad Meyer# Be aware of the administrative consequences of enabling this! 1336e423878SConrad Meyer# Note that 'bpf' is required for DHCP. 1346e423878SConrad Meyerdevice bpf # Berkeley packet filter 1356e423878SConrad Meyer 13643d4680bSDag-Erling Smørgrav# VirtIO support 13743d4680bSDag-Erling Smørgravdevice virtio # Generic VirtIO bus (required) 13843d4680bSDag-Erling Smørgravdevice virtio_pci # VirtIO PCI device 13943d4680bSDag-Erling Smørgravdevice vtnet # VirtIO Ethernet device 14043d4680bSDag-Erling Smørgravdevice virtio_blk # VirtIO Block device 14143d4680bSDag-Erling Smørgravdevice virtio_balloon # VirtIO Memory Balloon device 14243d4680bSDag-Erling Smørgrav 1436c69c6bbSAdam Fenn# Linux KVM paravirtualization support 1446c69c6bbSAdam Fenndevice kvm_clock # KVM paravirtual clock driver 1456c69c6bbSAdam Fenn 1466e423878SConrad Meyer# Xen HVM Guest Optimizations 14743d4680bSDag-Erling Smørgrav# NOTE: XENHVM depends on xenpci and xentimer. 14843d4680bSDag-Erling Smørgrav# They must be added or removed together. 1496e423878SConrad Meyeroptions XENHVM # Xen HVM kernel infrastructure 1506e423878SConrad Meyerdevice xenpci # Xen HVM Hypervisor services driver 15182bf6a25SRoger Pau Monnédevice xentimer # Xen x86 PV timer device 152af14df77SNiclas Zeising 153af14df77SNiclas Zeising# evdev interface 154af14df77SNiclas Zeisingoptions EVDEV_SUPPORT # evdev support in legacy drivers 155af14df77SNiclas Zeisingdevice evdev # input event device support 156af14df77SNiclas Zeisingdevice uinput # install /dev/uinput cdev 15704ea5e9fSWarner Losh 15804ea5e9fSWarner Losh# NVM Express (NVMe) support 15904ea5e9fSWarner Loshdevice nvme # base NVMe driver 16004ea5e9fSWarner Losh 16104ea5e9fSWarner Losh# ATA controllers 16204ea5e9fSWarner Loshdevice ahci # AHCI-compatible SATA controllers 16304ea5e9fSWarner Losh 16404ea5e9fSWarner Losh# CAM 16504ea5e9fSWarner Loshdevice scbus # SCSI bus (required for ATA/SCSI) 16604ea5e9fSWarner Loshdevice da # Direct Access (disks) 16704ea5e9fSWarner Loshdevice cd # CD 16804ea5e9fSWarner Loshdevice pass # Passthrough device (direct ATA/SCSI access) 169