7.4. 编译

务必确保您的/usr/include/asm,以及/usr/include/linux子目录只是指向内核源代码的符号链接。

  1. asm 和 linux 子目录是指向真实 include 内核源头文件目录的软链接,这些目录是我们的 Linux 架构所需的,例如/usr/src/linux/include/asm-i386对于 asm。在您的终端中输入以下命令
                 [root@deep ]/src#cd /usr/include/
                 [root@deep ] /include#rm -rf  asm linux
                 [root@deep ] /include#ln -s  /usr/src/linux/include/asm-i386 asm
                 [root@deep ] /include#ln -s  /usr/src/linux/include/linux  linux
                 
    这是配置中非常重要的一部分;我们移除/usr/include 下的 asm 和 linux 目录,然后创建指向新 Linux 内核源代码版本目录下的同名目录的新链接。include 目录包含 Linux 内核和程序在您的系统上编译所需的重要头文件。

  2. 确保您没有过时的 .o 文件和依赖项。在您的终端中输入以下命令
                 [root@deep ] /include#cd /usr/src/linux/
                 [root@deep ] /linux#make mrproper
                 

    Note: 上述两个步骤只是清理开发团队可能意外留在源代码树中的任何内容。

    现在您应该已正确安装了源代码。您可以通过以下三种方式之一配置 Linux 内核。

    • 第一种方法是使用 make config 命令。它为您提供一个基于文本的界面来回答所有配置选项。系统会提示您设置内核所需的所有选项。

    • 第二种方法是使用 make menuconfig 命令,该命令在易于使用的菜单中提供所有内核选项。

    • 第三种方法是使用 make xconfig 命令,该命令为所有内核选项提供完整的图形界面。

  3. 对于配置,您将使用 make config 命令,因为我们尚未在 Linux 服务器上安装 XFree86 窗口界面。在您的终端中输入以下命令以加载内核配置
                 [root@deep] /#cd /usr/src/linux/ (if you are not already in this directory).
                 [root@deep ] /linux#make config
                 rm -f include/asm
                 ( cd include ; ln -sf asm-i386 asm)
                 /bin/sh scripts/Configure arch/i386/config.in
                 #
                 # Using defaults found in arch/i386/defconfig
                 #