<< Back to shouce.jb51.net

4. 对宿主系统的要求

宿主系统运行的必须是 GCC-3.0 以上版本编译的 2.6.2 或者更新版本的内核。这样的要求有两个主要原因:第一,如果宿主系统的内核不是用 GCC-3.0 以上版本编译的,NPTL(本地 POSIX 线程库)的测试程序会出现段错误;第二,使用 Udev 需要 2.6.2 或者更新版本的内核,Udev 通过读取 sysfs 文件系统动态的创建设备,但是大多数内核驱动程序直到最近才实现对这个文件系统的支持,我们必须确保正确的创建了所有关键的系统设备。

为了确定宿主系统的内核是否满足上述要求,运行下面的命令:

cat /proc/version

产生的输出类似于这样:

Linux version 2.6.2 (user@host) (gcc version 3.4.0) #1
    Tue Apr 20 21:22:18 GMT 2004

如果上面命令的输出结果显示宿主系统的内核版本低于 2.6.2 或者不是用 GCC-3.0 以上版本编译的,您需要安装一个符合上述条件的新内核,然后用该新内核启动宿主系统。有两种方法可以解决这个问题。第一,如果你的 Linux 供应商提供这样的内核,你可以直接安装它;第二,如果你的 Linux 供应商不提供这样的内核或者你不想安装他们提供的内核,你可以自己编译一个内核。关于编译内核和配置引导管理器(假定宿主系统使用 GRUB)的指导,请查看Chapter 8。使用编译器和编译内核应当是你使用这本书的基本功,如果你觉得这两件事对你很困难,那么现在还不是你使用这本书的最佳时机。[别被这句话吓跑了,没有使用过编译器并且也没有编译过内核的读者完全可以继续,到时候现学现用嘛!]