进行之前,您应该先将您的硬件列表清单放在手边,并前往
http://www.freebsd.org/releases/index.Html
点选页面下方您所安装的版本其 Hardware Notes 的连结字样,如︰
‧4.6 (June, 2002) Announcement
Release Notes Hardware Notes Errata
再依您的平台架构点选连结 (i386) 进入硬件支持的说明页,这儿呈列了该版本所支持的硬件装置,您可以利用浏灠器的页面搜寻功能,搜寻您的硬件要害词,并将该硬件的驱动程序代号,如︰rl(4) ( rl 为该硬件的驱动程序代号 ),给记录到硬件清单中相对映的装置旁,以便在定义核心设定档时,能够针给装置部份予以正确的选项。
或者您也可以查看 /usr/src/sys/i386/conf/LINT 档案,取得硬件装置的驱动程序代号。
再来,请您先快速的看过 GENERIC
这个核心设定档。
其中︰
若将其分门别类的话,大致上又可分为如下类别︰
(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 = 0x543Stepping = 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#