Next Previous Contents

7. 配置你的 Linux 核心

为了要能够使用 PPP,你编译的 Linux 核心必须包含 PPP 的支持  如果你还没有 Linux 的源程序请先取得 - 在 Linux 的文档系统标准中它是放在 /usr/src/linux 里面 

检查这个目录 - 许多的 Linux 套件会在安装过程中安装此源程序(文档及次目录) 

在启动时,你的 Linux 核心会印出大量的信息 如果核心支持 PPP 的话会包含此一信息  要观看这些信息的话,看看你的系统记录档或用 dmesg | less 指令将这些信息显示在萤幕上  如果核心支持 PPP 的话你将会看到像这样的几行


PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered.

(这是 Linux 2.0.x 系列核心的信息) 

Linux 核心的原始程序可以从 sunsite.unc.edu 或其映射节点取得 

7.1 安装 Linux 核心源程序

下面是简短的取得及安装 Linux 核心源程序的指示 详细的信息可以在 The Linux Kernel HOWTO 中找到 

为了安装及编译核心,你必须以 root 的身份签入 

  1. 切换到 /usr/src 目录下
    cd /usr/src
  2. 检查 /usr/src/linux 看看你是否已经安装了源程序 
  3. 如果没有的话,由 Linux kernel source directory 或离你最近的映射节点取回 
    如果你想找更旧版本的核心(例如 1.2.X),可到 Old Linux kernel source directory 找找 
  4. 选择适当的核心 - 通常是最近的版本 取回后将此 'tar' 压缩档放在 /usr/src 
    注意: 一个 'tar' 文档是一种压缩档 - 可能压了许多文档和目录在里头 它相当于 DOS 下的 zip 文档 
  5. 如果你已经安装了原始程序,但想要升级到新版的核心,你必须先移除旧的程序码 用这个指令
    rm -rf /usr/src/linux
  6. 用这个指令解压缩
    tar xzf linux-2.0.XX.tar.gz
  7. 然后,cd /usr/src/linux 并看看 README 档 里头包含了完整的解释如何配置及编译新核心  仔细阅读这个文档(将它印出来放在手边是个好主意,直到你已做了足够多次知道怎么办) 

7.2 了解你的硬件

如果你要重新编译你的核心你必须知道在你 PC 里面的界面卡/设备!! 对于某些设备(像是声卡)你也得知道各种设定(像是硬件中断号码,输出入位址以及诸如此类的信息) 

7.3 编译核心 - Linux 1.2.13 核心

要开始配置程序,首先依照在解说档里的说明适当地安装源程序 然后以下面的指令开始核心的配置程序

make config

为了要能够使用 PPP ,你必须配置核心包含 PPP 的支持(使用 PPP 需要 pppd 以及核心的 PPP 支持两者) 


  PPP (point-to-point) support (CONFIG_PPP) [n] y

根据在你 PC 里面的硬件以及你想要的 Linux 作业系统特色回答其它的配置问题 然后继续依照该解说档来编译并安装你的新核心 

核心 1.2.13 只要制造四个 PPP 装置 对于多埠卡(multi-port serial cards)来说,你必须修改核心 PPP 的原始程序以便得到更多埠的支持  (参见随附 PPP-2.1.2 套件而来的 README.linux 文档说明你需要做的细节部份) 

注意: 核心 1.2.13 的配置对话不允许你回头 - 因此如果你在 make config 对话中答错问题,用 CTRL-C 跳出来重新开始 

7.4 编译核心 - Linux 1.3.x 及 2.0.x 核心

对于 Linux 2.0.x 的核心,你可以使用类似 Linux 1.2.13 的程序  再一次,依照在解说档里的说明适当地安装源程序 然后以下面的指令开始核心的配置程序

make config

然而,你也有另外的选择

make menuconfig

这提供一个以选单为基础配合线上辅助的配置系统,允许你在配置程序中随意所之 

也有一个以 X windows 为基础的配置界面

make xconfig

你可以直接编译 PPP 的支持到核心里去或者是做成可载入模块 

如果你只在你 Linux 机器运作的一部份时间里使用 PPP 的话,那么建议你把 PPP 的支持编译为可载入模块  使用 'kerneld',你的核心将会在你开始你的 PPP 连结程序时自动载入提供 PPP 支持所需的模块  这节省了宝贵的内存空间(因为核心没有任何一个部份可以被置换到内存外,但可载入模块在未使用时会自动被移除) 

要这样做的话,你需要打开可载入模块的支持:


        Enable loadable module support (CONFIG_MODULES) [Y/n/?] y

要加入 PPP 的核心支持,回答下列这个问题:-


        PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]  

要做成可载入模块的话,回答 M 即可,否则就编译成核心的一部份,回答 Y 就是 

与 1.2.13 的核心不同的是,2.0.x 的核心视需要自动建立 PPP 设备并且一点都不需要去研究源程序以增加可用的 PPP 设备 

7.5 PPP-2.2 与 /proc/net/dev 的注意事项

如果你在使用 PPP-2.2,你会发现建立 PPP 装置的一个副作用就是如果你观察 /proc/net 文档系统看不到 PPP 的装置, 直到开始使用 pppd 装置才会被建立起来:-


[hartr@archenland hartr]$ cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo:  92792    0    0    0    0    92792    0    0    0     0    0
  eth0: 621737   13   13    0   23   501621    0    0    0  1309    0

一旦你有一个(或更多) PPP 服务启动后,你会看到像这样的项目(从一部 PPP 伺服器上取得):-


[root@kepler /root]# cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo: 428021    0    0    0    0   428021    0    0    0     0    0
  eth0:4788257  648  648  319  650  1423836    0    0    0  4623    5
  ppp0:   2103    3    3    0    0     2017    0    0    0     0    0
  ppp1:  10008    0    0    0    0     8782    0    0    0     0    0
  ppp2:    305    0    0    0    0      297    0    0    0     0    0
  ppp3:   6720    7    7    0    0     7498    0    0    0     0    0
  ppp4: 118231  725  725    0    0   117791    0    0    0     0    0
  ppp5:  38915    5    5    0    0    28309    0    0    0     0    0

7.6 配置核心的一般考量

如果你要把你的 Linux PC 设为一台 PPP 伺服器的话,那么你必须把 IP forwarding 的支持编译进去  如果你想使用 Linux 连接两个区域网路或将区域网路连接到网际网路上的话这个选项也是需要的 

如果你要连接一个区域网路到网际网路上(或者甚至只是连接两个区域网路),你应该要关心安全上的问题 在核心中加入 IP firewalls 的支持可能是必须的!

如果你想要用 IP 伪装连接使用前述任何一个?未连线'IP 网路号码的区域网路那么你也需要这个配置 

要使用 IP 伪装与 IP firewalling,你必须make config 过程中的第一个问题上回答 yes:-


Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)?

虽然这听起来对新使用者有些困难,许多人仍愉快地使用 Linux 2.0.X 核心的 IP 伪装与 IP firewalling 功能而没有问题 

一旦你完成新核心的安装以及重新启动之后,你就可以开始配置并测试你的 PPP 连结 


Next Previous Contents >