FreeBSD內核定製參考

提要: 介紹了FreeBSD內核參數的含義,給我們定製符合要求的FreeBSD內核提供參考 #
# GENERIC -- Generic machine kernel
#

## 主機類型i386 因爲FreeBSD是在X86 上運行的嘛
machine "i386"

## CPU 種類看看自己屬於幾86 嘛
#cpu "I386_CPU" # 386 的電腦
#cpu "I486_CPU" # 486 的電腦
cpu "I586_CPU" # 586 的電腦
#cpu "I686_CPU" # 686 的電腦

## 內核標識沒有特殊意義
ident GENERIC

## 定義一些系統的結構應該保留多大的內存空間,通常
## 16 或32 就夠了, 除非你開站,或運行X 就用64 吧
## 注意這個值永遠小於你的內存數目
maxusers 32

## 一個用戶可以執行的進程數限制
options CHILD_MAX=256
## 一個用戶可以打開的文件數限制
options OPEN_MAX=256

## 打開內核調試, 一般人用不到
#options DDB

## 允許調試跟蹤內存單元(詳情見ktrace, kdump), 還是留給內核黑客用吧
#options KTRACE #kernel tracing

## 沒有FPU (SX) 的朋友用的, 用DX 的人就不用了
#options MATH_EMULATE #Support for x87 emulation

## 你有64MB以上內存量時指定單位是K 例如128MB RAM
#options "MAXMEM=(128*1024)"

## 支持網絡, 一定要有真是廢話
options INET #InterNETworking

## IPX 相關協議
#options IPX #IPX/SPX communications protocols
#options IPXIP #IPX in IP encapsulation (not available
#options IPTUNNEL #IP in IPX encapsulation (not available
#options IPXPRINTFS=0 #IPX/SPX Console Debugging Information
#options IPX_ERRPRINTFS=0 #IPX/SPX Console Debugging Information

## 文件系統設定
## 只有UFS 是必需的, 其他的可以不必, 要用時kernel 會用LKM 載入
## 注意文件系統名有數字時要用雙引號括起來哦看看下面的LINUX文件系統就知道了
options FFS #Berkeley Fast Filesystem
#options NFS #Network Filesystem
#options NFS_NOSERVER #Disable the NFS-server code.
#options MSDOSFS #MSDOS Filesystem
#options "CD9660" #ISO 9660 Filesystem
#options PROCFS #Process filesystem
#options KERNFS #Kernel filesystem
#options NQNFS #Enable NQNFS lease checking
#options FDESC #File descriptor filesystem
#options LFS #Log filesystem
#options MFS #Memory File System
#options NULLFS #NULL filesystem
#options PORTAL #Portal filesystem
#options UMAPFS #UID map filesystem
#options UNION #Union filesystem
#options DEVFS #devices filesystem
##
## 有LINUX文件系統的朋友注意要用下面這一行
#options "EXT2FS" #ext2fs, only in 2.2-CURRENT

## 4.3BSD 兼容, 這是必要的可能有些程序會用到
options "COMPAT_43" #Compatible with BSD 4.3

## 執行Linux 的程序文件就算你利用LKM 載入你還是需要這個參數
## 你可以修改/etc/sysconfig 中的linux=YES 或是執行/usr/bin/linux
## 對了你必需安裝packages 中的linux_lib
#options "COMPAT_LINUX" #Linux Emulator

## SCO 二進制程序模擬
#options "IBCS2"

## 一開機時SCSI 卡會先等待設備準備幾秒鐘時間, 對於一些比較慢的SCSI設備,
## 如CDROM 而言是需要的, 最小值是2, 選擇適合你的值就好了
options "SCSI_DELAY=4" #Be pessimistic about Joe SCSI device

## 允許使用者截取控制檯信息對於xconsole 之類的程序是必要的
options UCONSOLE #Unix console

## 虛擬控制檯最大數目, Alt-F1 到Alt-F12 等等, 只是定義上限而已
## 真正能用的virtual console 必需看/etc/ttys 定義vty 的數目
## 本值內定是16
options "MAXCONS=8" #Max number for virtual console

