FreeBSD编译安装新内核

来源: 作者: 2007-12-03 出处:pcdog.com

  • freebsd
  • 下一页123

      在/usr/src/sys/i386/conf目录下,可以看到一系列内核配置文件的样例。 bash-2.02$ ls /sys/i386/conf
    GENERIC  Makefile.i386  files.i386   majors.i386
    LINT   PICOBSD-N.2000 ipfilter    options.i386
    LKM    devices.i386  kernel.script

      目录中最重要的文件有GENERIC和LINT,名为GENERIC的文件就是通用内核kernel.GENERIC的配置文件,而LINT文件中包括FreeBSD支持的几乎所有配置参数,并逐一加以解释。另一些文件则是其他硬件配置下,用于特定目的的配置文件的例子。因此GENERIC和LINT文件是在设置内核时的必备参考。有了这些文件作参考之后,就可以生成针对某个计算机具体设置的配置文件就更为简单了,并执行编译内核的任务。

      要定制内核,就必须要生成配置文件。一般都是通过更改已有配置文件的方法来生成特定的配置文件,以简化设置工作。但直接修改已有的配置文件的方式,如修改GENERIC文件,并不可取,而应该先复制生成一个新的配置文件,这样就可以使用多个配置文件,维护多个不同配置的内核。这些内核可以是为一台计算机准备的,也可以是为多台计算机准备的。新配置文件可以很方便的从对已有配置文件,如GENERIC,进行复制得到。例如:

    # cd /usr/src/sys/i386/conf
    # cp GENERIC mykernel

      然后再修改mykernel这个配置文件,第一步需要完成的任务是先删除不必要的硬件支持选项,这是因为通用内核支持的硬件设备通常要多于计算机系统中实际存在的硬件设备,不必要的硬件驱动代码会占用不必要的内核内存空间。除了根据管理员对计算机硬件配置的了解来进行删除不必要的硬件驱动选项之外,比较简便的方法是根据FreeBSD的通用内核在启动时报告的信息来判断哪个设备已经探测到,哪个设备没被探测到。使用系统命令dmesg可以查看系统启动时的信息,因此没被探测到的设备可以使用命令来得到:

    # dmesg | grep “not found”

      这个命令输出的结果,或者是计算机中并不存在的设备,或者是驱动程序的参数没有配置正确,没有正确检测到硬件设备的情况。如果确认没有这个硬件设备,就可以在配置文件中将其删除。

      有些硬件设置的缺省参数与系统中的硬件设置并不一致,可以通过更改配置文件中的配置参数来改变设置,以达到正确检测硬件的目的。

      有些设备在GENERIC配置文件中并没有提供支持,例如声卡设备,以及多处理器支持能力。如果要想支持这些设置,就要将相应的设置参数增添到配置文件中,可以要参考文件LINT中的相应设置来完成增添硬件的过程。


    更多内容请看PCdog.com--Freebsd系统安装FreeBSD系统安装FreeBSD系统的使用专题
    下一页123
    上一篇:FreeBSD Command Tools入门必看
    下一篇:FreeBSD Ports Collection