24.4 GENERIC 内核选项(amd64)

理论上,所有 GENERIC 内核选项都能在机器无关选项和 amd64/i386 机器相关选项中找到说明。

详细选项列表及设备行说明可参考对应的 NOTES 文件。

GENERIC 的本义是“通用的、一般的、普通的”。GENERIC 内核选项是 amd64 体系架构下所有镜像的默认构建选项(FreeBSD/amd64 通用内核配置文件),但 CURRENT(main 分支)会引入额外的调试选项。

为了便于说明,并避免引入对大多数非开发者无用的调试选项,本文选择 15.0-RELEASE(releng/15.0 分支)的 GENERIC 内核选项进行说明。

cpu		HAMMER

HAMMER 是 AMD K8 的研发代号,即 Opteron(皓龙)和 Athlon64(速龙)。

ident		GENERIC

这是内核的“标识符”。

通常应与内核的名称相同。该选项用于将内核名称设置为 GENERIC。至少需要一行 ident 条目。

makeoptions	DEBUG=-g

构建包含 gdb(1) 调试符号的内核。

makeoptions	WITH_CTF=1

为支持 DTrace,运行 ctfconvert(1) 将调试数据转换为 CTF 数据。

options 	SCHED_ULE

ULE 调度器。

options 	NUMA

非一致性内存架构(NUMA)支持。

启用内核线程抢占。

其曾用名为 BLOAT_KERNEL_WITH_EXTERR,用于启用内核扩展错误信息。参见 Extended errors from kernel

用于子系统虚拟化,例如 VNET。

IPv4 协议簇。IP 协议簇是一组协议,位于互联网协议(IP)之上,并使用互联网地址格式。该协议簇为 SOCK_STREAMSOCK_DGRAMSOCK_RAW 套接字类型提供协议支持;其中 SOCK_RAW 接口提供了对 IP 协议的访问。

IPv6 协议簇。

允许通过 kldload 命令加载 ipsectcpmd5 模块。

内联 IPsec 卸载基础设施。

Multipath 路由支持。

模块化 FIB 查找支持。

TCP 卸载支持。

增强的 TCP 事件日志功能。

TCP 的 hhook(9) 框架支持。

TCP 快速打开

允许加载 SCTP KLD 模块支持。

TLS 发送和接收卸载。

伯克利快速文件系统(FFS)。

启用 FFS 软更新支持。

访问控制列表支持。

提升大目录的性能。

启用基于 gjournal 的 UFS 日志。

启用 UFS 磁盘配额。

允许 MD 设备作为根设备。

网络文件系统(NFS)客户端。

网络文件系统(NFS)服务器。

网络锁管理器(NLM)。

将 NFS 用作 /,依赖 NFSCL

MS-DOS 文件系统。

ISO 9660 文件系统。

Proc 进程文件系统(需要 PSEUDOFS 支持)。

伪文件系统框架。

高效的内存文件系统。

软件 RAID 支持。

提供 GEOM 标签功能。

EFI 运行时服务支持。

兼容 i386 二进制程序。

兼容 FreeBSD 4。

兼容 FreeBSD 5。

兼容 FreeBSD 6。

兼容 FreeBSD 7。

兼容 FreeBSD 9。

兼容 FreeBSD 10。

兼容 FreeBSD 11。

兼容 FreeBSD 12。

兼容 FreeBSD 13。

兼容 FreeBSD 14。

在探测 SCSI 设备前的延迟时间(毫秒)。

ktrace(1) 支持。

stack(9) 支持。

SYSV 风格共享内存。

SYSV 风格消息队列。

SYSV 风格信号量。

POSIX P1003_1B 实时扩展。

防止 printf 输出内容交错。

/dev 中生成字符设备(CDEV)条目。

hwpmc(4) 所需的内核钩子。

安全事件审计。

Capsicum 能力模式。

Capsicum 能力

TrustedBSD MAC 框架

确保内核编译时包含栈帧信息。

内核 DTrace 钩子

允许内核 ELF 链接器加载 CTF 数据。

在内核中包含名为 INCLUDE_CONFIG_FILE 的配置文件。可以方便地引入更多存在于其他文本中的选项。

资源核算框架

默认设置 kern.racct.enable=0

资源限制框架。

调试支持(始终需要)

启用内核调试器支持。

打印 Panic 的堆栈跟踪信息。

内核转储功能

支持加密内核转储。

支持使用 gzip 压缩的内核转储和用户转储。

支持使用 zstd 压缩的内核转储和用户转储。

debugnet 网络支持。

netdump(4) 客户端支持。

netgdb(4) 客户端支持。

默认生成支持 SMP(对称多处理器)的内核。

CPU 频率控制支持。

总线支持

ACPI 支持。

smbios,即 System Management BIOS。提供系统管理 BIOS(System Management BIOS)的基本支持。