## 給WINE (MS-Windows Emulator) 用的
#options USER_LDT #For WINE, MS-Windows Emulator

## 使用QUOTA限額
#options QUOTA #For quotas

## SYSV IPC/SHM (BBS 跟X-window 及COMPAT_LINUX 需要用), 這是必要的
options SYSVMSG,SYSVSEM,SYSVSHM #For SYSV-IPC

## LKM 的載入器, 這是必要的(在2.1.5R 以後已經廢除成爲內定參數)
#options LKM #Loadable kernel module loader

## 如果你用ISA 的SCSI 卡, 又有大於16MB 的內存, 必需打開此項, 否則無法
## 使用>16MB 內存. 如果你是用EISA/VL/PCI 的SCSI 卡就不需要了
## 打開它會減低一點點速度, 沒事不要開(用IDE 的當然不用了)
#options BOUNCE_BUFFERS #include support for DMA bounce buffers

## 要用IP-Firewall 才需要你可以用LKM 載入
#options IPFIREWALL #Firewall code
#options IPFIREWALL_VERBOSE #Print information about dropped packets
#options IPACCT #Used with ipfirewall

## 要用IP-Firewall 或要當router 纔要
## 在2.2-960323-SNAP 後已廢除, 以sysctl 打開(見/etc/sysconfig)
#options GATEWAY #Internetwork gateway

## Multicast routing, 做多路由器時用
#options MROUTING #Multicast routing

## 允許swap device 的數目(內定20)
#options NSWAPDEV=20

## 指定root partition 在那個硬盤上
#在第一個SCSI HD上
config kernel root on sd0
#在第一個IDE HD上
#config kernel root on wd0 dumps on wd0

## 使用ISA 總線
controller isa0

## 使用EISA 總線
#controller eisa0

## 使用PCI 總線
controller pci0

## 軟驅控制器
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
# 軟驅A
disk fd0 at fdc0 drive 0
# 軟驅B
# disk fd1 at fdc0 drive 1

## IDE 硬盤控制器
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
disk wd1 at wdc0 drive 1

## 第二個IDE 硬盤控制器, 有接第二個IDE 控制器時才用
#controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk wd2 at wdc1 drive 0
#disk wd3 at wdc1 drive 1

## IDE(ATAPI 規格) 光驅
#options ATAPI #Enable ATAPI support for IDE bus
#options ATAPI_STATIC
#device wcd0 #IDE CD-ROM

## SCSI 控制卡, 請從/sys/i386/conf/LINT 中讀取詳細說明
#controller ahc0
#controller ncr0
#controller bt0 at isa? port "IO_BT0" bio irq ? vector btintr
#controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
#controller ahc1 at isa? bio irq ? vector ahcintr
#controller ahb0 at isa? bio irq ? vector ahbintr
#controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
#controller aic0 at isa? port 0x340 bio irq 11 vector aicintr
#controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr
#controller nca1 at isa? port 0x350 bio irq 5 vector ncaintr
#controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr

## SCSI 總線支持, 使用SCSI 必備的
#controller scbus0

## SCSI HD SCSI硬盤
#device sd0 #Only need one of these, the code dynamically grows

## SCSI CDROM SCSI光驅
#device cd0 #Only need one of these, the code dynamically grows

## SCSI tape SCSI磁帶機
#device st0 #Only need one of these, the code dynamically grows

## SCSI optical disk (MO) SCSI的MO驅動器
#device od0 #Only need one of these, the code dynamically grows

## SCSI media changers (Juke-Box)
#device ch0 #Only need one of these, the code dynamically grows

#------------------ 用AT-總線的光驅(非ATAPI 現在很少了吧) ---------------
## Mitsumi CDROM 美上美光驅
#controller mcd0 at isa? port 0x300 bio irq 10 vector mcdintr

## SONY CDROM 索尼光驅
#controller scd0 at isa? port 0x230 bio

