# APACHE -- FreeBSD/i386
内核配置文件
#
machine i386
#
体系模型为
i386
cpu I386_CPU
#
支持
80386 cpu I486_CPU
#
支持
80486 cpu I586_CPU
#
支持
Pentium
cpu I686_CPU
#
支持
Pentium Pro
以及更高
ident
APACHE
#
内核文件的名字
maxusers 0
#
自动检测同时允许的最大用户数
#makeoptions DEBUG=-g #
包含调试符号。通常只有
current
版本打开
options MATH_EMULATE #
支持协处理器模拟
#options GPL_MATH_EMULATE #GPL
模拟更好,但仍然没必要,
P III
有内建协处理器
options INET
#
支持互联网
options INET6
#IPv6
通讯协议
options FFS
#
伯克利快速文件系统
options FFS_ROOT
#FFS
作为根设备
[
必须保留
] options SOFTUPDATES
#
打开
FFS soft updates
支持
options UFS_DIRHASH
#
提高大型目录的支持
options MFS
#
内存文件系统
options MD_ROOT
#MD
作为根设备
options NFS
#Network Filesystem options NFS_ROOT
#NFS
作为根设备
(
需要
NFS) options MSDOSFS
#MSDOS
文件系统
options CD9660
#ISO 9660
文件系统
(
光盘
) options CD9660_ROOT
#CD-ROM
作为根设备
(
需要
CD9660)
options PROCFS
#
进程文件系统
options COMPAT_43
#
兼容
4.3BSD[
必须保留
] options SCSI_DELAY=
5000
#
检测
SCSI
设备前的延时
(ms)
options UCONSOLE
#
用户可以夺取控制台
[
没有
X
,不用
] options USERCONFIG
#boot -c
编辑器
editor options VISUAL_USERCONFIG #
菜单式
boot -c
编辑器
options KTRACE
#ktrace(1)
支持
options SYSVSHM
#SYSV-
风格的共享内存
options SYSVMSG
#SYSV-
风格的消息队列
options SYSVSEM
#SYSV-
风格的信号量
(semaphores) options P1003_1B
#Posix P1003_1B
实时扩展
options _KPOSIX_PRIORITY_SCHEDULING options ICMP_BANDLIM #
对恶意
ICMP
请求进行限制
[
例如
flood ping]
options KBD_INSTALL_CDEV #
在
/dev
安装一个
CDEV
设备
options CPU_ENABLE_SSE #
启用
SSE
支持
(Pentium III) #options CPU_ATHLON_SSE_HACK #
如果你的
BIOS
不能正确识别
Athlon SSE #options NO_F00F_HACK #
如果你使用
Pentium
且没有
F00F bug
#
对
ISA
总线,
AUTO_EOI
将启用
8259A
的自动
EOI
功能
#
这意味着每次中断调用节省
0.7-1.25
微秒,但不应用于笔记本
options AUTO_EOI_1 #options AUTO_EOI_2 #
请
不要
和
AUTO_EOI_1
同时打开,否则会崩溃。
#options MAXMEM="(1024*1024)" #
除非你的
BIOS
设置不正确造成
#
无法检测内存大小,单位是
KB
#
在
xntpd(8)
的监督下启用内核相同步逻辑
#options PPS_SYNC
#IPFirewall
。我们需要的功能
IPFilter
都提供,并且更高效
#
除非你需要
IPFirewall
的某些专有功能,否则这部分不必编译
#options IPFIREWALL
#
防火墙
#options IPFIREWALL_VERBOSE #
允许防火墙日志
#options IPFIREWALL_FORWARD #
允许透明代理
#options IPFIREWALL_VERBOSE_LIMIT=100 #
限制日至
#options IPFIREWALL_DEFAULT_TO_ACCEPT #
默认允许所有
IP
包
#options IPFW2 # IPFW2
,这一特性并非
4.x
默认。
options IPFILTER
#ipfilter
支持
options IPFILTER_LOG
#ipfilter
日志
options IPFILTER_DEFAULT_BLOCK #
默认阻断所有
IP
包
#
静态数据包过滤许可规则
(
直接放入内核
) options ACCEPT_FILTER_DATA options ACCEPT_FILTER_HTTP
#options DEVICE_POLLING #
改善网络响应时间,但
realtek
不支持
options IPSTEALTH
#
支持秘密
IP
转发
options RANDOM_IP_ID
#
随机
IP ID
,阻止信息泄漏
#options TCP_DROP_SYNFIN #
抛弃
SYN+FIN
包,阻止检测服务器
#
的
TCP
协议栈、操作系统,但这对
Web
#
服务器是不推荐的,因为不符合
RFC1644
#options QUOTA
#
启用配额支持,但此处没用
makeoptions CONF_CFLAGS=-fno-builtin #
禁用
memcpy
等
GCC
默认的影响性能的设置
#
根据内存大小配置应用程序可用的最大内存
#
这台机器有
1GB
内存
# FreeBSD
默认是允许使用
128MB options MAXDSIZ="(1024*1024*1024)" options MAXSSIZ="(1024*1024*1024)" options DFLDSIZ="(1024*1024*1024)"
#options PMAP_SHPGPERPROC=201 #
每一进程的可用
PV
项数。
#options NO_SWAPPING
#
禁用交换区。不推荐
options PANIC_REBOOT_WAIT_TIME=0 #
内核异常
(kernel panic)
立即重启
#
核心内存大小限制。我倾向使用默认值
#options VM_KMEM_SIZE="(12*1024*1024)" #options VM_KMEM_SIZE_MAX="(256*1024*1024)" #options VM_KMEM_SIZE_SCALE="4"
#
将这份配置文件保存到
kernel
文件中,以便以后读取
#
使用这样的命令:
# strings -n 3 /kernel | sed -n 's/^___//p' > APACHE #
这里我们不需要这样做。
#options INCLUDE_CONFIG_FILE #
包含配置文件到内核中
#options USER_LDT #
某些
ports
需要这么做,未来的
FreeBSD
可能也需要
#
下面两项在制作对称多处理器
(SMP)
内核时需要
#options SMP
#
对称多处理器内核
#options APIC_IO
#
对称
(APIC) I/O
device isa device eisa device pci
#
软驱
device fdc0 at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0 device fd1 at fdc0 drive 1 # #
如果使用东芝
Libretto
以及他的
Y-E Y-E Data PCMCIA
软驱
#
不要使用上面的
fdc0
,而应使用
#device fdc0
# ATA
以及
ATAPI
设备
#
下面两行被删去,因为新系统不再需要它们。
device ata0 at isa? port IO_WD1 irq 14 device ata1 at isa? port IO_WD2 irq 15
device ata device atadisk # ATA
磁盘驱动器
(IDE
硬盘
)
device atapicd # ATAPI
光驱
device atapifd # ATAPI
软驱
device atapist # ATAPI
磁带机
options ATA_STATIC_ID #
静态设备编号
[
新系统不再需要
]
# SCSI
控制器
device ahb # EISA AHA1742 family device ahc # AHA2940
板载
AIC7xxx
设备
device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (
较新的芯片组
) options SYM_SETUP_LP_PROBE_MAP=0x40 #
使用
ncr
可以在配置了
sym
和
ncr
的情况下挂接旧的
NCR
设备
device adv0 at isa? device adw device bt0 at isa? device aha0 at isa? device aic0 at isa?
device ncv # NCR 53C500 device nsp # Workbit Ninja SCSI-3 device stg # TMC 18C30/18C50
# SCSI
外设
device scbus # SCSI
总线
(
如果使用
SCSI
设备,必须有
) device da # Direct Access (
硬盘
) device sa # Sequential Access (
磁带,等等
) device cd # CD device pass # Passthrough device (
直接
SCSI
访问
)
#
通过
SCSI
子系统接口的
RAID
控制器
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID device dpt # DPT Smartcache - See LINT for options! device iir # Intel Integrated RAID device mly # Mylex AcceleRAID/eXtremeRAID device ciss # Compaq SmartRAID 5* series
# RAID
控制器
device aac # Adaptec FSA RAID, Dell PERC2/PERC3 device aacp # SCSI passthrough for aac (requires CAM) device ida # Compaq Smart RAID device amr # AMI MegaRAID device mlx # Mylex DAC960 family device twe # 3ware Escalade
# atkbdc0
控制键盘和
PS/2
鼠标
[
这台机器没配鼠标,也不用图形界面
]
device atkbdc0 at isa? port IO_KBD device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12 #
鼠标器
device vga0 at isa?
options VGA_NO_FONT_LOADING #
不需要保存
/
加载字体
[
节省内存
] options VGA_NO_MODE_CHANGE #
不需要修改显示模式
[
节省内存
]
#
启动画面和屏幕保护程序
[
我的服务器平时不接显示器
] pseudo-device splash
# syscons
是默认的控制台驱动,类似
SCO
控制台
device sc0 at isa? flags 0x100
options MAXCONS=4 #
不需要更多的控制台
options SC_DISABLE_REBOOT #
禁止
Ctrl+Alt+Del
重启,必须以
root
登录。
options SC_NO_CUTPASTE
#
禁用剪贴板
[
节省内存
] options SC_NO_FONT_LOADING #
禁用字体加载
[
节省内存
] options SC_NO_SYSMOUSE
#
禁用鼠标
[
节省内存
]
#
对于
pcvt vt220
控制台,启用这个和
PCVT_FREEBSD #device vt0 at isa? #options XSERVER #
在
vt
控制台支持
X
服务器
#options FAT_CURSOR #
使用大光标
#
如果你是用
ThinkPad
,将下面的一行和其他
PCVT
相关设备的注释去掉
#options PCVT_SCANSET=2 # IBM
使用非标准键盘
#
浮点运算支持
-
请勿禁用
device npx0 at nexus? port IO_NPX irq 13
#
电源管理支持
[
这台机器期待长期运行
] device apm0 at nexus? disable flags 0x20 # Advanced Power Management
# PCCARD (PCMCIA)
支持
device card device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000 device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
#
串口
(COM) device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 device sio2 at isa? disable port IO_COM3 irq 5 device sio3 at isa? disable port IO_COM4 irq 9
#
并口
device ppc0 at isa? irq 7 device ppbus #
并口总线
(
所有并口设备都需要
) device lpt
#
打印机
device plip #
并口
TCP/IP device ppi
#
并口接口设备
#device vpo #
需要
scbus
和
da
# PCI
以太网适配器
device de # DEC/Intel DC21x4x (``Tulip'') device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'') device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'')
#
使用公共的
MII
总线控制器代码的
PCI
以太网适配器
#
注意:一定要保留
'device miibus'
以确保可用
device miibus # MII
总线支持
device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) device pcn # AMD Am79C97x PCI 10/100 NICs
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (``Starfire'') device sis # Silicon Integrated Systems SiS 900/SiS 7016 device ste # Sundance ST201 (D-Link DFE-550TX) device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') device bge # Broadcom BCM570x (``Tigon III'')
# ISA
以太网适配器
# 'device ed'
需要
'device miibus' device ed0 at isa? port 0x280 irq 10 iomem 0xd8000 device ex device ep device fe0 at isa? port 0x300 # Xircom Ethernet device xe # PRISM I IEEE 802.11b wireless NIC. device awi # WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really # exists only as a PCMCIA device, so there is no ISA attachment needed # and resources will always be dynamically assigned by the pccard code. device wi # Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will # work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP # mode (the factory default). If you set the switches on your ISA # card for a manually chosen I/O address and IRQ, you must specify # those parameters here. device an # The probe order of these is presently determined by i386/isa/isa_compat.c. device ie0 at isa? port 0x300 irq 10 iomem 0xd0000 #device le0 at isa? port 0x300 irq 5 iomem 0xd0000 device lnc0 at isa? port 0x280 irq 10 drq 0 device cs0 at isa? port 0x300 device sn0 at isa? port 0x300 irq 10
#
伪设备
-
数字表示分配多少个
pseudo-device loop #
环回网络
pseudo-device ether #
以太网支持
pseudo-device sl 1 #
核心级
SLIP pseudo-device ppp 1 #
核心级
PPP pseudo-device tun
#
数据包隧道
pseudo-device pty
#
伪
-tty(telnet
等等
)
pseudo-device md
#
内存虚拟盘
pseudo-device gif
# IPv6
和
IPv4
隧道
pseudo-device faith 1 # IPv6-to-IPv4
转发
(
翻译
)
# `bpf'
伪设备将启用伯克利数据包过滤器。
#
小心由此带来的管理问题
pseudo-device bpf #Berkeley packet filter
# USB
支持
device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device uscanner # Scanners device urio # Diamond Rio MP3 Player
# USB
以太网,需要
mii device aue # ADMtek USB ethernet device cue # CATC USB ethernet device kue # Kawasaki LSI USB ethernet
|