06 FreeBSD连载:安装FreeBSD( 三 )


硬件探测问题
使用者的计算机可能配置有很多种硬件,有可能在第一次启动时没有将所有的硬件全部配置正确,这并不是一个重要的问题,因为有的硬件不影响安装过程,可以在安装好系统以后,再使用UserConfig或重新编译内核来配置硬件参数 。但是有些硬件对于系统安装非常重要,必须被正确探测到,否则就无法继续安装过程,如要安装系统的硬盘驱动器、用于读取安装光盘的光驱、使用网络安装时的网卡等 。这时就需要在启动时进入UserConfig更改内核设置,而从硬件的文档或者从Windows的控制面板获得的硬件信息就十分重要了 。
编译操作系统内核对于Windows用户也许是不可想象,但对于FreeBSD的使用者来说,是非常普通和标准的做法 。并且编译内核决不是什么难事,FreeBSD提供了十分方便的方法让使用者来定制自己的内核 。
硬盘:不管使用何种安装介质,内核必须将目标硬盘探测出,否则无法继续安装 。因此使用者必须清楚自己计算机使用的是何种硬盘驱动器 。由于IDE驱动器使用的资源比较标准,也都使用wd这一种驱动程序,一般都能被正确探测到 。而SCSI驱动器则由于存在不同的标准和制造厂家,使用的驱动程序也各不相同,如果计算机上的SCSI控制卡兼容性不强,就有可能出现检测错误 。这有可能是厂商设定的资源设置与常用设置不同造成的,就需要用户使用UserConfig重新配置 。为了增加系统检测的速度和减少错误发生的几率,可以在UserConfig中尽量屏蔽不必要的驱动程序,仅留下正确的驱动并配置了正确的资源 。
CD-Rom:如果安装介质是光盘,则内核必须要探测到光盘驱动器 。探测光盘驱动器首先要探测到合适的IDE或者SCSI控制器,这与探测硬盘要求一致 。如果使用的光驱不是IDE或SCSI控制器接口的,而是另外的ATAPI接口方式,就需要查看通用内核的硬件支持列表,看看内核是否支持这种光驱,并根据相关文档配置内核参数支持这种控制器 。由于这些老式光驱的控制器常常是和声卡作在一起,设置起来比较困难,并且FreeBSD系统也不支持所有种类的老型号光驱,幸好当前非IDE或SCSI接口的光驱型号已经基本淘汰了 。因此最好的解决方法是安装一台新的IDE或SCSI接口的光盘驱动器 。
IDE光驱可能会发生的另一个安装问题是光驱的主/从问题(Master/Slave),通常在一个IDE控制器上能串接两个IDE设备,一个要设为主设备,另一个要设为从设备 。在仅有一个设备时,将该设备设为从设备是不正确的,设备不应该正常工作 。但是在DOS/Windows下直接使用光驱驱动程序访问光盘,这就使得某些光驱在第二个控制器上仅接一个IDE光驱,并且光驱也设为从设备时,仍然能够正常工作 。但是FreeBSD下不是这样,必须严格按照主从方式进行设置,否则就不能正确探测到光盘驱动器 。此外,光驱出错时也应检查有没有插入光盘,以及光驱是否能够读取插入的光盘 。
网卡:网卡由于种类繁多,并且厂商彼此存在兼容性问题,因此必须考虑不同类型的网卡在缺省资源设置方面的不同 。某些时候网卡设备会出现设备超时(Device timeout)故障,一个可能的原因是总线接口的网卡没有终结,另一个原因是硬件IRQ参数配置错误 。
此外还需要为网卡选择正确的驱动程序,当前网络设备的发展快速,而FreeBSD对新型网卡提供支持则需要一定的时间 。例如,3COM 905B型网卡在FreeBSD 2.2.6中还没有提供支持,但到FreeBSD 2.2.8之后就能很好的支持 。因此,必须经常查看FreeBSD支持的硬件列表,以获得对新型硬件的驱动程序 。
配置硬件的另一些问题是避免资源冲突,有些硬件本身设计的就存在问题,不能正确更改其资源设置,此时可以让与它冲突的其他硬件避开使用相应资源 。另外,一些设计得比较糟糕的设备,如果系统对它占用的端口进行了不正当的探测操作,就可能造成系统死机 。这也是为什么尽量减少要探测的设备,并且不能在所有的资源上对硬件进行地毯式全面探测的原因之一,因此也不应该随便改动硬件探测的顺序 。很多情况下发生这些冲突等问题,常常是因为使用了兼容性不好的硬件或配置了不太适合的硬件参数造成的 。所以使用者应利用自己对系统硬件的了解,减少系统探测的硬件数量和设置正确的资源 。

推荐阅读