服务器 频道

FreeBSD kernel内容编译

    【IT168 服务器学院】说明

    第一部份: 开始到options设定之前

    第二部份: 大部分的options 设定(除了SMP之外)

    第三部份: SMP、软碟、主机板及IDE介面 设定

    第四部份: SCSI装置 设定

    第五部份: RAID、滑鼠、键盘、显示卡、电源管理、浮点运算、console 设定

    第六部份: PCMICA、COM port、平行埠 设定

    第七部份: PCI 及ISA 网卡 设定

    第八部份: 虚拟装置、封包过滤器、USB的装置 设定


    ----------------------------------------------------------------------------
    [第一部份] 开始到options设定之前
    ----------------------------------------------------------------------------

    machine i386
    // 机器的内部结构,除了i386 还有 alpha 及pc98我们现今看到的多是i386

    #cpu I386_CPU
    #cpu I486_CPU
    #cpu I586_CPU
    cpu I686_CPU
    // CPU的型态...若您不知道您的CPU型态为何.. >_<
    it''s ok ...FreeBSD will help you ...^^
    用 dmesg | more 指令(此指令显示开机资讯),可以看到您的CPU型态
    这是我从dmesg中看到的讯息....
    CPU:Pentium II / Pentium II Xeon / Celeron (350.80-MHz 686-class CPU)
    所以我将其他的3个型态#掉,只留下I686_CPU

    ident OHAHA
    // kernel的识别,通常我们用host name的大写..所以我的是OHAHA

    maxusers 64
    // 这个数值大约等於你希望同时能够登入机器的人数
    在正常的情况下,如果您要跑X-Window的话,最小值是4
    正确的说,此代表process的最大值有关maximum=20+16*maxusers
    正常来说,用64已经足够
    // 注意:maxusers不是能够login的限制。
    ----------------------------------------------------------------------------
    [第二部份]大部分的options 设定(除了SMP之外)
    ----------------------------------------------------------------------------
    #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols

    #options MATH_EMULATE #Support for x87 emulation
    // 模拟数学浮点运算器 除非您的机器是386或486SX之前的型号,不然您可以将此行 # 掉
    因为FreeBSD在这方面的模拟并不很精确,若您要求精确度的话..
    将 MATH_EMULATE 改成 GPL_MATH_EMULATION 改用GNU 的模拟数学浮点运算器

    options INET #InterNETworking-
    // Networking support ,即使您没有打算要连上网路也请保留,因为有些程式会用到loop

    #options INET6 #IPv6 communications protocols
    // IPv6 的通讯协定 (因为尚未启用所以disable)

    options FFS #Berkeley Fast Filesystem
    options FFS_ROOT #FFS usable as root device [keep this!]
    // 以上两项,是基本的硬碟档案系统。若您要用硬碟开机...keep this !!

    options MFS #Memory Filesystem
    options MD_ROOT #MD is a potential root device
    // memory-mapped档案系统,如果您有很大的swap空间,您想要好好的利用的话...keep this
    如果要使用的话,通常我们会将他挂在(mount)在/tmp 这个地方,因为这里有许多程式将暂存资料存放在此。
    要如此的话...请在/etc/fstab中的swap部分加入(或者说更新):
    # Device Mountpoint FStype Options Dump Pass#
    /dev/ad0s1b /tmp mfs rw 0 0

    options NFS #Network Filesystem
    options NFS_ROOT #NFS usable as root device, NFS required
    // 网路档案系统,除非您想经由TCP/IP的方式,将UNIX的系统分割区挂上,否则 # 掉
    因为本网站之後有讲到NFS方面...所以留着...^^

    options MSDOSFS #MSDOS Filesystem
    // MSDOS档案系统,除非您要在开机时就挂上此分割区,否则您可以 # 掉

    options CD9660 #ISO 9660 Filesystem
    options CD9660_ROOT #CD-ROM usable as root, CD9660 required
    // ISO9660档案系统,若您没有光碟机,或者不常mount光碟机,则可以 # 掉

    options PROCFS #Process filesystem
    // the process 档案系统,为假想的档案系统,挂(mount)在/proc,此允许 ps 指令显示process的资讯

    options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
    // 与4.3BSD的相容性[keep this!]

    options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
    // 使kernel暂停15秒,去搜寻您机器上的SCSI装置。
    这个您应该看过吧...就是开机时令你觉得很烦很慢的那个...
    您可以将此数值减少..以加快开机速度。

    options UCONSOLE #Allow users to grab the console
    // 让您能够抓取console的画面...这个对 X 的使用者比较有用...

    options USERCONFIG #boot -c editor
    // 允许您从开机选单中启动组态编辑器(configuration editor) 几乎用不到

    options VISUAL_USERCONFIG #visual boot -c editor
    // 同上...只不过是视觉化的...几乎用不到

    options KTRACE #ktrace(1) support
    // 启动kernel process tracing(追踪系统程序),在debug时很有用...一般人还是用不到...@@"

    options SYSVSHM #SYSV-style shared memory
    // 此选项提供给System V 型态的shared memory ...,最常用此选项功能的是 X 中的XSHM
    若您要使用 X 请务必加上,此外许多有关图形的程式也会因此选项功能而加速。
    又者...big5con(中文console)也需要此选项。

    options SYSVSEM #SYSV-style semaphores
    // 支援System V 的信号(semsphores),只占用少量的kernel大小

    options SYSVMSG #SYSV-style message queues
    // 支援System V 的讯息(messages),只占用少量的kernel大小,BBS会用到此选项功能。

    // 通常我们会将以上三种全部加上.....-__-||

    options P1003_1B #Posix P1003_1B real-time extensions
    options _KPOSIX_PRIOR99vY_SCHEDULING
   // Real-time extensions added in the POSIX,某些应用程式会用到(star office)。

    options ICMP_BANDLIM #Rate limit bad replies
    // 启动反应频宽限制的ICMP error,对於帮助拒绝packet攻击有所助益。
    ----------------------------------------------------------------------------
    [第三部份] SMP、软碟、主机板及IDE介面 设定
    ----------------------------------------------------------------------------
    # To make an SMP kernel, the next two are needed
    // 多CPU的支援 ....
    #options SMP# Symmetric MultiProcessor Kernel
    #options APIC_IO # Symmetric (APIC) I/O
    // 新版本的只要将此两项打开,系统会自动抓到...^^

    device isa
    // 每个被FreeBSD支援的PC都有这一个....

    device eisa
    // 若您有EISA的主机板..加上它,会自动侦测及设定所有EISA装置

    device pci
    // 若您有PCI的主机板..加上它,会自动侦测PCI的卡,及在PCI及ISA介面做一区隔

    # 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
    // 软碟的控制卡,fd0是A:,fd1是B:(因为我没有第二个软碟机,所以 # 掉fd1)

    # ATA and ATAPI devices
    device ata0 at isa? port IO_WD1 irq 14
    device ata1 at isa? port IO_WD2 irq 15
    // 以上这两个,是给那些没有PCI的系统使用

    device ata
    // kernel侦测PCI/ATA/ATAPI的选项

    device atadisk # ATA disk drives
    // IDE介面的硬碟机

    device atapicd # ATAPI CDROM drives
    // IDE介面的光碟机

    #device atapifd # ATAPI floppy drives
    // IDE介面的软碟机 (我没有..所以 # 掉)

    #device atapist # ATAPI tape drives
    // IDE介面的磁带机 (这....我更没有...所以 # 掉)

    options ATA_STATIC_ID #Static device numbering 
    // 让控制卡的数值固定,否则,则使用动态产生

    options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devices
    // 启动DMA(动态记忆体存取),预设是#掉..因大多数硬碟都支援,所以我将#拿掉

0
相关文章