启用 IOMMU。

通用 PCI/PCIe 总线驱动。

PCIe 原生热插拔支持。

PCI SR-IOV 支持。

启用 Linux 内核编程接口(Linux Kernel Programming Interface,KPI)兼容层。

启用内核 PLL 支持,以使用外部 PPS 信号,并由 ntpd(8) 监控。更多信息请参见 ntpd 文档:Welcome to the home of the Network Time Protocol (NTP) Project.

软盘驱动器支持。

ATA 控制器

兼容 AHCI 的 SATA 控制器支持。

传统 ATA/SATA 控制器支持。

Marvell 88SX50XX/88SX60XX/88SX70XX 及 SoC SATA 控制器。

Silicon Image SiI3124/SiI3132/SiI3531 SATA 控制器。

SCSI 控制器

AHA2940 及板载 AIC7xxx SCSI 设备。

AHA39320/29320 及板载 AIC79xx 设备

Highpoint RocketRaid 3xxx 系列

QLogic 系列控制器。

QLogic HBA 的固件,通常以模块形式加载。

LSI Logic MPT-Fusion 控制器。

LSI-Logic MPT-Fusion 2

LSI-Logic MPT-Fusion 3

LSI-Logic MPT-Fusion 4

NCR/Symbios Logic SCSI 控制器。

Intel C600 系列 SAS 控制器。

Emulex 光纤通道(Fibre Channel)适配器。

VMware PVSCSI

ATA/SCSI 外围设备

SCSI 总线(ATA/SCSI 设备所必需)。

SCSI 介质切换器

直接访问设备(如磁盘)。

顺序访问设备(磁带等)

光盘

直通设备(用于直接进行 ATA/SCSI 访问)。

机箱服务(SES 和 SAF-TE 协议)。

CAM 目标层。

通过 SCSI 子系统连接的 RAID 控制器

Areca SATA II RAID

Compaq Smart RAID 5 系列控制器。

IBM (Adaptec) ServeRAID

Microsemi smartpqi 驱动

LSI 3ware 9750 SATA+SAS 6Gb/s RAID 控制器

RAID 控制器,Adaptec FSA RAID 系列。

aac 的 SCSI 直通支持(需要 CAM)。

PMC 出品的 Adaptec RAID

Compaq Smart RAID

LSI MegaRAID SAS

Mylex DAC960 系列

LSI/Avago MegaRAID SAS/SATA,支持 6Gb/s 和 12Gb/s

Promise SuperTrak SX6000 RAID 控制器。

NVM Express (NVMe) 支持

基础 NVMe 驱动

将 NVMe 命名空间作为磁盘设备提供,依赖 nvme

通用闪存存储(Universal Flash Storage,UFS)主机控制器接口支持。

Intel 卷管理设备(VMD)支持。

AT 键盘控制器。atkbdc0 同时控制键盘和 PS/2 鼠标。

AT 键盘

PS/2 鼠标

键盘多路复用器

VGA 显卡驱动

启动画面和屏幕保护支持

syscons 是传统的控制台驱动,功能上类似于 SCO 控制台。

添加对光栅化文本模式的支持。

vt 是默认的视频控制台驱动程序。

支持多种 AGP 芯片组。

CardBus 桥

CardBus(Yenta)桥。

CardBus(32 位)总线

串口(COM 端口)

通用 UART 驱动。

并行端口

并行端口

并行端口总线(必需)

打印机

并行端口接口设备

需要 scbus 和 da

多路 I/O 卡和多通道 UART 支持。

使用 iflib 基础设施的 PCI/PCI-X/PCIe 以太网网卡

Intel PRO/1000 系列千兆以太网网卡。

Intel I225 系列 2.5GbE 以太网网卡。

Intel PRO/10GbE PCIE PF 以太网

Intel PRO/10GbE PCIE VF 以太网

Intel 700 系列物理功能(Physical Function,PF)。

Intel 自适应虚拟功能(Adaptive Virtual Function,AVF)。

Intel 800 系列物理功能(Physical Function,PF)。

VMware VMXNET3 以太网。

AMD EPYC 集成网卡(需要 miibus 支持)。

PCI 以太网卡

Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE

AMD Am7900 LANCE 和 Am79C9xx PCnet

Alteon Networks Tigon I/II 千兆以太网

基础驱动。

NVIDIA/Mellanox ConnectX-4 及之后型号,仅限以太网:

  • 依赖 COMPAT_LINUXKPI 和 xz(4)

  • mlx5ib 依赖 ibcore 基础设施,默认未内置

用于固件更新

以太网驱动程序

MII 总线支持。适用于使用通用 MII 总线控制器代码的 PCI 以太网卡。

注意

请务必保留 device miibus 这行,以便使用这些网卡!

