24.2 机器相关的内核选项(amd64)
原文:freebsd-src/main/sys/amd64/conf/NOTES,版本 mpi3mr: Broadcom's MPT-Fusion version 4 is amd64 and aarch64 only。
技巧
可直接剪切/粘贴内核和 hints 条目到内核配置文件中。
GCOV (生成覆盖率信息)
options LINDEBUGFS # ①
options GCOV # ②① 用于调试的 Linux 文件系统,参见 lindebugfs(5)
② GCOV 实际上是 llvm-cov,参见 gcov(1)
SMP
可选设备:
device atpic # 可选兼容 pic 可编程中断控制器,ISA 相关
device mptable # 可选的 MPSPEC 多处理器表 ①①:显示多处理器配置表,参见 mptable(1)
CPU
技巧
你必须至少指定一款 CPU(即你打算运行的那款 CPU);删除那些你不打算使用的 CPU 的配置可能会让系统中的某些部分运行得更快。
cpu HAMMER # HAMMER 是 AMD K8 研发代号,即 Opteron(皓龙)& Athlon64(速龙)硬件设备配置
可选设备:
device vt_efifb # EFI framebuffer(帧缓冲)①① vt(4) 驱动。参见 vt(4)
device tdfx # 启用 3Dfx Voodoo3Dfx Voodoo Graphics、Voodoo II 的 /dev/3dfx 字符设备支持(1990 年代的产品)。将创建设备 /dev/3dfx0 ,以便与 Glide 实现一起使用。该设备应链接到 /dev/3dfx 和 /dev/voodoo。请注意,这与 XFree86 的 tdfx DRI 模块不同,完全无关。
RAID 适配器
#device pstPromise Supertrak SX6000 的设备驱动程序
device smartpqiMicrosemi smartpqi 控制器。这些控制器有类似 SCSI 的接口,并且需要 CAM 基础设施。
device mpi3mr # LSI-Logic MPT-Fusion 4Broadcom MPT Fusion,第 4 版,仅支持 64 位。
网络接口
device axp # AMD EPYC 集成网卡,依赖 miibus 模块
device ixl # Intel 700 Series Physical Function,依赖 ice_ddp 模块
device iavf # Intel Adaptive Virtual Function
device ice # Intel 800 Series Physical Function
device ice_ddp # Intel 800 Series DDP Package
device irdma # Intel 800 Series RDMA 驱动,依赖 ice 模块
device qlxgb # QLogic 3200/8200 10Gb 以太网 & CNA 适配器
device qlxgbe # QLogic 8300 10Gb 以太网 & CNA 适配器
device qlxge # QLogic 8100 系列 10Gb 以太网 & CNA 适配器
device qlnxe # QLogic 41000/45000 以太网系列 10/25/40/100 GbE 以太网与 CNA 适配器
device sfxge # Solarflare SFC9000 系列 10Gb 以太网其他硬件
device ioat # Intel I/OAT DMA 引擎Intel I/O 加速技术支持
options EFIRTEFI 运行时服务支持
device efidevEFI 伪设备
device efirtcEFI RTC(实时时钟)
device qat_c2xxx带 OpenCrypto 支持的 Intel QuickAssist 驱动,仅支持 Atom C2XXX 芯片组。
options XENHVM # Xen HVM 内核基础设施
device xenefi # Xen EFI 定时器驱动
device xenpci # Xen HVM Hypervisor 服务驱动
device xentimer # Xen x86 PV 定时器驱动Xen HVM 虚拟机优化。
ABI 仿真
options COMPAT_FREEBSD32启用 FreeBSD / i386 二进制文件的 32-bit 运行时支持。
options COMPAT_AOUT启用 (32-bit) a.out 二进制文件支持。
ZFS
注意
这取决于 crypto、cryptodev 和 ZSTDIO。
options ZFSVM
options NKPT=31用于早期引导的初始内核页表页数量。这个数量应包含足够的页,以映射内核以及加载器随内核加载的任何模块或其他数据。每个页表页映射 2 MB。
options KSTACK_PAGES=5KSTACK_PAGES 是为每个线程的内核栈分配的内存页数量。
options PV_STATS启用 PV entry 分配器的详细记账功能。
内核清理器(sanitizers)
#options COVERAGE # 通用内核覆盖率。KCOV 会依赖此选项
#options KCOV # 内核覆盖率清理器
#options KUBSAN # 内核未定义行为清理器 ①
#options KCSAN # 内核并发清理器
#options KASAN # 内核地址清理器
#options KMSAN # 内核内存清理器① 警告:KUBSAN 可能会导致内核过大,以至于 loader 无法加载。
i386 和 amd64 共用的机器相关内核选项
原文 freebsd-src/main/sys/x86/conf/NOTES,版本 NOTES: Add iwm and iwx。
技巧
可直接剪切/粘贴内核和 hints 条目到内核配置文件中。
DTrace
#options KDTRACE_HOOKS启用内核 DTrace hooks,DTrace 模块依赖此选项。
#device dtraceDTrace 核心。
注意
这将会把 CDDL 许可下的组件(DTrace)引入内核。
#device dtrace_profile
#device dtrace_sdt
#device dtrace_fbt
#device dtrace_systrace
#device dtrace_prototype
#device dtnfscl
#device dtmalloc各种 DTrace 模块。
#device dtraceall可选项,加载以上所有 DTrace 模块。
SMP
options IPI_PREEMPTION可选项。
注意
IPI_PREEMPTION指示内核在需要时抢占其他 CPU 上运行的线程。该功能依赖PREEMPTION。
options COUNT_XINVLTLB_HITS # TLB 事件计数器
options COUNT_IPIS # 每 CPU IPI 中断计数器调试选项。
兼容性
options COMPAT_43实现与 4.3BSD、FreeBSD 1.x 及 2.x 的 a.out 二进制文件兼容的系统调用。ELF 二进制文件或更新的 a.out 二进制文件无需此功能。
网络支持
options DEVICE_POLLINGDEVICE_POLLING 为网络设备驱动程序添加了中断与轮询混合处理支持,该功能在应对过载的健壮性、系统响应性以及在内核网络处理与其他活动之间实现精确的 CPU 时间调度方面具有显著优势。其缺点在于响应时间可能适度增加(最多可达 1/HZ 秒)。
强烈建议在使用 DEVICE_POLLING 时将 HZ 设置为 1000 或 2000 以获得更平滑的运行表现。此外,您可以在运行时通过 ifconfig(8) 工具启用/禁用轮询功能,并通过 sysctl 变量 kern.polling.user_frac(默认值 50,范围 0 到 100)调整保留给用户空间的 CPU 时间比例。需要注意的是,在本文撰写时,并非所有设备驱动程序都支持此工作模式。更多详细信息请参阅 polling(4)。
options BPF_JITTERBPF_JITTER 为 BPF 添加了即时编译器支持。
时钟
device nvram # 通过 /dev/nvram 访问 rtc cmos提供对时钟芯片内存的读写访问。
其他杂项设备与选项
device speaker
envvar hint.speaker.0.at="isa"
envvar hint.speaker.0.port="0x61"通过扬声器播放 IBM BASIC 风格的提示音。
硬件总线配置
options IOMMU 启用 IOMMU。
device isa启用 ISA 总线。
options AUTO_EOI_1
#options AUTO_EOI_2
options MAXMEM=(128*1024)
#options BROKEN_KEYBOARD_RESETISA 总线选项。
AUTO_EOI_1 为主 8259A 中断控制器启用“自动 EOI”功能。每次中断可节省约 0.7-1.25 微秒。此选项会破坏部分便携式设备的挂起/恢复功能。
AUTO_EOI_2 为从 8259A 中断控制器启用“自动 EOI”功能。每次中断可节省约 0.7-1.25 微秒。文档记载自动 EOI 在原始 i8259A 芯片的从控制器上无效,但部分克隆芯片和集成版本可正常使用。
MAXMEM 用于指定机器内存容量。若未指定该参数,FreeBSD 将首先从 CMOS RAM 读取内存容量,此时初始内存将被限制在 64MB 或 16MB(具体取决于 BIOS)。若 BIOS 报告 64MB,系统将通过内存探测尝试检测实际安装的内存容量。若探测失败且内存大于 64MB,则必须使用 MAXMEM 参数。容量值以千字节为单位,例如 128MB 内存需设置为 131072(128 * 1024)。
BROKEN_KEYBOARD_RESET 可禁用通过键盘控制器执行 CPU 复位重启的功能。此选项适用于键盘控制器存在故障的系统。
device agpAGP GART 支持。
options AGP_DEBUGAGP 调试。
ACPI
device acpi
options ACPI_DEBUGACPI 支持(基于英特尔 ACPI 组件架构参考实现)
ACPI_DEBUG 可通过内核环境变量 debug.acpi.level 与 debug.acpi.layer 来设置英特尔 ACPICA 代码的初始调试级别(注意:此功能需在英特尔代码编译时启用选项 USE_DEBUGGER)
device acpi_wmiACPI WMI 映射驱动程序
device acpi_asus面向华硕的 ACPI 扩展功能(LCD 背光/亮度、视频输出等)
device acpi_fujitsu面向富士通的 ACPI 扩展功能(按键)
device acpi_hp面向惠普笔记本的 ACPI 扩展驱动
device acpi_ibm面向 IBM 笔记本(ThinkPad)的 ACPI 扩展驱动
device acpi_panasonic面向松下的 ACPI 扩展功能(LCD 背光/亮度、视频输出等)
device acpi_sbl_wmiACPI SBL 固件更新
device acpi_sony面向索尼的 ACPI 扩展功能(LCD 亮度调节)
device acpi_toshiba面向东芝的 ACPI 扩展功能(LCD 背光/亮度、视频输出等)
device acpi_videoACPI 视频扩展功能(LCD 背光/亮度、视频输出等)
device acpi_dockACPI 扩展坞支持
device aibsACPI ASOC ATK0110 华硕 AI Booster(电压、温度与风扇传感器)
硬件设备配置
可选设备
device sc
envvar hint.sc.0.at="isa"
options MAXCONS=16 # 虚拟控制台数量
options SC_ALT_MOUSE_IMAGE # 文本模式下的简化鼠标光标
options SC_DFLT_FONT # 编译内置字体
makeoptions SC_DFLT_FONT=cp850
options SC_DFLT_TERM=\"sc\" # 默认的终端模拟器
options SC_DISABLE_KDBKEY # 禁用 `debug' 调试键
options SC_DISABLE_REBOOT # 禁用重启快捷键
options SC_HISTORY_SIZE=200 # 历史缓冲区行数
options SC_MOUSE_CHAR=0x3 # 文本模式鼠标光标字符代码
options SC_PIXEL_MODE # 添加对光栅文本模式的支持syscons 控制台驱动程序(兼容 SCO 彩色控制台)。
options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
options SC_KERNEL_CONS_ATTRS=\"\x0c\x0d\x0e\x0f\x02\x09\x0a\x0b\"
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)以上选项可用于调整 syscons 的默认颜色配置。
sc 的 flags 参数:
0x80将显卡设置为 VESA 800x600 点阵 16 色模式0x100若未检测到键盘设备则进行周期性探测
options SC_CUT_SPACES2TABS # 将前导空格转换为制表符
options SC_CUT_SEPCHARS=\"x09\" # 单词分隔符字符集(默认为单个空格 - "x20")以上选项可用于修改剪切粘贴功能的默认行为。
options SC_TWOBUTTON_MOUSE若使用双键鼠标,可添加以上选项来启用鼠标右键粘贴文本的功能。
options SC_NO_CUTPASTE
options SC_NO_FONT_LOADING
options SC_NO_HISTORY
options SC_NO_MODE_CHANGE
options SC_NO_SYSMOUSE
options SC_NO_SUSPEND_VTYSWITCH
#!options SC_NO_TERM_DUMB
#!options SC_NO_TERM_SC
#!options SC_NO_TERM_SCTEKEN可选择性禁用 syscons 中的功能模块。
device splash启动画面与屏幕保护程序。
device blank_saver
device daemon_saver
device dragon_saver
device fade_saver
device fire_saver
device green_saver
device logo_saver
device rain_saver
device snake_saver
device star_saver
device warp_saver多种屏幕保护程序。
options VESAVGA VESA 显示模式。
options VESA_DEBUG启用针对 VESA 支持的额外调试检查与输出。
device dpms 通过 VESA BIOS 实现 DPMS(VESA 显示电源管理信号)挂起与恢复功能。
options X86BIOSx86 实模式 BIOS 模拟器(atkbdc/dpms/vesa 功能依赖于此)。
device psm
envvar hint.psm.0.at="atkbdc"
envvar hint.psm.0.irq="12"PS/2 鼠标。
options PSM_HOOKRESUME psm 选项。
在系统恢复事件时重置设备(对部分笔记本电脑特别有用)。
device atkbdc
envvar hint.atkbdc.0.at="isa"
envvar hint.atkbdc.0.port="0x060"键盘控制器:该组件负责控制键盘与 PS/2 鼠标。
device atkbd
envvar hint.atkbd.0.at="atkbdc"
envvar hint.atkbd.0.irq="1"AT 键盘。
options ATKBD_DFLT_KEYMAP # 指定内置键盘布局
makeoptions ATKBD_DFLT_KEYMAP=fr.dvorakatkbd 驱动选项。
atkbd 的 flags 参数:
0x01强制检测键盘(默认始终假设存在键盘)0x02禁止重置键盘(适用于部分新型 ThinkPad)0x03强制检测且避免重置(可能有助于特定扩展坞兼容性)0x04启用旧式(XT)键盘支持(适用于旧款 ThinkPad)
device vga
envvar hint.vga.0.at="isa"VGA 适配器显卡驱动程序
options VGA_ALT_SEQACCESSvga 驱动选项:若鼠标指针显示异常或字体加载不正确,可尝试以上选项(可能在某些系统上引发屏幕闪烁)。
.
#options VGA_NO_FONT_LOADING # 不保存/不加载字体
#options VGA_NO_MODE_CHANGE # 不更改显示模式若需节省内存空间,可通过以上选项禁用部分 vga 驱动程序功能。
options VGA_SLOW_IOACCESS # 对 TS 与 GDC 寄存器执行字节宽度 I/O 操作。较旧的显卡可能需要此选项以确保正常运行。
options VGA_WIDTH90支持 90 列模式。以上选项可能不适用于 LCD 显示屏。
options VGA_DEBUG调试器。
device vt_vga # VGA
device vt_vbefb # VBE framebuffervt(4) 驱动。
device s3pci基于 VESA 的 S3 VESA 1.2 显卡线性帧缓冲驱动程序
RAID 适配器
device arcmsr # Areca SATA II RAIDAreca 11xx 与 12xx 系列 SATA II RAID 控制器(需启用 CAM 子系统)。
device aac
device aacp # SCSI 直通接口(可选功能,需启用 CAM 子系统)Adaptec FSA RAID 控制器系列,包含戴尔集成控制器、戴尔 PERC 2/QC 及惠普 NetRAID-4M。
# Highpoint RocketRAID 27xx
device hpt27xx
# Highpoint RocketRAID 182x
device hptmv
# Highpoint DC7280 和 R750
device hptnr
# Highpoint RocketRAID. 支持 RR172x, RR222x, RR2240, RR232x, RR2340, RR2210, RR174x, RR2522, RR231x, RR230x
device hptrr
# Highpoint RocketRaid 3xxx 系列 SATA RAID
device hptiopHighpoint 相关设备。
device ipsIBM (now Adaptec) ServeRAID 控制器
device isci
options ISCI_LOGGING # 在 isci HAL 中启用调试功能英特尔 C600(Patsburg)集成 SAS 控制器
device vmd英特尔卷管理设备 (VMD) 支持。
device pmspcvPMC-Sierra SAS/SATA 控制器。
软盘
device fdc
envvar hint.fdc.0.at="isa"
envvar hint.fdc.0.port="0x3F0"
envvar hint.fdc.0.irq="6"
envvar hint.fdc.0.drq="2"标准软盘控制器与软盘磁带驱动器,支持 Y-E DATA 外置 FDD(PC 卡)。
options FDC_DEBUGFDC_DEBUG 可启用软盘调试功能。由于调试输出量极大,需通过 DDB 设置 fd_debug 变量方可激活。
#hint.fdc.0.flags="1"若您使用 Insight 的软盘磁带设备,请激活此配置项。由于仅配置软盘的用户进行设备探测存在风险,此功能已通过标志位进行隔离保护。
envvar hint.fd.0.at="fdc0"
envvar hint.fd.0.drive="0"
envvar hint.fd.1.at="fdc0"
envvar hint.fd.1.drive="1"指定软盘设备
CPU 频率控制
device cpufreqcpufreq(4) 驱动程序提供了对非 ACPI CPU 频率控制的支持。
网卡
device bxe # 博通 NetXtreme II BCM5771X/BCM578XX 10GbE 以太网卡
device gve # 谷歌虚拟网卡 (gVNIC)
device igc # Intel I225 2.5G Ethernet
device ipw # Intel 2100 无线网卡(Intel PRO/Wireless 2100 IEEE 802.11 适配器),依赖 ipw 固件
device iwi # Intel 2200BG/2225BG/2915ABG 无线网卡(Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 适配器),依赖 iwi 固件
device iwm # Intel IEEE 802.11ac 无线网卡(Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn 802.11 网络适配器),依赖 iwm 固件
device iwn # Intel 4965/1000/5000/6000 无线网卡
device iwx # Intel IEEE 802.11ax 无线网卡
device mthca # Mellanox HCA InfiniBand
device mlx4 # InfiniBand 与以太网共用的代码模块
device mlx4ib # Mellanox ConnectX HCA InfiniBand
device mlx4en # Mellanox ConnectX HCA Ethernet
device nfe # 英伟达 nForce MCP 板载以太网(以 BSD 开源)
device vmx # VMware VMXNET3 以太网(以 BSD 开源)
device wpi # Intel 3945ABG 无线网卡(Intel 3945ABG 无线局域网控制器),依赖 wpi 固件IEEE 802.11 适配器固件
device iwifw
device iwibssfw
device iwiibssfw
device iwimonitorfw
device ipwfw
device ipwbssfw
device ipwibssfw
device ipwmonitorfw
device iwnfw
device iwn1000fw
device iwn105fw
device iwn135fw
device iwn2000fw
device iwn2030fw
device iwn4965fw
device iwn5000fw
device iwn5150fw
device iwn6000fw
device iwn6000g2afw
device iwn6000g2bfw
device iwn6050fw
device wpifwIntel PRO/Wireless 2100 固件:
ipwfw - 支持 BSS/IBSS/监听模式的全功能固件
ipwbssfw - 仅支持 BSS 模式固件
ipwibssfw - 仅支持 IBSS 模式固件
ipwmonitorfw - 仅支持监听模式固件
Intel PRO/Wireless 2200BG/2225BG/2915ABG 固件:
iwifw - 支持 BSS/IBSS/监听模式的全功能固件
iwibssfw - 仅支持 BSS 模式固件
iwiibssfw - 仅支持 IBSS 模式固件
iwimonitorfw - 仅支持监听模式固件
Intel Wireless WiFi Link 4965/1000/5000/6000 系列固件:
iwnfw - 支持所有该系列设备的单一模块
iwn1000fw - 仅适用于 1000 的特定模块
iwn105fw - 仅适用于 105 的特定模块
iwn135fw - 仅适用于 135 的特定模块
iwn2000fw - 仅适用于 2000 的特定模块
iwn2030fw - 仅适用于 2030 的特定模块
iwn4965fw - 仅适用于 4965 的特定模块
iwn5000fw - 仅适用于 5000 的特定模块
iwn5150fw - 仅适用于 5150 的特定模块
iwn6000fw - 仅适用于 6000 的特定模块
iwn6000g2afw - 仅适用于 6000g2a 的特定模块
iwn6000g2bfw - 仅适用于 6000g2b 的特定模块
iwn6050fw - 仅适用于 6050 的特定模块
其他:
wpifw - Intel 3945ABG 无线局域网控制器固件
非透明桥 (NTB) 驱动程序
device if_ntb # 虚拟 NTB 网卡
device ntb_transport # NTB 数据包传输驱动程序
device ntb # NTB 硬件接口
device ntb_hw_amd # AMD NTB 硬件驱动
device ntb_hw_intel # Intel NTB 硬件驱动
device ntb_hw_plx # PLX NTB 硬件驱动其他硬件
device ipmi # 智能平台管理接口
device pbio # 并行(8255 PPI)基本 I/O(模式 0)端口(例如 Advantech PCL-724)
envvar hint.pbio.0.at="isa"
envvar hint.pbio.0.port="0x360"
device smbios # DMI/SMBIOS 入口点(需启用 EFIRT 选项)
device vpd # 重要产品数据内核接口
device asmc # 苹果系统管理控制器
device tpm # 可信平台模块
device rdrand_rng # 英特尔 Bull Mountain 随机数生成器
device aesni # AES-NI OpenCrypto 模块
device ossl # OpenSSL OpenCrypto 模块Specialix SI/XIO 驱动程序注意事项:
主机卡采用内存映射(非 I/O 映射)
Rev 1 主机卡使用 64K 内存块,对齐边界为 32K
Rev 2 主机卡使用 32K 内存块,对齐边界为 32K
该系列卡支持使用 IRQ 11、12 或 15
device kvm_clock # KVM 半虚拟化时钟驱动程序Linux KVM 半虚拟化支持。
device hyperv # Hyper-V 驱动
device hvhid # Hyper-V HID 驱动微软 Hyper-V 增强支持
device pvscsi # 半虚拟化 SCSI 驱动程序
device vmci # 虚拟机通信接口(VMCI)
device vmware_guestrpc # GuestRPC 接口VMware 虚拟机监控程序支持。
device backlight笔记本电脑专用选项。背光亮度调节。
device imcsmb系统管理总线(SMB)。
支持的 SMBus 接口:
imcsmb:集成内存控制器 (iMC) SMBus 控制器。
支持平台:Sandy Bridge-至强、Ivy Bridge-至强、Haswell-至强、Broadwell-至强处理器
device iichid # HID-over-I²C 支持
options IICHID_DEBUG # 启用 HID-over-I²C 调试信息
options IICHID_SAMPLING # 针对缺失 GPIO 中断支持的变通方案HID-over-I²C 支持。
device amdsmnAMD 系统管理网络(AMD System Management Network, SMN)
device ichwd # 英特尔 ICH 看门狗定时器
device amdsbwd # AMD SB7xx 看门狗定时器
device viawd # VIA 南桥看门狗定时器
device wbwd # Winbond 看门狗定时器
device itwd # ITE Super I/O 看门狗定时器硬件看门狗定时器。
device coretemp
device amdtemp温度传感器:
coretemp:英特尔酷睿及更新架构处理器晶圆的内置传感器amdtemp:AMD K8/K10/K11 系列处理器晶圆的内置传感器
device cpuctlCPU 控制伪设备。提供了对 MSR(模型特定寄存器)、CPUID 信息及微代码更新功能的访问。
device superioSuperIO 驱动。
options KBDIO_DEBUG=2
options KBD_MAXRETRY=4
options KBD_MAXWAIT=6
options KBD_RESETDELAY=201
options PSM_DEBUG=1
options TIMER_FREQ=((14318182+6)/12)
options VM_KMEM_SIZE
options VM_KMEM_SIZE_MAX
options VM_KMEM_SIZE_SCALE许多用于代码检查的未公开选项。
注意
原文注释:对此类选项进行的文档编写并不被视为不当行为。
最后更新于
这有帮助吗?