核心设定档

发表于:2007-07-04来源:作者:点击数: 标签:
进行之前,您应该先将您的硬件列表清单放在手边,并前往 bsd.org/releases/index.html> http://www.freebsd.org/releases/index.html 点选页面下方您所安装的版本其 Hardware Notes 的连结字样,如︰ 4.6 (June, 2002) bsd.org/releases/4.6R/announce.html>

  进行之前,您应该先将您的硬件列表清单放在手边,并前往
  bsd.org/releases/index.html>
  http://www.freebsd.org/releases/index.html
  点选页面下方您所安装的版本其 Hardware Notes 的连结字样,如︰
  ‧4.6 (June, 2002) bsd.org/releases/4.6R/announce.html> Announcement
  bsd.org/releases/4.6R/relnotes.html> Release Notes bsd.org/releases/4.6R/hardware.html> Hardware Notes bsd.org/releases/4.6R/errata.html> Errata
  再依您的平台架构点选连结 (i386) 进入硬件支持的说明页,这儿呈列了该版本所支持的硬件装置,您可以利用浏灠器的页面搜寻功能,搜寻您的硬件关键词,并将该硬件的驱动程序代号,如︰rl(4) ( rl 为该硬件的驱动程序代号 ),给记录到硬件清单中相对映的装置旁,以便在定义核心设定档时,能够针给装置部份予以正确的选项。
  或者您也可以查看 /usr/src/sys/i386/conf/LINT 档案,取得硬件装置的驱动程序代号。
  再来,请您先快速的看过 bsd/kernel/GENERIC.htm> GENERIC
   这个核心设定档。
  其中︰
   javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">
  若将其分门别类的话,大致上又可分为如下类别︰
  (1)必要的参数:
   
  这些是一定要有的参数设定。
  ·machine i386
  设定硬件平台架构架构。目前 FreeBSD 支持 i386、alpha、pc98 等平台;相信您一定是使用兼容 IBM PC 架构的个人计算机,这在 FreeBSD 中归类于 i386 的类别,因此这儿一定是 machine i386
  如果您是使用 alpha 架构的机器,则此处一定是 machine alpha
  本书所写内容皆是于 i386 的系统架构下执行的,若您是在 alpha 系统架构下要来安装使用 FreeBSD 的话,请以参考即可。
  ·cpu Ixxx_CPU
  设定 CPU 的等级。您只需针对机器所使用的 CUP 等级来设定即可;全部设定时,系统会自行侦测机器所使用的 CPU 等级。
  如果您不确定您的 CPU 等级,可以执行 shell# dmesg | more 来查看︰
  Copyright (c) 1992-2002 The FreeBSD Project.Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994The Regents of the University of California. All rights reserved.FreeBSD 4.5-STABLE #0: Sun Feb 24 02:47:34 CST 2002root@uah.weonfu.net:/usr/src/sys/compile/WEONTimecounter "i8254" frequency 1193182 HzTimecounter "TSC" frequency 200455390 HzCPU: Pentium/P55C (200.46-MHz 586-class CPU )Origin = "GenuineIntel" Id = 0x543 Stepping = 3Features=0x8001bfreal memory = 67108864 (65536K bytes)
  ·
  如上黄色字样,表示此台机器所使用的 CPU 为 I586_CPU 的等级。
  因此我们只需为此台机器设定 cpu I586_CPU 的参数,其它三个 CPU 等级设定参数则在前方加上 # 批注起来。
  ·ident GENERIC
  ident 是作为识别不同 kernel 用的,你在开机或执行查看系统信息类的指令时皆可看到。在为 kernel 设定识别名称时,不要使用到 C 语言的特殊字眼,比如 DEBUG,以免在编译时系统将此识别名称当作是编译参数来传送给 C 编译器。老话常提,用主机名称来做为 kernel 识别名称是不错的抉择。
  ·maxusers 0
  这是用来定义一些系统数据结构的大小,而不是指上线人数的上限值。
  大致上来说,maxusers 值限定了系统同一时间可有多少个执行程序 (processes),其算法是 20 + 16 * maxusers,而系统在开机时就占用了至少 18 个 processes,因此您该衡量一下您的工作环境而来计算该设置为多少,一般来说 10 ~ 64 之间是个通用值,如果您不确定的话。
  虽然 maxusers 限定了系统同时间可执行的 processes,但是并不就表示设的愈大愈好,因为设得太大,kernel 将浪费许多空间在一些没有用到的数据结构上,不但浪费宝贵的内存空间,同时系统的执行效能也会变慢。
  如果您所使用的版本 GENERIC 核心设定文件,其 maxusers 默认值为 0,则表示让系统根据所拥有的物理内存 (RAM) 大小来决定。因此如果您拥有超过 256MB 的 RAM,您可以先行设定为 0,由系统为您决定,再持续观察是否有『proc table full』此类的讯息出现?若有的话再自行由 10 开始来设定,然后慢慢调高,直到不再出现此类讯息为止。若您的 RAM 未达 256MB,但是使用的版本有支持自动侦测的功能的话,建议您还是乖乖的设定测试较好!!
  (2)一般性参数:
   
  这些参数可视个人需要来决定使用与否。
  ·options MATH_EMULATE
  只要您有用到小数点的运算时,您就会需要浮点运算器 (FPU)。在早期的 CPU 时代,有提供 FPU 功能的 CPU 其价格不菲,因此另有不提供 FPU 功能的平价 CPU 面世,例如 386SX、486SX。此参数即提供一软件仿真的方式,来提供您浮点运算的功能,但这个浮点运算仿真器并非十分精确,如果您需要准确度更高的仿真,可使用 GPL_MATH_EMULATE (GUN 的数学浮点运算仿真)。您不能同时使用这两个仿真器,只能二择其一。
  现今的 CPU 都已内建 FPU 了,除非您确认您的 CPU 未内建 FPU,或等级早于 486DX 的 CPU,不然您不会需要此参数,请将它批注起来。提供动态加载。
  ·options UCONSOLE
  这在 X-Window 下很有用哟。比如您可以执行 xconsole 或 xterm -C 来监看 console 的讯息。
  如果您要使用 X-Window 的话,建议是保留此参数;若不用 X-Window 的话,随意啦!!
  ·options USERCONFIG
  如果您希望在开机时能够在 boot: 提示符号时输入 -c 来设定核心或装置参数时,您就需要将此功能给编进核心里头。不过一般我们量身订做的核心都是最合用的,并不需要再另行做设定,因此平常都是不用的,只有在制作开机片时才指定进来。
  ·options VISUAL_USERCONFIG
  USERCONFIG 的窗口模式。使用此参数时需同时使用 USERCONFIG 参数。
  使用此功能,在进入参数设定选单时,会自动进入窗口模式。
  ·options P1003_1B
  options _KPOSIX_PRIORITY_SCHEDULING
  1993年POSIX标准中新加入的实时系统扩充选项,ports里面某些应用软件( 像 Star office)会用到这些选项。
  ·options SMP
  options APIC_IO
  如果您的系统是多个 CPU 的话,而且您想使用多 CPU 来运作,您一定要有这两个选项,而且在必要参数中 CPU 等级的选项里,cpu I386_CPU 与 cpu I486_CPU 两个选项一定要批注或删除掉,不然您应该会有 99.99% 的机会不能开机 ^_^
  在预设中,这两个选项是不使用的,所以没事不要将它的批注给删除哦,或者直接让这两行从您的核心设定档中消失也是不错的保安措施。
  (3)兼容性参数:
  
  options COMPAT_43#Compatible with BSD 4.3 [KEEP THIS!]options SYSVSHM#SYSV-style shared memoryoptions SYSVMSG#SYSV-style message queuesoptions SYSVSEM#SYSV-style semaphores
  这些参数可视个人需要来决定使用与否。
  ·options COMPAT_43
  提供 4.3BSD 与更早之前版本的兼容模式。这是一定要的,因为有些程序在执行时需要它的存在。
  ·options SYSVSHM
  支持 System V shared memory。如果您要使用 X-Window 您最好加入此参数,因为许多程序都会利用到它来加快显示速度。
  ·options SYSVMSG
  支持 System V semaphores。不是很常用到的,不过只占一丝丝内存。
  ·options SYSVSEM
  支持 System V messages。也是只占用一丝丝的内存,如果您打算架设 BBS 系统,您一定要用到它。
  现在已有越来越多程序会运用到 SYSV-style 的功能,而它们占用的内存空间并不足为道,为了您日后的方便,建议您将它们都选用吧。因为取消它们并不会为您的系统效能带来什么明显的帮助(有等于没有),但需要它们时一定要重编核心,花时间又加重系统的负担,想想哪个划算吧 ^_^
  您可以利用 ipcs 指令来查看任何使用到上述三个 System V 功能的 processes。
  (4)侦错性参数:
  
  #makeoptionsDEBUG=-g#Build kernel with gdb(1) debug symbolsoptions KTRACE#ktrace(1) support
  非系统、程序开发人员不需此类功能。
  ·makeoptions DEBUG=-g
  激活 kernel 除错器。
  ·options KTRACE
  利用 ktrace 指令来追踪系统呼叫。
  除非您想为系统除错或是要开发程序,不然您不需要启用这些功能。或者您想要试试能够忍受多慢的系统效能的话,您可以考虑启用它们 ^_^
  (5)档案系统支持:
  
  options FFS#Berkeley Fast Filesystemoptions FFS_ROOT#FFS usable as root device [keep this!]options MFS#Memory Filesystemoptions MD_ROOT#MD is a potential root deviceoptions NFS#Network Filesystemoptions NFS_ROOT#NFS usable as root device, NFS requiredoptions MSDOSFS#MSDOS Filesystemoptions CD9660#ISO 9660 Filesystemoptions CD9660_ROOT#CD-ROM usable as root, CD9660 requiredoptions PROCFS#Process filesystemoptions UFS_DIRHASH# 运用一些内存来加速大型目录资料的更新管理作业soptionsSOFTUPDATES# 加速档案系统效能与降低不正常关机后资料遗失、损毁的风险
  只有 root、/usr、/tmp 所位于的分割区使用的档案系统才需要编进核心中,其它的档案系统 kernel 会在需要用到时,自动加载相关模块来运作 (除了 FFS 与 MFS 档案系统目前不能动态加载)。
  ·options FFS
  options FFS_ROOT
  FreeBSD 使用的档案系统格式。这是一定要的。
  ·options MFS
  options MD_ROOT
  利用物理内存来当磁盘的档案系统。它是目前所有的档案系统中存取效率最快的,因为它是内存映对出来的档案系统 ^_^
  您无法动态加载 MFS 的档案系统格式,所以如果您会用到它的话,您一定要编进核心当中。
  ·options NFS
  options NFS_ROOT
  网络档案系统。除非您打算透过网络来开机,不然您不需要加入此参数,您可以利用动态加载的方式来使用它。如果您只有用到 NFS client 的功能,您可以在核心中加入 options NFS_NOSERVER,这样会较省内存,但您就不能利用 NFS 的模式来分享您的资源。
  ·options MSDOSFS
  MS-DOS 档案系统。可动态来加载。
  ·options CD9660
  options CD9660_ROOT
  ISO 9660 档案系统。这是光盘资料的格式,可动态加载。若是要听音乐 CD、看 VCD 等,您不需要 ISO 9660 的支持。
  ·options PROCFS
  Process 档案系统。这是固定 mount 在 /proc 目录的档案系统。其下的子目录各记录着每一个 process 的状态,大多数的系统工具都会利用 /proc 来查询 process 的执行状态。可动态加载使用。
  ·options SOFTUPDATES
  这个参数可以让您的档案系统速度提高不少,尤其在配备等级较低的机器上感觉更是明显,约可提高 50% 左右的执行效能,当然这个数值是依不同的配备等级而有所不同。另外它还可降低当系统因断电或其它原因而未依正常步骤关机时所可能带来的资料遗失、损毁的风险,不过说是这么说,毕竟只是降低而已,所以该备份的还是要照常备份哟 ^_^
  这么好的功能怎可不用哩,保留着它吧,不要批注哟!!
  (6)网络通讯协议支持:
  
  options INET#InterNETworkingoptions INET6#IPv6 communications protocolsoptionsICMP_BANDLIM#Rate limit bad replies
  ·options INET
  最基本的网络支持,就算您不连上任何网络,您还是会需要这个参数,因为许多程序至少需要 loopback 网络。
  ·options INET6
  IPV6 地址解析的功能。如果用不到就批注吧!!
  ·options ICMP_BANDLIM
  激活 ICMP 协议对于错误响应的频宽限制,这个选项通常会用 在保护你的机器免于阻断服务封包攻击 (D.O.S. packet attacks)。
  (7)网络虚拟装置:
  
  pseudo-deviceloop# Network loopbackpseudo-deviceether# Ethernet supportpseudo-devicesl1# Kernel SLIPpseudo-deviceppp1# Kernel PPPpseudo-devicetun# Packet tunnel.pseudo-devicebpf# Berkeley packet filterpseudo-devicegif# IPv6 and IPv4 tunnelingpseudo-devicefaith1# IPv6-to-IPv4 relaying (translation)
  加注 [数量] 的,表示支持虚拟出几个这种装置,您可以视需求改变数值。
  ·pseudo-device loop
  这是一个通用的 TCP/IP 回溯接口 (loopback),让您可以联机到您自已的计算机 (IP:127.0.0.1)。只要您的网络功能有激活,这就一定需要,不提供动态加载。
  ·pseudo-device ether
  包含了通用的以太网络通讯协议的程序代码。网络功能有激活,它也是必需要的,不提供动态加载。
  ·pseudo-device sl [数量]
  提供 SLIP (Serial Line IP) 的支持。这是较早期的协议,现在大都使用 PPP 而很少人使用 SLIP 了。您可在需要使用时动态加载。
  ·pseudo-device ppp [数量]
  PPP 就是 Point-to-Point 通讯协议的简写,提供了相当完整的 TCP/IP 功能。您可于需要时动态载人。
  这个 PPP 称为 Kernel-mode PPP,传输速度较快,但设定较为不易,额外功能较少。
  ·pseudo-device tun [数量]
  tun 是 User-mode PPP (亦称 iijppp),它比 Kernel-mode PPP 容易设定,传输速度略慢,但提供许多特殊功能,如需要时自动拨号联机 (Dial-up on demand)、封包过滤器 (packet filter) 等等。后面的数字表示要支持多少线的 PPP,您可在需要使用时动态载人。
  ·pseudo-device bpf [数量]
  提供网络封包过滤器 (Berkely Packet Filter) 的功能。许多网络监控程序都利用这个装置来取得网络上的封包 (如 tcpdump)。
  数量的设定依据网络接口而定,如有两张网络卡及使用一个 PPP 连接,那至少要 4 个 bpf,因为 loopback 也算一个,多设无所谓,少设就比较麻烦。
  ·pseudo-device gif [数量]
  提供 IPv6 经 IPv4 的传送信道、IPv4 经 IPv6 的传送信道、IPv4 经 IPv4 的传送信道以及 IPv6 经 IPv6 的传送信道。提供动态加载。
  ·pseudo-device faith [数量]
  这个虚拟装置抓取送给它的封包,并转给负责 IPv4/IPv6 转换的背景服务程序。提供动态加载。
  (8)网络卡:
  
  # PCI Ethernet NICs.devicede# DEC/Intel DC21x4x (``Tulip')deviceem# Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman')devicetxp# 3Com 3cR990 (``Typhoon')devicevx# 3Com 3c590, 3c595 (``Vortex')
  PCI 接口网络卡的驱动程序。如果您的网络卡驱动程序代号有在其中的,就保留着,其它的批注或删除掉。
  # PCI Ethernet NICs that use the common MII bus controller code.# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!devicemiibus# MII bus supportdevicedc# DEC/Intel 21143 and various workalikesdevicefxp# Intel EtherExpress PRO/100B (82557, 82558)devicepcn# AMD Am79C97x PCI 10/100 NICsdevicerl# RealTek 8129/8139devicesf# Adaptec AIC-6915 (``Starfire')devicesis# Silicon Integrated Systems SiS 900/SiS 7016deviceste# Sundance ST201 (D-Link DFE-550TX)devicetl# Texas Instruments ThunderLANdevicetx# SMC EtherPower II (83c170 ``EPIC')devicevr# VIA Rhine, Rhine IIdevicewb# Winbond W89C840Fdevicexl# 3Com 3c90x (``Boomerang', ``Cyclone')devicebge# Broadcom BCM570x (``Tigon III')
  一些 10/100 以太网络卡需要 MII 总线,这些卡不是使用跟 MII 兼容的 transceivers 就是实作一个跟 MII 类似的 transceiver 控制接口。在核心设 定档里头加上 device miibus 以提供通用 miibus API 与 所有使用通用 miibus 而不是使用自己驱动程序的 PHY。
  如果您的网络卡驱动程序需要目到 MII 总线控制器的话,比如上述呈列的那些网络卡,您一定要将 device miibus 选项保留着。
  # ISA Ethernet NICs.# 'device ed' requires 'device miibus'deviceed0at isa? port 0x280 irq 10 iomem 0xd8000deviceexdeviceepdevicefe0at isa? port 0x300# Xircom Ethernetdevicexe# PRISM I IEEE 802.11b wireless NIC.deviceawi# 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 pclearcase/" target="_blank" >ccard code.devicewi# 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.devicean# The probe order of these is presently determined by i386/isa/isa_compat.c.deviceie0at isa? port 0x300 irq 10 iomem 0xd0000#devicele0at isa? port 0x300 irq 5 iomem 0xd0000devicelnc0at isa? port 0x280 irq 10 drq 0devicecs0at isa? port 0x300devicesn0at isa? port 0x300 irq 10
  ISA 接口的网络卡。需注意各装置的设定是否有冲突到并为其设定值给予调开来。若您没有 ISA 接口的网络卡,那就全批注或删除掉吧。
  如果您的核心老是编译错误,您可以考虑先将网络卡的部份给批注掉,利用动态加载模块的方式在开机时将相关的网络卡模块给加载核心,如此一样可行。
  
  (9)硬件控制器:
  
  # Floppy drivesdevicefdc0at isa? port IO_FD1 irq 6 drq 2devicefd0at fdc0 drive 0devicefd1at fdc0 drive 1## If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,# don't use the above line for fdc0 but the following one:#devicefdc0# ATA and ATAPI devicesdeviceata0at isa? port IO_WD1 irq 14deviceata1at isa? port IO_WD2 irq 15deviceatadeviceatadisk# ATA disk drivesdeviceatapicd# ATAPI CDROM drivesdeviceatapifd# ATAPI floppy drivesdeviceatapist# ATAPI tape drivesoptions ATA_STATIC_ID#Static device numbering# SCSI Controllersdeviceahb# EISA AHA1742 familydeviceahc# AHA2940 and onboard AIC7xxx devicesdeviceamd# AMD 53C974 (Tekram DC-390(T))deviceisp# Qlogic familydevicencr# NCR/Symbios Logicdevicesym# NCR/Symbios Logic (newer chipsets)optionsSYM_SETUP_LP_PROBE_MAP=0x40# Allow ncr to attach legacy NCR devices when # both sym and ncr are configureddeviceadv0at isa?deviceadwdevicebt0at isa?deviceaha0at isa?deviceaic0at isa?devicencv# NCR 53C500devicensp# Workbit Ninja SCSI-3devicestg# TMC 18C30/18C50# SCSI peripheralsdevicescbus# SCSI bus (required)deviceda# Direct Access (disks)devicesa# Sequential Access (tape etc)devicecd# CDdevicepass# Passthrough device (direct SCSI access)# RAID controllers interfaced to the SCSI subsystemdeviceasr# DPT SmartRAID V, VI and Adaptec SCSI RAIDdevicedpt# DPT Smartcache - See LINT for options!device     iir       # Intel Integrated RAIDdevicemly# Mylex AcceleRAID/eXtremeRAIDdeviceciss# Compaq SmartRAID 5* series# RAID controllersdeviceaac# Adaptec FSA RAID, Dell PERC2/PERC3deviceaacp# SCSI passthrough for aac (requires CAM)deviceida# Compaq Smart RAIDdeviceamr# AMI MegaRAIDdevicemlx# Mylex DAC960 familydevicetwe# 3ware Escalade# PCCARD (PCMCIA) supportdevicecarddevicepcic0at isa? irq 0 port 0x3e0 iomem 0xd0000devicepcic1at isa? irq 0 port 0x3e2 iomem 0xd4000 disable# USB supportdeviceuhci# UHCI PCI->USB interfacedeviceohci# OHCI PCI->USB interfacedeviceusb# USB Bus (required)deviceugen# Genericdeviceuhid# "Human Interface Devices"deviceukbd# Keyboarddeviceulpt# Printerdeviceumass# Disks/Mass storage - Requires scbus and dadeviceums# Mousedeviceuscanner# Scannersdeviceurio# Diamond Rio MP3 Player# USB Ethernet, requires miideviceaue# ADMtek USB ethernetdevicecue# CATC USB ethernetdevicekue# Kawasaki LSI USB ethernet
  
  依据它们的接口与类型,大至上又可分为如下几种︰
  1).IDE
  deviceisadeviceeisadevicepci# Floppy drivesdevicefdc0at isa? port IO_FD1 irq 6 drq 2devicefd0at fdc0 drive 0devicefd1at fdc0 drive 1## If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,# don't use the above line for fdc0 but the following one:#devicefdc0# ATA and ATAPI devicesdeviceata0at isa? port IO_WD1 irq 14deviceata1at isa? port IO_WD2 irq 15deviceatadeviceatadisk# ATA disk drivesdeviceatapicd# ATAPI CDROM drivesdeviceatapifd# ATAPI floppy drivesdeviceatapist# ATAPI tape drivesoptions ATA_STATIC_ID# Static device numbering
  ·device isa
  所有 FreeBSD 所支持的 PC 都需要这行设定。如果您将它给批注或删除掉了,您在 config 的动作时就无法过关喽!!
  它不是由您计算机主机上是否有使用 ISA 适配卡来决定的,总之这是一定要的啦。
  如果你使用 IBM PS/2 (微通 道架构)计算机,则你无法在该机器上执行 FreeBSD。
  ·device eisa
  如果你的主机板上有 EISA 总线,加入这个设定。使用这个选项可以自动侦测并设定所以连接在 EISA 总线上的装置。
  如果您的机器是 586 等级以上的,那就批注掉吧,您一定不会有 EISA 总线在主机板上的。
  ·device pci
  使用这个选项可以自动侦测 PCI 卡并桥接 PCI 与 ISA 总线。您一定有的啦,除非您是使用非常古早期的计算机主机,留着吧;还是您想试试批注掉的话会有什么情况呢??
  ^_^
  ·device fdc0 at isa? port IO_FD1 irq 6 drq 2
  device fd0 at fdc0 drive 0
  device fd1 at fdc0 drive 1
  软式磁盘驱动器控制器: fd0 是 A: 磁盘驱动器,fd1 是 B: 磁盘驱动器。一般来说,现在大都只配备一台软式磁盘驱动器而已,您可以将 device fd1 at fdc0 drive 1 给批注掉。如果根本就没使用软式磁盘驱动器的话,那就全批注吧。
  ·device ata0 at isa? port IO_WD1 irq 14
  device ata1 at isa? port IO_WD2 irq 15
  这两行是给旧式、非 PCI 接口的 IDE 控制卡使用的,如果您的 IDE 控制卡有使用非 PCI 接口,或是不确定的话,就留着吧,不然您可以取消掉它们。
  ·device ata
  这个驱动程序支持所有的 ATA 与 ATAPI 装置(即俗称的 IDE 装置)。你只需要写一行 device ata 即可,核心会侦测新式机器上所有的 PCI ATA/ATAPI 装置。
  通常来说,如果您的主机有支持 DMA 传输的话,您就只需要此行设定即可,无需上述的两行。
  ·device atadisk
  要使用 ATAPI 接口的硬盘,您就需要再加上此选项。
  ·device atapicd
  要使用 ATAPI 接口的光驱,您就需要再加上此选项。
  ·device atapifd
  这不是我们一般常说的磁盘驱动器哟。它是指高容量软式磁盘 (LS-120) 装置。您若有这种装置的话就保留着吧,不然就取消掉。
  ·device atapist
  要使用 ATAPI 磁带机,您就需要再加上此选项。就是长的很像录音(影)带的东东啦 ^_^
  ·options ATA_STATIC_ID
  这是用来固定连接于 IDE 控制卡上装置的编号,如果取消了,装置的编号就会被动态配置,也就是说按照顺序来编号而不会有跳号的情形。
  通常主机板上大都只提供两个 IDE 信道,然后每个 IDE 信道可配置两个装置,我们用图表来看一下 FreeBSD 与 DOS 对各信道的配置口所给予的编号︰
  DOS
   
  现在,假设我们有三颗 IDE 接口的硬盘,然后再根据这个选项的使用与否然看看 FreeBSD 对各信道的配置口所给予的编号︰
  options ATA_STATIC_ID (选项启用)
  
  聪明的您相信一定己经由上图表中看出其中的端倪了。
  在此我们是建议您要将此选项启用才好,因为您能根据编号来得知硬盘是装在哪一个信道口上,进而能快速判断出该对哪颗硬盘做处理;如果您将选项给批注取消了,那您可能还得要费上些功夫才能够知道哪个装置名称是位在哪颗硬盘上。
  2).SCSI
  # SCSI Controllersdeviceahb# EISA AHA1742 familydeviceahc# AHA2940 and onboard AIC7xxx devicesdeviceamd# AMD 53C974 (Tekram DC-390(T))deviceisp# Qlogic familydevicencr# NCR/Symbios Logicdevicesym# NCR/Symbios Logic (newer chipsets)optionsSYM_SETUP_LP_PROBE_MAP=0x40# Allow ncr to attach legacy NCR devices when # both sym and ncr are configureddeviceadv0at isa?deviceadwdevicebt0at isa?deviceaha0at isa?deviceaic0at isa?devicencv# NCR 53C500devicensp# Workbit Ninja SCSI-3devicestg# TMC 18C30/18C50options SCSI_DELAY=15000#Delay (in ms) before probing SCSI
  将你系统没安装的 SCSI 适配卡批注掉。如果你的系统只有 IDE 接口装置,你可以将上面几行全部移除。
  ·options SCSI_DELAY=15000
  这是用来设定开机时当侦测到 SCSI 适配卡时,要等待几毫秒 (每秒等于 1000 毫秒) 的时间来让 SCSI 适配卡去搜寻配置的装置。
  ·device ncr
  device sym
  options SYM_SETUP_LP_PROBE_MAP=0x40
  这是当您同时使用 device ncr 与 device sym 的驱动程序时,您可以再加用
  options SYM_SETUP_LP_PROBE_MAP=0x40 的参数来做额外设定。
  您可以查看 /usr/src/sys/i386/conf/LINT 中的说明,看看您的 SCSI 适配卡是否有其它的参数可使用。
  # SCSI peripheralsdevicescbus# SCSI bus (required)deviceda# Direct Access (disks)devicesa# Sequential Access (tape etc)devicecd# CDdevicepass# Passthrough device (direct SCSI access)
  SCSI 的外围装置。如果您没有 SCSI 的装置,您可以将它们全部批注或移除。
  ·device scbus
  只要您有要使用 SCSI 外围,这个选项一定要有,系统才有办法透过它来使用您的 SCSI 外围。如果批注的话,即使您驱动了您的 SCSI 卡,FreeBSD 一样无法使用您的 SCSI 装置的。
  ·device da
  如果您要使用 SCSI 硬盘,您还需要加入此选项。
  ·device sa
  如果您要使用 SCSI 磁带机,您还需要加入此选项。
  ·device cd
  如果您要使用 SCSI 光驱,您还需要加入此选项。
  ·device pass
  如果您要使用上述三种类别的 SCSI 装置,如扫描仪,您还需要加入此选项。
  
  3).PCMCIA
  # PCCARD (PCMCIA) supportdevicecarddevicepcic0at isa? irq 0 port 0x3e0 iomem 0xd0000devicepcic1at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
  PCMCIA 支持,如果你把 FreeBSD 装在笔记型计算机上,你会需要这个装置。
  ·device card
  使用这个选项可以自动侦测接上计算机的 PCMCIA 卡
  ·device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
  device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
  给旧式、非 PCI 接口的 PCMCIA 卡使用。
  预设第二个 PCMCIA 插槽是关闭的,若您要使用的话,请将 disable 字样去除。
  
  4).RAID
  # RAID controllers interfaced to the SCSI subsystemdeviceasr# DPT SmartRAID V, VI and Adaptec SCSI RAIDdevicedpt# DPT Smartcache - See LINT for options!device    iir       # Intel Integrated RAIDdevicemly# Mylex AcceleRAID/eXtremeRAIDdeviceciss# Compaq SmartRAID 5* series# RAID controllersdeviceaac# Adaptec FSA RAID, Dell PERC2/PERC3deviceaacp# SCSI passthrough for aac (requires CAM)deviceida# Compaq Smart RAIDdeviceamr# AMI MegaRAIDdevicemlx# Mylex DAC960 familydevicetwe# 3ware Escalade
  已支持的 RAID 控制器。如果你没任何 RAID 控制器,你可以移除全部的设定。
  
  5).USB
  # USB supportdeviceuhci# UHCI PCI->USB interfacedeviceohci# OHCI PCI->USB interfacedeviceusb# USB Bus (required)deviceugen# Genericdeviceuhid# "Human Interface Devices"deviceukbd# Keyboarddeviceulpt# Printerdeviceumass# Disks/Mass storage - Requires scbus and dadeviceums# Mousedeviceuscanner# Scannersdeviceurio# Diamond Rio MP3 Player# USB Ethernet, requires miideviceaue# ADMtek USB ethernetdevicecue# CATC USB ethernetdevicekue# Kawasaki LSI USB ethernet
  支持各式各样的 USB 装置。
  ·device usb
  只要有使用 USB 装置,这个选项一定要有,再依据所使用的装置来启用其它的选项。
  我们以罗技光学鼠来说明吧。
  这只光学鼠有个 USB 转 PS/2 的接头,即使您是使用这接头接于 PS/2 的接口上,您还是得要驱动 USB 的界面,不然您是无法使用它的。
  要用这只鼠标您需要 device usb 与 device ums 两个选项。或者您也可以利用模块的方式来加载使用。
  (10).显示装置:
  devicevga0at isa?options VESA# syscons is the default console driver, resembling an SCO consoledevicesc0at isa? flags 0x100# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver#devicevt0at isa?#options XSERVER# support for X server on a vt console#options FAT_CURSOR# start with block cursor# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines#options PCVT_SCANSET=2# IBM keyboards are non-std
  FreeBSD 有两种终端机 (console) 的显示驱动程序,您只能择一而用。
  ·device vga0 at isa?
  显示卡的驱动程序。
  ·options VESA
  支持 VESA 模式的显示界面。
  ·device sc0 at isa? flags 0x100
  sc0 是预设的 console 驱动程序,类似 SCO console。绝大部分全屏幕程序都透过 termcap 这类终 端机资料函式库来存取 console,因此不论你用这个驱动程序或是 VT220 兼容 console 驱动程序 vt0,其间并无太大差别。如果使用 sc0,且你在登入系统后,执行全屏幕程序遇到问题,请将你的 TERM 设定成 scoansi。
  FreeBSD 预设使用 sc0,因为 sc0 的功能比较强,且支持鼠标的剪贴,是的,在文字模式下,您一样可以使目鼠标来覆制、贴上选取的文字。
  ·#device vt0 at isa?
  #options XSERVER
  #options FAT_CURSOR
  #options PCVT_SCANSET=2
  这是一个兼容 VT220 的 console 驱动程序,并向下兼容 VT100/102。在部分与 sc0 相冲的笔记型计算机上,这个驱动程序运作良好。 当然,当你登入系统时,记得设定 TERM 参数为 vt100 或是 vt220。当连接到网络上 许多计算机时,这个驱动程序也常是很有用的,这是因为许多的计算机上的 termcap 或是 terminfo 并没有 sc0 的资料,而 vt100 几乎所有的平台上都有支持。
  什么是 SCO 什么又是 VT220、VT100 ?我想您大概不了解吧,很不幸地逸晨也不了解,如果您有这方面的资料或是正好是熟悉这方面的信息,还请不吝来信告知。
  
  (11).通讯端口与键盘:
  
  # atkbdc0 controls both the keyboard and the PS/2 mousedeviceatkbdc0at isa? port IO_KBDdeviceatkbd0at atkbdc? irq 1 flags 0x1options BROKEN_KEYBOARD_RESETdevicepsm0at atkbdc? irq 12# Serial (COM) portsdevicesio0at isa? port IO_COM1 flags 0x10 irq 4devicesio1at isa? port IO_COM2 irq 3devicesio2at isa? disable port IO_COM3 irq 5devicesio3at isa? disable port IO_COM4 irq 9# Parallel portdeviceppc0at isa? irq 7deviceppbus# Parallel port bus (required)devicelpt# Printerdeviceplip# TCP/IP over paralleldeviceppi# Parallel port interface device#devicevpo# Requires scbus and da
  ·device atkbdc0 at isa? port IO_KBD
  键盘控制器 (atkbdc) 提供了 AT 键盘以及 PS/2 鼠标装置的 I/O 服务。键盘驱动程序 (atkbd) 与 PS/2 鼠标驱 动程序 (psm) 需要这个控制器。
  ·device atkbd0 at atkbdc? irq 1 flags 0x1
  atkbd 驱动程序与 atkbdc 支持 了 AT 84 键键盘或者连接到 AT 键盘控制器的 AT 加强型键盘。
  ·options BROKEN_KEYBOARD_RESET
  如果您想取消按下 Ctrl + Alt + Delete 三键时会重新激活系统的功能,您需要加入此选项。
  ·device psm0 at atkbdc? irq 12
  如果你的鼠标连接到 PS/2 鼠标连接端口,你需要这行设定。
  ·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
  四个串行端口装置,在 MS-DOS/Windows 里面被称作 COM1 ~ COM4。
  如果你你有一张内接式 Modem 卡,而且 COM2 是打开的,那么你必须把 Modem 卡的 IRQ 改成 2(技术上来说 IRQ2 = IRQ9) 这样 FreeBSD 才可以正常使用你的 Modem 卡。
  如果你有一张多埠卡,请阅读 sio(4) 以获得更多信息。有些显示卡(特别是采用 S3 芯片的显示卡)使用 0x2e8 这个 IO 地址,加上许多廉价的序列卡无法完全解析 16 位的 IO 地址,于是造成冲突,使得这些使用 COM4 的卡几乎无法正常使用。
  每个串行端口需要自己的 IRQ (除非你用可以支持分享 IRQ 的多埠卡),所以 COM3 跟 COM4 的 IRQ 预设是不能使用。
  ·device ppc0 at isa? irq 7
  这是 ISA 总线的并列端口接口。就是我们常说的 Printer port (LPT)
  ·device ppbus
  支持并列端口总线。透过它您才能使用连接于并列端口上的装置。
  ·device lpt
  如果您的打印机是连接在并列端口上并且想要使用它(不用为何要接呢? ^_^),您需要这个选项。
  ·device plip
  这是并列网络接口的驱动程序。如果您想透过并列埠来连接两台电脑,您需要这个选项。
  ·device ppi
  一般用途的 I/O("geek port") + IEEE1284 I/O。
  ·device vpo
  Iomega Zip 磁盘驱动器需这个装置。同时还需要加上 device scbus 与 device da 的选项(即使您没有安装任何 SCSI 适配卡)。于 CMOS 中把并列埠设定成 EPP 1.9 模式下可以获得最佳效能。
  
  (12).虚拟装置:
  
  pseudo-devicesplashpseudo-devicepty# Pseudo ttyspseudo-devicesnp# Snoop device - to look at pty/vty/etc..pseudo-devicevn# Vnode driver (turns a file into a device)pseudo-devicemd# Memory/malloc diskpseudo-devicegzip# Exec gzipped a.out's
  这些是虚拟出来的一个装置接口,以供系统呼叫用。
  ·pseudo-device splash
  这个虚拟装置让使用者可以在开机时显示位图。屏幕保护程序也需要用到。
  ·pseudo-device pty [数量]
  这是虚拟 "pseudo-terminal" 或虚拟的登入端口。远程连过来的 telnet 与 rlogin 联机、xterm 与 emacs 等应用程序都会用到这个虚拟装置。
  pty 后面的 [数量] 设定要建立几个 pty。如果你会同时用到的 xterm 窗口或是远程联机超过预设的 16 个,你可以增加这个值。此值的最上限为 256。
  还记得 maxusers [数量] 这个选项吗?
  pseudo-device pty [数量] 这个选项才是真正限制系统能够同时联机的最大人数。
  ·pseudo-device snp [数量]
  snp 就是 Snoop device 的简写。snp 可以让您监看或操控任何一个 tty 上的使用者窗口,而被监控的使用者并不会知道(有够恐怖)。
  snp 一般是用来监控不受欢迎的使用者(或许该说怀疑在进行破坏的使用者)、或是远距互动教学用的。请发挥您的管理者道德,不要拿来偷窥他人的隐私哟!!
  关于 snp 的用法,请 man watch。
  ·pseudo-device vn [数量]
  vn 就是 vonde disks 的简写。它让您可以把一个档案仿真成一个硬盘,然后您可以拿它来当做是 swap 或是 mount 成一般的档案系统。例如您可以将光盘或磁盘的映象文件透过 vnconfig 的设定后,再 mount 为档案系统来查看、使用其中内容。
  ·pseudo-device md [数量]
  memory disk 虚拟装置。若要建立利用内存仿真的磁盘,您会需要这个设定。
  ·pseudo-device gzip
  让您可以直接执行利用 gzip 压缩起来的执行档。
  
  (13).多媒体:
  在 GENERIC 这个核心设定档中,您是看不到任何与多媒体有关的设定选项,但是现今哪台电脑没有声卡?就连家庭式服务器都可能装块声卡上去,然后长时间拨放歌曲或佛经,以达资源真正的功能发挥。
  因为我们于其后将会介绍如何在 FreeBSD 上观看电视,因此仅就该文章中使用的硬件来做说明,至于没有提到的,就请您花点精神啃啃 /usr/src/sys/i386/conf/LINT 这个档案吧,不便之处还请见谅!!
  devicesnd# Voxware sound support code.devicepcm# PCM audio device driver.devicesbc# Creative SoundBlaster ISA PnP/non-PnP    # Supports ESS and Avance ISA chips as well.devicesbc0  at isa? port 0x220 irq 5 drq 1 flags 0x15devicebktr# brooktree 848/848a/849a/878/879 chipset I2C hardware interface.deviceiicbusdeviceiicbbdevicesmbus
  针对逸晨手边在使用的多媒体外围的例子而取用的选项。
  ·device snd
  device pcm
  snd 是使用 Voxware 的声卡驱动接口。
  pcm 是使用 PCM 的音效驱动接口/程序。
  Voxware 和 PCM 是什么东东??
  呵~~~ 我也不清楚,不过没关系,您只要查一下 Hardware Notes 中的数据,就会知道您的声卡该用哪一个来驱动。
  想要让声卡有声音出来,除了声卡本身的驱动程序之外,您还要加上这两个其中一个的驱动接口哟。
  ·device sbc
  device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
  逸晨的服务器中有装了片 Ess-1868 芯片的声卡,经查询 Hardware Notes 得知要使用 sbc 的驱动程序,所以要使用这个选项来驱动。
  第一行是声卡有支持 PnP 模式使用的,第二行则是 non-PnP 模式使用的。
  ·device bktr
  这是 Brooktree 848/848a/849a/878/879 chipset 影像撷取芯片的驱动程序。
  逸晨用的 UPMOST TV-200 的电视卡使用的是 Brooktree 878 芯片,因此要加入此项选项来驱动。
  ·device iicbus
  device iicbb
  device smbus
  在 FreeBSD 提供的线上 man-page 中查询 bktr 关键词,所得到的资料显示,要使用 bktr 的驱动程序需要加上这三个选项。
  其实因为我们在作业时,音效并非时常使用到,所以在学会了模块加载的功能之后,逸晨都采用模块的方式来使用多媒体的装置,除了免除挑选驱动接口/程序的麻烦外,也可让编译的时间缩短些,您也可以试试哟!!
  
  (14).其它选项:
  # Floating point support - do not disable.devicenpx0at nexus? port IO_NPX irq 13# Power management support (see LINT for more options)deviceapm0  at nexus? disable flags 0x20 # Advanced Power Management
  这些是逸晨不知该归到哪一类别的选项。
  ·device npx0 at nexus? port IO_NPX irq 13
  npx0 是连接 FreeBSD 与浮点运算处理器的一个接口,不论你有硬件的浮点运算处理器还是使用软件仿真,都需要这个设定,可别批注掉或删了它哟。
  ·device apm0 at nexus? disable flags 0x20
  电源管理程序。通常是使用 ATX Power 的主机拿来软件关机或是笔记型计算机才会使用的。如果您的计算机主机不是使用 ATX Power 的话,您可以将这个选项取消掉。因为不管是不是将计算机拿来当服务器使用,硬盘常在睡眠状态与叫醒间切换的话,很容易的它就会跟您说再见了。
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

原文转自:http://www.ltesting.net