06 FreeBSD连载:安装FreeBSD( 二 )


Skip kernel configuration and continue with installation
Start kernel configuration in full-screen visual mode
Start kernel configuration in CLI mode
使用者可以使用上下箭头键来在三种不同的方式下进行选择,第一项表示忽略配置过程,这表示使用者计算机硬件的配置参数与FreeBSD通用内核的缺省配置基本一致,不需要更改内核设置,这是因为一般情况下计算机重要硬件使用的资源设置都是非常标准的设置 。当然使用者也可以选择下面的选项,对资源的设置参数进行更改或确认的操作 。其中第二项是使用比较方便的全屏幕操作方式更改设置参数,这适合一般情况 。第三个选项是使用命令行的操作方式更改系统参数,能够用来设置比较复杂的参数,包括一些在全屏幕方式下无法设置的参数,如ISA PNP卡的资源分配和设置 。命令行方式的硬件资源设置方式只适合对FreeBSD了解较深的使用者 。
FreeBSD的内核(kernel)中包含各种硬件的驱动程序,负责构建操作系统和硬件之间的通道 。在启动之后,系统首先将内核程序装载到内存中,然后由内核负责探测各种硬件 。每种硬件驱动程序都将最常使用的资源值作为了它的缺省配置,在编译的时候写入了内核程序内部,只有通过UserConfig才能进行更改 。当使用UserConfig来更改硬件的资源设置的时候,前面准备过程中记录的硬件配置信息就十分有用了,可以参考这些信息来设置正确的硬件占用的资源 。
FreeBSD就使用这些最常使用的资源配置做参数去判断系统中是否存在这种硬件,如果探测到了,才使用这些资源激活这个硬件驱动程序 。因此如果硬件的资源设定与FreeBSD核心配置的参数不相符,硬件探测就会失败 。这时就需要更改内核的配置数据与板卡设置相同,才能正确探测到该硬件 。
对于要更改内核的配置参数的情况,一般可以选用第二个选项,使用全屏幕的操作方式进行系统参数的更改工作 。
进入UserConfig的全屏幕界面之后,整个屏幕被分为三个部分 。上部为Active Drivers部分,表示内核中激活的设备驱动程序,这些硬件将在启动时进行检测,中部为Inactive Drivers部分,表示内核中存在的驱动程序,但却被屏蔽了,因此在启动时就不检测这些硬件 。下部是操作提示区域,用于提示操作命令和输入具体的参数设置 。
Active Drivers中的Conflicts表示在所有要检测硬件的配置中存在多少个资源冲突,由于不是所有的硬件都存在并真正占用这些资源,因此不必理会这个冲突现象 。系统内核按照硬件检测的顺序(这在内核编译时就已经确定了),如果第一个硬件的确存在,占用了资源,那么其他与它的配置相冲突的硬件就应该不会存在于这个资源上了,因此就被系统略过而不探测这个硬件了,除非是已经指明可以共享这个资源的硬件 。Dev对应的列为驱动程序的名字,IRQ和Port对应的列为相应的硬件参数 。
Collapsed表示该项表示这是一组相关的硬件,可以将光标移动到这个选项上并使用Enter键打开这组硬件,显示组内的具体硬件,例如上图中的Network类中就存在两个网络设备ed0和ed1 。选择相应的设备之后,可以使用Delete键将这个硬件移入Inactive Drivers部分(在Inactive Drivers中选择相应的设备,进行同样的操作可以将其放入Active Drivers中),也可以使用Enter打开硬件的配置参数,进行更改操作,此时就在下面的第三部分中提示各个硬件参数,如IRQ、port等,并允许用户输入新的设置值 。
在UserConfig中,有些设备,如PCI设备,不能被放入Iactive Drivers部分被屏蔽,然而这并不影响系统探测 。
将硬件的配置参数进行了重新配置之后,要使用Q键来退出UserConfig,然后内核将会按照新配置侦测硬件 。内核侦测硬件的时候,将探测结果显示到屏幕上 。这些信息能够告诉使用者是否配置的硬件被正确的探测到,该硬件占用的系统资源以及该硬件的其他信息 。但是自动探测不可能完全正确,因为很多硬件虽然声称相互兼容,但事实上仍存在细微的差别 。万一出现问题,就要求使用者针对硬件配置参数的差异,在UserConfig中按照计算机的配置修改内核配置 。为了避免问题,可以使用排除法,将自己计算机中不存在的设备都先屏蔽了,以免出现偶然的错误 。

推荐阅读