Attansic/Atheros L2 快速以太网

Attansic/Atheros L1 千兆以太网

Atheros AR8131/AR8132 以太网

Atheros AR8121/AR8113/AR8114 以太网

Broadcom BCM5706/BCM5708 千兆以太网

Broadcom BCM440x 10/100 以太网

Broadcom BCM570xx 千兆以太网

Sun Cassini/Cassini+ 和 NS DP83065 Saturn

DEC/Intel 21143 及各种兼容芯片

Agere ET1310 10/100/千兆以太网

Intel EtherExpress PRO/100B (82557, 82558)

Sun GEM/Sun ERI/Apple GMAC

JMicron JMC250 千兆以太网 / JMC260 快速以太网

Level 1 LXT1001 千兆以太网

Marvell/SysKonnect Yukon II 千兆以太网

nVidia nForce MCP 板载以太网

NatSemi DP83820 千兆以太网

RealTek 8139C+/8169/8169S/8110S

RealTek 8129/8139

Silicon Integrated Systems SiS190/191

Silicon Integrated Systems SiS 900/SiS 7016

SysKonnect SK-984x & SK-982x 千兆以太网

Sundance ST201(D-Link DFE-550TX)

Sundance/Tamarack TC9021 千兆以太网

VIA VT612x 千兆以太网

VIA Rhine, Rhine II

3Com 3c90x(“Boomerang”,“Cyclone”)

无线网卡

IEEE 802.11 支持。

启用调试信息

启用 IEEE 802.11s 草案支持。

802.11 WEP 支持

802.11 TKIP 支持

802.11 CCMP 支持

802.11 GCMP 支持

AMRR 发送速率控制算法(Adaptive Multi Rate Retry)。

Atheros CardBus/PCI 网卡

Atheros CardBus/PCI 芯片支持

AR5416 中断缓解

ath 的 SampleRate 发送速率控制算法

Broadcom BCM430x/BCM431x 无线网卡

Broadcom BCM43xx 无线网卡

Intel 2100 无线网卡

Intel 2200BG/2225BG/2915ABG 无线网卡

Intel 4965/1000/5000/6000 无线网卡

Marvell Libertas 无线网卡

Marvell 88W8363 802.11n 无线网卡

Ralink Technology RT2500 无线网卡

Intel 3945ABG 无线网卡

伪设备

核心加密支持

AES-NI OpenCrypto 加速模块

网络回环接口。

VIA Padlock 随机数生成器

Intel Bull Mountain 随机数生成器

以太网支持

802.1Q VLAN 支持

数据包隧道接口。

内存“磁盘”

IPv6 和 IPv4 隧道

固件辅助模块

LZMA 解压支持。

bpf 设备用于启用伯克利数据包过滤器,启用时需注意其对系统管理的影响。

注意

DHCP 依赖 bpf

USB 支持

启用 USB 调试信息

UHCI PCI 到 USB 接口

OHCI PCI 到 USB 接口

EHCI PCI 到 USB 接口(USB 2.0)

xHCI PCI 到 USB 接口(USB 3.0)

USB 总线(必需)

USB HID 传输

HID 键盘

USB 键盘

磁盘 / 大容量存储——需要 scbusda

音频支持

通用声卡驱动(必需项)

CMedia CMI8338/CMI8738

Crystal Semiconductor CS461x/428x

Creative SoundBlaster Live! 和 Audigy

Ensoniq AudioPCI ES137x

Intel 高保真音频

Intel、NVIDIA 及其他 ICH AC'97 音频

VIA VT8233x 音频

MMC/SD

MMC/SD 总线

MMC/SD 存储卡

通用 PCI SD 主控制器

VirtIO

通用 VirtIO 总线(必需项)

VirtIO PCI 设备

VirtIO 以太网设备

VirtIO 块设备

VirtIO SCSI 设备

VirtIO 内存气球设备

Linux KVM 半虚拟化支持

KVM 半虚拟化时钟驱动。

Hyper-V 驱动及增强支持

Hyper-V 驱动

Xen HVM 客户机优化

Xen HVM 内核基础设施。

注意

XENHVM 依赖 xenpci 和 xentimer。它们必须同时存在或同时不存在。

Xen EFI 定时器设备

Xen HVM 虚拟机管理器服务驱动

Xen x86 PV 定时器设备

netmap(4) 支持

Netmap 提供了对受支持网卡发送 / 接收环路的直接访问支持。

evdev 接口

在传统驱动中启用 evdev 接口支持。

输入事件设备支持

安装字符设备(CDEV)/dev/uinput

HID 支持

启用调试信息输出。

通用 HID 支持

通用 HID 总线

用于解决缺失 GPIO 中断支持问题的变通方法。

EFI 设备

EFI 伪设备

EFI 实时时钟

最后更新于