1# 2# MINIMAL -- Mostly Minimal kernel configuration file for FreeBSD/amd64 3# 4# Many definitions of minimal are possible. The one this file follows is 5# GENERIC, minus all functionality that can be replaced by loading kernel 6# modules. 7# 8# Exceptions: 9# o (non-loaded) random is included due to uncertainty... 10# o Many networking things are included 11# 12# For now, please run changes to these list past imp@freebsd.org 13# 14# For more information on this file, please read the config(5) manual page, 15# and/or the handbook section on Kernel Configuration Files: 16# 17# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config 18# 19# The handbook is also available locally in /usr/share/doc/handbook 20# if you've installed the doc distribution, otherwise always see the 21# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the 22# latest information. 23# 24# An exhaustive list of options and more detailed explanations of the 25# device lines is also present in the ../../conf/NOTES and NOTES files. 26# If you are in doubt as to the purpose or necessity of a line, check first 27# in NOTES. 28# 29 30cpu HAMMER 31ident MINIMAL 32 33makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols 34makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support 35 36options SCHED_ULE # ULE scheduler 37options NUMA # Non-Uniform Memory Architecture support 38options PREEMPTION # Enable kernel thread preemption 39options VIMAGE # Subsystem virtualization, e.g. VNET 40options INET # InterNETworking 41options INET6 # IPv6 communications protocols 42options TCP_OFFLOAD # TCP offload 43options SCTP_SUPPORT # Allow kldload of SCTP 44options SOFTUPDATES # Enable FFS soft updates support 45options UFS_ACL # Support for access control lists 46options UFS_DIRHASH # Improve performance on big directories 47options UFS_GJOURNAL # Enable gjournal-based UFS journaling 48options QUOTA # Enable disk quotas for UFS 49options MD_ROOT # MD is a potential root device 50options GEOM_LABEL # Provides labelization 51options COMPAT_FREEBSD32 # Compatible with i386 binaries 52options COMPAT_FREEBSD10 # Compatible with FreeBSD10 53options COMPAT_FREEBSD11 # Compatible with FreeBSD11 54options COMPAT_FREEBSD12 # Compatible with FreeBSD12 55options COMPAT_FREEBSD13 # Compatible with FreeBSD13 56options COMPAT_FREEBSD14 # Compatible with FreeBSD14 57options COMPAT_FREEBSD15 # Compatible with FreeBSD15 58options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI 59options KTRACE # ktrace(1) support 60options STACK # stack(9) support 61options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions 62options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. 63options KBD_INSTALL_CDEV # install a CDEV entry in /dev 64options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) 65options AUDIT # Security event auditing 66options CAPABILITY_MODE # Capsicum capability mode 67options CAPABILITIES # Capsicum capabilities 68options MAC # TrustedBSD MAC Framework 69options KDTRACE_FRAME # Ensure frames are compiled in 70options KDTRACE_HOOKS # Kernel DTrace hooks 71options DDB_CTF # Kernel ELF linker loads CTF data 72options INCLUDE_CONFIG_FILE # Include this file in kernel 73 74# Debugging support. Always need this: 75options KDB # Enable kernel debugger support. 76options KDB_TRACE # Print a stack trace for a panic. 77# For full debugger support use (turn off in stable branch): 78include "std.debug" 79 80# Compression support 81options GZIO # gzip (dumps) 82options ZSTDIO # zstd (dumps, tarfs, uzip, zfs) 83 84# Make an SMP-capable kernel by default 85options SMP # Symmetric MultiProcessor Kernel 86 87# CPU frequency control 88device cpufreq 89 90# Bus support. 91device acpi 92options IOMMU 93device pci 94 95# ATA controllers 96device ahci # AHCI-compatible SATA controllers 97 98# ATA/SCSI peripherals 99device scbus # SCSI bus (required for ATA/SCSI) 100device da # Direct Access (disks) 101device cd # CD 102device pass # Passthrough device (direct ATA/SCSI access) 103 104# NVM Express (NVMe) support 105device nvme # base NVMe driver 106 107# atkbdc0 controls both the keyboard and the PS/2 mouse 108device atkbdc # AT keyboard controller 109device atkbd # AT keyboard 110device psm # PS/2 mouse 111 112device kbdmux # keyboard multiplexer 113 114# syscons is the legacy console driver, resembling an SCO console 115device vga # VGA video card driver 116device splash # Splash screen and screen saver support 117device sc 118options SC_PIXEL_MODE # add support for the raster text mode 119 120# vt is the default video console driver 121device vt 122device vt_vga 123device vt_efifb 124device vt_vbefb 125 126device agp # support several AGP chipsets 127 128# Serial (COM) ports 129device uart # Generic UART driver 130 131# Pseudo devices. 132device loop # Network loopback 133device ether # Ethernet support 134device md # Memory "disks" 135 136# The `bpf' device enables the Berkeley Packet Filter. 137# Be aware of the administrative consequences of enabling this! 138# Note that 'bpf' is required for DHCP. 139device bpf # Berkeley packet filter 140 141# random(4) 142device padlock_rng # VIA Padlock RNG 143device rdrand_rng # Intel Bull Mountain RNG 144# Disabled for now since tpm(4) breaks suspend/resume. 145#device tpm # Trusted Platform Module 146options RANDOM_ENABLE_TPM # enable entropy from TPM 2.0 147options RANDOM_ENABLE_KBD 148options RANDOM_ENABLE_MOUSE 149 150# VirtIO support 151device virtio # Generic VirtIO bus (required) 152device virtio_pci # VirtIO PCI device 153device vtnet # VirtIO Ethernet device 154device virtio_blk # VirtIO Block device 155device virtio_scsi # VirtIO SCSI device 156device virtio_balloon # VirtIO Memory Balloon device 157 158# Linux KVM paravirtualization support 159device kvm_clock # KVM paravirtual clock driver 160 161# Xen HVM Guest Optimizations 162# NOTE: XENHVM depends on xenpci and xentimer. 163# They must be added or removed together. 164options XENHVM # Xen HVM kernel infrastructure 165device xenefi # Xen EFI timer device 166device xenpci # Xen HVM Hypervisor services driver 167device xentimer # Xen x86 PV timer device 168 169# evdev interface 170options EVDEV_SUPPORT # evdev support in legacy drivers 171device evdev # input event device support 172device uinput # install /dev/uinput cdev 173