## Panasonic CDROM 松下光驅
#controller matcd0 at isa? port ?

## QIC tape QIC磁帶機
#device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr

## console 屏幕驅動程序, 這是必備的少了啓動不了
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr

## 調用FPU 的機制, 無論有無FPU 都要有, 都是必要的
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr

## COM1 到COM4 串口設備1-4
device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
#device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr
#device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr

## Joystick 操縱桿設備
#device joy0 at isa? port "IO_GAME"

## 如果你有Logitech or ATI InPort 總線鼠標的卡, 就要將此打開
## 請注意一般人使用的是serial mouse 不是bus mouse
#device mse0 at isa? port 0x23c tty irq 5 vector ms

## 給PS/2 mouse 用的
#device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
#options PSM_NO_RESET

## 打印機端口
device lpt0 at isa? port? tty irq 7 vector lptintr
#device lpt1 at isa? port? tty
#device lpt2 at isa? port? tty

## 網卡, 讀一下/sys/i386/conf/LINT 注意PCI卡不用指定硬件資源系統會自測
#device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr
#device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr
#device eg0 at isa? port 0x310 net irq 5 vector egintr
#device ep0 at isa? port 0x300 net irq 10 vector epintr
#device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr
#device ix0 at isa? port 0x300 net irq 10 iomem 0xd0000 iosiz 32768 vector ixintr
#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
#device lnc1 at isa? port 0x300 net irq 10 drq 0 vector lncintr
#device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr
#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
#device de0 #PCI --- DEC chip 21x4x series (such as DE530CT+)
#device vx0
#device fpa0
#device fxp0 #PCI --- Intel chip

## SB16 聲卡, 其他的聲卡參考/sys/i386/conf/LINT
#controller snd0
#device sb0 at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr
#device sbxvi0 at isa? drq 5
#device sbmidi0 at isa? port 0x330
#device opl0 at isa? port 0x388

## SB32/AWE32/AWE64 聲卡, 其他的聲卡參考/sys/i386/conf/LINT
#controller snd0
#device sb0 at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr
#device sbxvi0 at isa? drq 5
#device sbmidi0 at isa? port 0x330
#device opl0 at isa? port 0x388
#device awe0 at isa? port 0x620

## PC Speaker Audio (用PC Speaker 模擬聲卡效果很爛的)
#device pca0 at isa? port IO_TIMER1 tty

## 網絡迴路, 這是必備的
pseudo-device loop

## 使用以太網接口, 這是必備的
pseudo-device ether

## Berkerley 包過濾, tcpdump ,dhcp 需要用, 這是必備的
pseudo-device bpfilter 4

## syslogd 需要, 這是必備的
pseudo-device log

## 使用者tty 上限, 限制最大登錄人數, 預設上限256
pseudo-device pty 256

## PC speaker, 這是必備的
pseudo-device speaker

## 可以直接執行gzip 的程式, 這是必備的不過只支持a.out 格式程序
pseudo-device gzip # Exec gzipped a.out's

## 支持監控tty 使用者
pseudo-device snp 4 #Snoop device - to look at pty/vty/etc..

## 把一個文件模擬成一個分驅, 通常用來做爲交換文件或讀磁盤鏡像文件時用
pseudo-device vn 4 #Vnode driver (turns a file into a device)

## 內核級PPP (man pppd) 可用LKM 載入
#pseudo-device ppp 2 #Point-to-point protocol

## 用戶級PPP (man ppp) 可用LKM 載入
#pseudo-device tun 1 #Tunnel driver(user process ppp)

## SLIP 可用LKM 載入現在很少用了
#pseudo-device sl 2 #Serial Line IP

## 虛擬網卡驅動, 可任意寫入,讀取信息, 用於開發網路相關程序可用LKM 載入
#pseudo-device disc #Discard device

## 提供RAID-0 Striping Mirroring parity(not complete) 的功能
## 可以有效的將多個SCSI 磁盤合併起來成爲一個高速的文件系統
## 詳情請man ccdconfig
#pseudo-device ccd 4
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章