1232950Stheraven# 2232950Stheraven# MINIMAL -- Mostly Minimal kernel configuration file for FreeBSD/i386 3232950Stheraven# 4232950Stheraven# Many definitions of minimal are possible. The one this file follows is 5232950Stheraven# GENERIC, minus all functionality that can be replaced by loading kernel 6232950Stheraven# modules. 7232950Stheraven# 8232950Stheraven# Exceptions: 9232950Stheraven# o While UFS is buildable as a module, the current module lacks 10232950Stheraven# some features (ACL, GJOURNAL) that GENERIC includes. 11232950Stheraven# o acpi as a module has been reported flakey and not well tested, so 12232950Stheraven# is included in the kernel. 13232950Stheraven# o (non-loaded) random is included due to uncertainty... 14232950Stheraven# o Many networking things are included 15232950Stheraven# 16232950Stheraven# For now, please run changes to these list past imp@freebsd.org 17232950Stheraven# 18232950Stheraven# For more information on this file, please read the config(5) manual page, 19232950Stheraven# and/or the handbook section on Kernel Configuration Files: 20232950Stheraven# 21232950Stheraven# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config 22232950Stheraven# 23227972Stheraven# The handbook is also available locally in /usr/share/doc/handbook 24227972Stheraven# if you've installed the doc distribution, otherwise always see the 25227972Stheraven# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the 26227972Stheraven# latest information. 27227972Stheraven# 28227972Stheraven# An exhaustive list of options and more detailed explanations of the 29227972Stheraven# device lines is also present in the ../../conf/NOTES and NOTES files. 30227972Stheraven# If you are in doubt as to the purpose or necessity of a line, check first 31227972Stheraven# in NOTES. 32227972Stheraven# 33227972Stheraven 34227972Stheravencpu I486_CPU 35227972Stheravencpu I586_CPU 36227972Stheravencpu I686_CPU 37227972Stheravenident MINIMAL 38227972Stheraven 39227972Stheravenmakeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols 40227972Stheravenmakeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support 41227972Stheraven 42227972Stheravenoptions SCHED_ULE # ULE scheduler 43227972Stheravenoptions PREEMPTION # Enable kernel thread preemption 44227972Stheravenoptions VIMAGE # Subsystem virtualization, e.g. VNET 45227972Stheravenoptions INET # InterNETworking 46227972Stheravenoptions INET6 # IPv6 communications protocols 47227972Stheravenoptions TCP_OFFLOAD # TCP offload 48227972Stheravenoptions SCTP_SUPPORT # Allow kldload of SCTP 49227972Stheravenoptions FFS # Berkeley Fast Filesystem 50227972Stheravenoptions SOFTUPDATES # Enable FFS soft updates support 51227972Stheravenoptions UFS_ACL # Support for access control lists 52227972Stheravenoptions UFS_DIRHASH # Improve performance on big directories 53227972Stheravenoptions UFS_GJOURNAL # Enable gjournal-based UFS journaling 54227972Stheravenoptions QUOTA # Enable disk quotas for UFS 55227972Stheravenoptions MD_ROOT # MD is a potential root device 56227972Stheravenoptions GEOM_LABEL # Provides labelization 57227972Stheravenoptions COMPAT_FREEBSD10 # Compatible with FreeBSD10 58227972Stheravenoptions COMPAT_FREEBSD11 # Compatible with FreeBSD11 59227972Stheravenoptions COMPAT_FREEBSD12 # Compatible with FreeBSD12 60227972Stheravenoptions COMPAT_FREEBSD13 # Compatible with FreeBSD13 61227972Stheravenoptions COMPAT_FREEBSD14 # Compatible with FreeBSD14 62227972Stheravenoptions SCSI_DELAY=5000 # Delay (in ms) before probing SCSI 63227972Stheravenoptions KTRACE # ktrace(1) support 64227972Stheravenoptions STACK # stack(9) support 65227972Stheravenoptions SYSVSHM # SYSV-style shared memory 66227972Stheravenoptions SYSVMSG # SYSV-style message queues 67227972Stheravenoptions SYSVSEM # SYSV-style semaphores 68227972Stheravenoptions _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions 69227972Stheravenoptions PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. 70227972Stheravenoptions KBD_INSTALL_CDEV # install a CDEV entry in /dev 71227972Stheravenoptions HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) 72227972Stheravenoptions AUDIT # Security event auditing 73227972Stheravenoptions CAPABILITY_MODE # Capsicum capability mode 74227972Stheravenoptions CAPABILITIES # Capsicum capabilities 75227972Stheravenoptions MAC # TrustedBSD MAC Framework 76227972Stheravenoptions KDTRACE_FRAME # Ensure frames are compiled in 77227972Stheravenoptions KDTRACE_HOOKS # Kernel DTrace hooks 78227972Stheravenoptions DDB_CTF # Kernel ELF linker loads CTF data 79227972Stheravenoptions INCLUDE_CONFIG_FILE # Include this file in kernel 80227972Stheraven 81227972Stheraven# Debugging support. Always need this: 82227972Stheravenoptions KDB # Enable kernel debugger support. 83227972Stheravenoptions KDB_TRACE # Print a stack trace for a panic. 84227972Stheraven# For full debugger support use (turn off in stable branch): 85227972Stheraveninclude "std.debug" 86227972Stheraven 87227972Stheraven# Make an SMP-capable kernel by default 88227972Stheravenoptions SMP # Symmetric MultiProcessor Kernel 89227972Stheravendevice apic 90227972Stheraven 91227972Stheraven# CPU frequency control 92227972Stheravendevice cpufreq 93227972Stheraven 94227972Stheraven# Bus support. 95227972Stheravendevice acpi 96227972Stheravendevice smbios 97227972Stheravendevice pci 98227972Stheraven 99227972Stheraven# atkbdc0 controls both the keyboard and the PS/2 mouse 100227972Stheravendevice atkbdc # AT keyboard controller 101227972Stheravendevice atkbd # AT keyboard 102227972Stheravendevice psm # PS/2 mouse 103227972Stheraven 104227972Stheravendevice kbdmux # keyboard multiplexer 105227972Stheraven 106227972Stheraven# syscons is the legacy console driver, resembling an SCO console 107227972Stheravendevice vga # VGA video card driver 108227972Stheravendevice splash # Splash screen and screen saver support 109227972Stheravendevice sc 110227972Stheravenoptions SC_PIXEL_MODE # add support for the raster text mode 111227972Stheraven 112227972Stheraven# vt is the default video console driver 113227972Stheravendevice vt 114227972Stheravendevice vt_vga 115227972Stheravendevice vt_efifb 116227972Stheravendevice vt_vbefb 117227972Stheraven 118227972Stheravendevice agp # support several AGP chipsets 119227972Stheraven 120227972Stheraven# Serial (COM) ports 121227972Stheravendevice uart # Generic UART driver 122227972Stheraven 123227972Stheraven# Pseudo devices. 124227972Stheravendevice loop # Network loopback 125227972Stheravendevice padlock_rng # VIA Padlock RNG 126227972Stheravendevice rdrand_rng # Intel Bull Mountain RNG 127227972Stheravendevice ether # Ethernet support 128227972Stheraven 129227972Stheraven# The `bpf' device enables the Berkeley Packet Filter. 130227972Stheraven# Be aware of the administrative consequences of enabling this! 131227972Stheraven# Note that 'bpf' is required for DHCP. 132227972Stheravendevice bpf # Berkeley packet filter 133227972Stheraven 134227972Stheraven# VirtIO support 135227972Stheravendevice virtio # Generic VirtIO bus (required) 136227972Stheravendevice virtio_pci # VirtIO PCI device 137227972Stheravendevice vtnet # VirtIO Ethernet device 138227972Stheravendevice virtio_blk # VirtIO Block device 139227972Stheravendevice virtio_balloon # VirtIO Memory Balloon device 140227972Stheraven 141227972Stheraven# Linux KVM paravirtualization support 142227972Stheravendevice kvm_clock # KVM paravirtual clock driver 143227972Stheraven 144227972Stheraven# Xen HVM Guest Optimizations 145227972Stheraven# NOTE: XENHVM depends on xenpci and xentimer. 146227972Stheraven# They must be added or removed together. 147227972Stheravenoptions XENHVM # Xen HVM kernel infrastructure 148227972Stheravendevice xenpci # Xen HVM Hypervisor services driver 149227972Stheravendevice xentimer # Xen x86 PV timer device 150227972Stheraven 151227972Stheraven# evdev interface 152227972Stheravenoptions EVDEV_SUPPORT # evdev support in legacy drivers 153227972Stheravendevice evdev # input event device support 154227972Stheravendevice uinput # install /dev/uinput cdev 155227972Stheraven 156227972Stheraven# NVM Express (NVMe) support 157227972Stheravendevice nvme # base NVMe driver 158227972Stheraven 159227972Stheraven# ATA controllers 160227972Stheravendevice ahci # AHCI-compatible SATA controllers 161227972Stheraven 162227972Stheraven# CAM 163227972Stheravendevice scbus # SCSI bus (required for ATA/SCSI) 164227972Stheravendevice da # Direct Access (disks) 165227972Stheravendevice cd # CD 166227972Stheravendevice pass # Passthrough device (direct ATA/SCSI access) 167227972Stheraven