Next Previous Contents

4. 编译核心

4.1 清除与确认

当用来进行配置的指令稿执行完成时,它会告诉你去 `make dep' 以及 `clean'  所以要执行`make dep' 这将确保所有的相依关系,例如 include files 都没问题  除非你的电脑真的很慢,否则它不会花太久时间的  完成后,在较旧版本的核心中你还应该做 `make clean'  这会清除核心编译的所有目的档以及其它东西 在重建一个核心之前不要忘记这个步骤 

4.2 编译时期

在完成 `make dep' 及 `make clean' 工作之后,你现在可以执行 `make zImage' 或 `make zdisk' (这部份需要长时间)  `make zImage' 将会编译核心,并且在 arch/i386/boot 留给你一个叫做 `zImage' 的文档 这就是新的压缩核心  `make zdisk' 做的事也一样,但是它会把核心放到你所希望的磁片去,只要把这张磁片放在 ``A:''  `zdisk'对于测试新核心很方便;如果它当掉(或工作不正常),只要把磁片拿掉再用旧的核心启动即可  如果你意外地删除了核心或是什么的,它也是个方便的启动办法  当你把一台磁盘的内容倾倒到另外一台去时,你也可以用它来安装新的系统(除了这些之外还有更多用途!)

所有近来的核心都是压缩过的,所以有个 `z' 在名字前面 压缩过的核心执行的时候会自动将自己解压缩 

4.3 其他可以``make''的东西

`make mrproper' 将会做更广泛的 `清除' 工作  这个动作有时候是必须的,所以你可能会希望在每次修补的时候执行它  `make mrproper' 还会将你的配置文档杀掉,所以如果你认为它重要的话应该先做一备份(在 .config) 

`make oldconfig' 会尝试由一旧的配置文档来配置你的核心 它会为你执行 `make config'  如果你还未曾编译过核心或没有旧的配置文档,那么你可能不该做这个,因为你几乎确定会更改预设的配置 

参见可载入模块一节对 `make modules' 的说明 

4.4 安装核心

在你已经获得一个看起来能够照你希望运作的新核心之后,现在是安装它的时候了  大部份的人使用 LILO (Linux Loader) 来做这件事  `make zlilo' 将会安装核心,然后对它执行 LILO,使你完成所有开机的准备, 但是这只有在 LILO 已经以下列这种方式配置好的时候才可以:核心为 /vmlinuz , lilo 在 /sbin 下,而且与你的 LILO 配置(/etc/lilo.conf)一致 

另一方面,你可能需要直接使用 LILO 这是一个相当容易安装的软件,然而,它的配置档常使人困扰  查看配置档(不是旧版的 /etc/lilo/config 就是新版的 /etc/lilo.conf),看看里面有些什么  它看起来像这样子的东西:

    image = /vmlinuz
        label = Linux
        root = /dev/hda1
        ...

首先,`image =' 设定为已经安装的核心 大部份的人似乎都用 /vmlinuz  `label' 则是给 lilo 用来决定现在要启动的是那个核心或作业系统, 而 `root' 则是这个特别的作业系统的根目录 /  备份一份旧的核心,然后将你做的 zImage 拷贝进去(例如,如果你用 `/vmlinuz' 的话,就像这样 `cp zImage /vmlinuz')  然后,执行 `lilo',但是在较旧的系统上,你可能必须执行 /etc/lilo/install 或甚至是 /etc/lilo/lilo -C /etc/lilo/config 

如果你想知道更多有关于 LILO 的配置,或是你并没有 LILO 但是你想要安装的话, 从你喜欢的 ftp 节点取得最新的版本然后依说明行事 

要能够从硬盘启动你的旧核心其中之一的话(这是另一个在新核心出状况的情况下保护你自己的方法), 把 LILO 配置档中所有的(包括) `image = xxx' 拷贝到文档的最底端, 然后把 `image = xxx' 改成 `image = yyy' 其中的 `yyy' 是你备份旧核心所存档的名字  接著,把 `label = zzz' 改成像是 `label = linux-backup' 然后重新执行 lilo  你可能得要加上一行 `delay=x',其中的 x 是以十分之一秒为单位的时间, 这是告诉 LILO 在启动前先等一下,所以你可以中断它的执行(例如用 shift 键)  然后键入所备份的启动映像之 label (在发生了某些令人不愉快的事情的情况下) 


Next Previous Contents