[轉錄]一些 FreeBSD 4.x Generic Kernel Configuration 的說明

Home Home
引用 | 編輯 cyutjason
2005-01-05 17:48
樓主
推文 x0
這是我以前在網路上收集下來的,來源不可考了
以 /sys/i386/conf/GENERIC 做說明
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#   http://www.FreeBSD.org/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $FreeBSD: /ctm/FreeBSD/anoncvs/cvs/src/sys/i386/conf/GENERIC,v 1.246.2.21 2001
/01/12 23:45:14 scottl Exp $

machine       i386
#>> 使用的是 i386 的 CPU (FreeBSD 也有 for Alpha 的版本, 若是 Alpha 就是 \
  machine alpha, 當然底下的 CPUTYPE 也不一樣了...)

cpu         I386_CPU
cpu         I486_CPU
cpu         I586_CPU
cpu         I686_CPU
#>> 使用的 CPU 種類, 386 就留 I386_CPU, 486、5x86、IBM Blue Lighting、6x86\
  就用 I486_CPU, Pentium、K5、K6、K6-x 用 I586_CPU, P6(Pentium Pro,II,III,
  Xeon,IV、CELERON)、K7、M II 用 I686_CPU, 在這邊要注意的是 Cyrix 5x86、6x86\
  是判別成 I486_CPU, 而 NexGen 586 是判別成 I386_CPU (這顆應該沒啥人用過吧...\

  ^^;;), Cyrix 6x86MX(M II)、Pentium 4 是 I686_CPU 喔... :)

ident       GENERIC
#>> 用來識別不同的 kernel , 不要改

maxusers     32
#>> 定義一些系統資料結構的大小

#makeoptions   DEBUG=-g           #Build kernel with gdb(1) debug symbols

options       MATH_EMULATE         #Support for x87 emulation
#>> FPU 的模擬器

options       INET             #InterNETworking
#>> 支援 InterNET networking

options       INET6             #IPv6 communications protocols
#>> 支援 IPv6

options       FFS               #Berkeley Fast Filesystem
options       FFS_ROOT           #FFS usable as root device [keep this!]
options       SOFTUPDATES         #Enable FFS soft updates support
options       MFS               #Memory Filesystem
options       MD_ROOT           #MD is a potential root device
options       NFS               #Network Filesystem
options       NFS_ROOT           #NFS usable as root device, NFS required

options       MSDOSFS           #MSDOS Filesystem
options       CD9660             #ISO 9660 Filesystem
options       CD9660_ROOT         #CD-ROM usable as root, CD9660 required
options       PROCFS             #Process filesystem
#>> 以上都是檔案系統的支援

options       COMPAT_43           #Compatible with BSD 4.3 [KEEP THIS!]
#>> BSD 4.3 的支援
options       SCSI_DELAY=15000     #Delay (in ms) before probing SCSI
#>> 偵測 SCSI 裝置的時候要 Delay 多少 ms

options       UCONSOLE           #Allow users to grab the console
#>> 允許使用者擷取 console 的訊息

options       USERCONFIG         #boot -c editor
#>> 將開機參數設定選單編進 kernel

options       VISUAL_USERCONFIG     #visual boot -c editor
#>> 進入參數設定選單時自動進入視窗模式

options       KTRACE             #ktrace(1) support
#>> ktrace 指令的支援, 請 man - 1 ktrace

options       SYSVSHM           #SYSV-style shared memory
options       SYSVMSG           #SYSV-style message queues
options       SYSVSEM           #SYSV-style semaphores
#>> 以上是 System V 的支援, 最好全部都加入

options       P1003_1B           #Posix P1003_1B real-time extensions
options       _KPOSIX_PRIORITY_SCHEDULING
#>> POSIX P1003.1B 的支援

options       ICMP_BANDLIM         #Rate limit bad replies
options       KBD_INSTALL_CDEV     # install a CDEV entry in /dev
#>> 這我不知道... :p:p

# To make an SMP kernel, the next two are needed
#options     SMP               # Symmetric MultiProcessor Kernel
#options     APIC_IO           # Symmetric (APIC) I/O
#>> Symmetric MultiProcessor 的支援, 如果是多 CPU 的主機要加上

device       isa
device       eisa
device       pci
#>> ISA, EISA, PCI bus 的支援

# Floppy drives
device       fdc0   at isa? port IO_FD1 irq 6 drq 2
device       fd0   at fdc0 drive 0
device       fd1   at fdc0 drive 1
#>> 軟碟控制

# ATA and ATAPI devices
device       ata0   at isa? port IO_WD1 irq 14
device       ata1   at isa? port IO_WD2 irq 15
device       ata
device       atadisk           # ATA disk drives
device       atapicd           # ATAPI CDROM drives
device       atapifd           # ATAPI floppy drives
device       atapist           # ATAPI tape drives
options       ATA_STATIC_ID       #Static device numbering
#options     ATA_ENABLE_ATAPI_DMA   #Enable DMA on ATAPI devices
#>> IDE 及 ATAPI 裝置的支援

