Created
November 27, 2024 23:39
-
-
Save paigeadelethompson/41951d5e865011db7e4fe22556cf1073 to your computer and use it in GitHub Desktop.
FreeBSD RPI kernelconf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#NO_UNIVERSE | |
cpu ARM64 | |
ident BROADCOM | |
include "std.arm64" | |
include "std.dev" | |
include "std.broadcom" | |
# Standard kernel config items for all ARM64 systems. | |
# | |
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols | |
makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support | |
options SCHED_ULE # ULE scheduler | |
options NUMA # Non-Uniform Memory Architecture support | |
options PREEMPTION # Enable kernel thread preemption | |
options VIMAGE # Subsystem virtualization, e.g. VNET | |
options INET # InterNETworking | |
options INET6 # IPv6 communications protocols | |
options CC_CUBIC # include CUBIC congestion control | |
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 | |
options ROUTE_MPATH # Multipath routing support | |
options FIB_ALGO # Modular fib lookups | |
options TCP_OFFLOAD # TCP offload | |
options TCP_BLACKBOX # Enhanced TCP event logging | |
options TCP_HHOOK # hhook(9) framework for TCP | |
options TCP_RFC7413 # TCP Fast Open | |
options SCTP_SUPPORT # Allow kldload of SCTP | |
options KERN_TLS # TLS transmit & receive offload | |
options FFS # Berkeley Fast Filesystem | |
options SOFTUPDATES # Enable FFS soft updates support | |
options UFS_ACL # Support for access control lists | |
options UFS_DIRHASH # Improve performance on big directories | |
options UFS_GJOURNAL # Enable gjournal-based UFS journaling | |
options QUOTA # Enable disk quotas for UFS | |
options MD_ROOT # MD is a potential root device | |
options NFSCL # Network Filesystem Client | |
options NFSD # Network Filesystem Server | |
options NFSLOCKD # Network Lock Manager | |
options NFS_ROOT # NFS usable as /, requires NFSCL | |
options MSDOSFS # MSDOS Filesystem | |
options CD9660 # ISO 9660 Filesystem | |
options PROCFS # Process filesystem (requires PSEUDOFS) | |
options PSEUDOFS # Pseudo-filesystem framework | |
options TMPFS # Efficient memory filesystem | |
options GEOM_RAID # Soft RAID functionality. | |
options GEOM_LABEL # Provides labelization | |
options EFIRT # EFI Runtime Services support | |
options COMPAT_FREEBSD32 # Compatible with FreeBSD/arm | |
options COMPAT_FREEBSD11 # Compatible with FreeBSD11 | |
options COMPAT_FREEBSD12 # Compatible with FreeBSD12 | |
options COMPAT_FREEBSD13 # Compatible with FreeBSD13 | |
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI | |
options KTRACE # ktrace(1) support | |
options STACK # stack(9) support | |
options SYSVSHM # SYSV-style shared memory | |
options SYSVMSG # SYSV-style message queues | |
options SYSVSEM # SYSV-style semaphores | |
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions | |
options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. | |
options KBD_INSTALL_CDEV # install a CDEV entry in /dev | |
options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) | |
options AUDIT # Security event auditing | |
options CAPABILITY_MODE # Capsicum capability mode | |
options CAPABILITIES # Capsicum capabilities | |
options MAC # TrustedBSD MAC Framework | |
options KDTRACE_FRAME # Ensure frames are compiled in | |
options KDTRACE_HOOKS # Kernel DTrace hooks | |
options DDB_CTF # Kernel ELF linker loads CTF data | |
options INCLUDE_CONFIG_FILE # Include this file in kernel | |
options VFP # Floating-point support | |
options RACCT # Resource accounting framework | |
options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default | |
options RCTL # Resource limits | |
options LINUX_BOOT_ABI # Boot using booti command from U-Boot | |
options PERTHREAD_SSP # Per-thread SSP canary | |
# Debugging support. Always need this: | |
options KDB # Enable kernel debugger support. | |
options KDB_TRACE # Print a stack trace for a panic. | |
# Kernel Sanitizers | |
#options COVERAGE # Generic kernel coverage. Used by KCOV | |
#options KCOV # Kernel Coverage Sanitizer | |
# Warning: KUBSAN can result in a kernel too large for loader to load | |
#options KUBSAN # Kernel Undefined Behavior Sanitizer | |
#options KCSAN # Kernel Concurrency Sanitizer | |
# Kernel dump features. | |
options EKCD # Support for encrypted kernel dumps | |
options GZIO # gzip-compressed kernel and user dumps | |
options ZSTDIO # zstd-compressed kernel and user dumps | |
options DEBUGNET # debugnet networking | |
options NETDUMP # netdump(4) client support | |
# Make an SMP-capable kernel by default | |
options SMP # Symmetric MultiProcessor Kernel | |
# Enable support for the kernel PLL to use an external PPS signal, | |
# under supervision of [x]ntpd(8) | |
# More info in ntpd documentation: http://www.eecis.udel.edu/~ntp | |
options PPS_SYNC | |
# Bus drivers | |
device pci | |
options PCI_HP # PCI-Express native HotPlug | |
options PCI_IOV # PCI SR-IOV support | |
# CPU frequency control | |
device cpufreq | |
# Block devices | |
device ahci | |
device scbus | |
device da | |
# ATA/SCSI peripherals | |
device cd # CD | |
device pass # Passthrough device (direct ATA/SCSI access) | |
# NVM Express (NVMe) support | |
device nvme # base NVMe driver | |
options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver | |
device nvd # expose NVMe namespaces as disks, depends on nvme | |
# GPIO / PINCTRL | |
device gpio | |
device gpioled | |
device fdt_pinctrl | |
device gpioregulator | |
# I2C | |
device iicbus | |
device iicmux | |
device iic | |
device icee # Generic IIC eeprom | |
# Crypto accelerators | |
device armv8crypto # ARMv8 OpenCrypto module | |
# SPI | |
device spibus | |
# PWM | |
device pwm | |
# Serial (COM) ports | |
device uart # Generic UART driver | |
# Console | |
device vt | |
device kbdmux | |
device vt_efifb | |
device vt_simplefb | |
# Pseudo devices. | |
device crypto # core crypto support | |
device loop # Network loopback | |
device ether # Ethernet support | |
device vlan # 802.1Q VLAN support | |
device tuntap # Packet tunnel. | |
device md # Memory "disks" | |
device gif # IPv6 and IPv4 tunneling | |
device firmware # firmware assist module | |
device clk | |
device phy | |
device hwreset | |
device nvmem | |
device regulator | |
device syscon | |
# EVDEV support | |
device evdev # input event device support | |
options EVDEV_SUPPORT # evdev support in legacy drivers | |
device uinput # install /dev/uinput cdev | |
# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure | |
device iflib | |
device em # Intel PRO/1000 Gigabit Ethernet Family | |
device ix # Intel 10Gb Ethernet Family | |
# Ethernet NICs | |
device mdio | |
device mii | |
device miibus # MII bus support | |
# The `bpf' device enables the Berkeley Packet Filter. | |
# Be aware of the administrative consequences of enabling this! | |
# Note that 'bpf' is required for DHCP. | |
device bpf # Berkeley packet filter | |
# Netmap provides direct access to TX/RX rings on supported NICs | |
device netmap # netmap(4) support | |
# USB support | |
options USB_DEBUG # enable debug msgs | |
options USB_HOST_ALIGN=64 # Align usb buffers to cache line size. | |
device ohci # OHCI USB interface | |
device uhci # UHCI USB interface | |
device ehci # EHCI USB interface (USB 2.0) | |
device xhci # XHCI USB interface (USB 3.0) | |
device usb # USB Bus (required) | |
device ukbd # Keyboard | |
device umass # Disks/Mass storage - Requires scbus and da | |
# Sound support | |
device sound | |
# MMC/SD/SDIO Card slot support | |
device mmc # mmc/sd bus | |
device mmcsd # mmc/sd flash cards | |
# HID support | |
options HID_DEBUG # enable debug msgs | |
device hid # Generic HID support | |
# Firmware | |
device mmio_sram # Generic on-chip SRAM | |
# | |
# Broadcom SoC support | |
# | |
# SoC support | |
options SOC_BRCM_BCM2837 | |
options SOC_BRCM_BCM2838 | |
options SOC_BRCM_NS2 | |
# I2C | |
device bcm2835_bsc # Broadcom BCM283x I2C bus | |
# SPI | |
device bcm2835_spi # Broadcom BCM283x SPI bus | |
# Serial (COM) ports | |
device uart_mu # RPI3 aux port | |
device pl011 | |
# Ethernet NICs | |
device genet # Broadcom on RPi4 | |
# USB support | |
device dwcotg | |
# USB ethernet support | |
device muge | |
device smsc | |
# MMC/SD/SDIO Card slot support | |
device sdhci | |
options FDT | |
device acpi | |
# DTBs | |
makeoptions MODULES_EXTRA+="dtb/rpi" |
Author
paigeadelethompson
commented
Nov 27, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment