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