[转载]FreeBSD内核定制参考

发表于:2007-06-09来源:作者:点击数: 标签:
FreeBSD内核定制参考 发表:wxjoshua 时间:2002/10/1119:35:24 FreeBSD内核定制参考 meaculpa(2001-06-2710:46:15) # # GENERIC -- Generic machine kernel # ## 主机类型i386,因为FreeBSD是在X86上运行的嘛 machine"i386" ## CPU 种类,看看自己属于几86嘛

FreeBSD内核定制参考 
发表: wxjoshua
时间: 2002/10/11 19:35:24

 
FreeBSD内核定制参考 
meaculpa (2001-06-27 10:46:15) 

# 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 clearcase/" target="_blank" >ccdconfig 
#pseudo-device   ccd     4 



-- 错误在所难免,欢迎批评指正 

have fun! 
meaculpa.yeah.net 
icq:59166445

 kinux 回复于:2003-05-11 00:05:15
这么多人問Compile kernel...

置頂吧!! 

 军情 回复于:2003-05-14 21:20:38
实用

 tcp/ip 回复于:2003-05-15 22:41:54
好,非常感谢。

 bjones 回复于:2003-08-24 13:19:54
good, thank you !may God bless you! guy!

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