# SCSI Controllers
device       ahb         # EISA AHA1742 family
device       ahc         # AHA2940 and onboard AIC7xxx devices
device       amd         # AMD 53C974 (Teckram DC-390(T))
device       isp         # Qlogic family
device       ncr         # NCR/Symbios Logic
device       sym         # NCR/Symbios Logic (newer chipsets)
options       SYM_SETUP_LP_PROBE_MAP=0x40
                    # Allow ncr to attach legacy NCR devices when
                    # both sym and ncr are configured

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 peripherals
device       scbus       # SCSI bus (required)
device       da         # Direct Access (disks)
device       sa         # Sequential Access (tape etc)
device       cd         # CD
device       pass         # Passthrough device (direct SCSI access)
#>> 以上都是 SCSI 裝置的選項

# RAID controllers interfaced to the SCSI subsystem
device       asr         # DPT SmartRAID V, VI and Adaptec SCSI RAID
device       dpt         # DPT Smartcache - See LINT for options!
device       mly         # Mylex AcceleRAID/eXtremeRAID
#>> SCSI RAID 的支援

# RAID controllers
device       aac         # Adaptec FSA RAID, Dell PERC2/PERC3
device       ida         # Compaq Smart RAID
device       amr         # AMI MegaRAID
device       mlx         # Mylex DAC960 family
device       twe         # 3ware Escalade
#>> RAID 控制器的支援

# atkbdc0 controls both the keyboard and the PS/2 mouse
device       atkbdc0 at isa? port IO_KBD
device       atkbd0 at atkbdc? irq 1 flags 0x1
device       psm0   at atkbdc? irq 12
#>> Keyboard 及 PS/2 的支援

device       vga0   at isa?
#>> 顯示卡的 driver

# splash screen/screen saver
pseudo-device   splash
#>> Splash screen at start up, 執行螢幕保護程式需要這個選項

# syscons is the default console driver, resembling an SCO console
device       sc0   at isa? flags 0x100
#>> console driver

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device       vt0   at 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

# Floating point support - do not disable.
device       npx0   at nexus? port IO_NPX irq 13
#>> The Numeric Processing eXtension driver, 不要移除!!

# Power management support (see LINT for more options)
device       apm0   at nexus? disable flags 0x20 # Advanced Power Management

#>> 進階電源管理的支援

# PCCARD (PCMCIA) support
device       card
device       pcic0   at isa? irq 0 port 0x3e0 iomem 0xd0000
device       pcic1   at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
#>> PC Card (PCMCIA) 的支援

# Serial (COM) ports
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
#>> Serial (COM1~COM4) port 的支援

# Parallel port
device       ppc0   at isa? irq 7
device       ppbus       # Parallel port bus (required)
device       lpt         # Printer
device       plip         # TCP/IP over parallel
device       ppi         # Parallel port interface device
#device       vpo         # Requires scbus and da

#>> parallel port 的支援

# PCI Ethernet NICs.
device       de         # DEC/Intel DC21x4x (``Tulip'')
device       fxp         # Intel EtherExpress PRO/100B (82557, 82558)
device       tx         # SMC 9432TX (83c170 ``EPIC'')
device       vx         # 3Com 3c590, 3c595 (``Vortex'')
device       wx         # Intel Gigabit Ethernet Card (``Wiseman'')

# 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!
device       miibus       # MII bus support
device       dc         # DEC/Intel 21143 and various workalikes
device       pcn         # AMD Am79C79x 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       vr         # VIA Rhine, Rhine II
device       wb         # Winbond W89C840F
device       xl         # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs.
device       ed0   at isa? port 0x280 irq 10 iomem 0xd8000
device       ex
device       ep
device       fe0   at isa? port 0x300
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attatement 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 paremeters here.
device       an
# Xircom Ethernet
device       xe
# 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
#>> 以上都是 NIC 的支援, 請留需要的 device

# Pseudo devices - the number indicates how many units to allocated.
pseudo-device   loop         # Network loopback
#>> loopback device (必備)
pseudo-device   ether       # Ethernet support
#>> Ethernet 的支援
pseudo-device   sl     1     # Kernel SLIP
pseudo-device   ppp   1     # Kernel PPP
#>> SLIP 及 ppp 的支援
pseudo-device   tun         # Packet tunnel.
#> tunnel driver
pseudo-device   pty         # Pseudo-ttys (telnet etc)
#>> Pseudo tty 的支援, 數目上限
pseudo-device   md         # Memory "disks"
#>> Memory/malloc disk
pseudo-device   gif   4     # IPv6 and IPv4 tunneling
#>> IPv6 及 IPv4 的 tunneling
pseudo-device   faith   1     # IPv6-to-IPv4 relaying (translation)
#>> 轉換 IPv4/IPv6 translation daemon 的封包

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device   bpf         #Berkeley packet filter
#>> Berkerley Packet Filter, 必備

# USB support
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
# USB Ethernet, requires mii
device       aue         # ADMtek USB ethernet
device       cue         # CATC USB ethernet
device       kue         # Kawasaki LSI USB ethernet
#>> USB 各裝置的支援


以上如果有錯誤或遺漏的請指正補齊... :)

獻花 x0