安装 Linux-2.4.22

估计编译时间:           All default options: 4.20 SBU
估计所需硬盘空间:      All default options: 181 MB

Linux的内容

Linux 内核是每一个Linux系统的心脏,它为系统提供生命的脉搏。当打开计算机电源并且引导Linux系统时,最先载入载入的Linux软件就是内核。内核初始化系统的硬件组件,诸如:串口、并口、声卡、网卡IDE控制器、SCSI控制器等等。简而言之,内核让软件能够在硬件上得以运行。

安装的文件: 内核和内核头文件

Linux 安装依赖关系

Linux 依赖于: Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, Sed.

安装 kernel

安装内核包括几步:配置,编译和安装。如果你不习惯本书中安装内核的方法,可以阅读内核源码中的 README 文件,以找出其他的方法。

准备编译前运行以下命令:

make mrproper

这确保内核源代码树是绝对干净的。内核开发组推荐在每次编译内核前都这样做。你不能保证在解压后得到的源码是干净的。

用菜单界面来配置内核:

make menuconfig

有时 make oldconfig 可能更好。请看 README 文件以获取更多信息。

如果你想,你可以直接从你的主系统拷贝一个内核配置文件 .config$LFS/usr/src/linux-2.4.22 目录下,就能跳过内核配置这一步。不过我们不推荐这样做,因为浏览所有的菜单项并创建自己的内核对你的linux学习很有帮助。

关于 POSIX 共享内存支持,要打开内核参数中的"Virtual memory file system support"。这个参数在 "File systems" 菜单下,通常情况下是缺省打开的。

验证依赖关系,并创建依赖信息文件:

make CC=/opt/gcc-2.95.3/bin/gcc dep

编译内核 image:

make CC=/opt/gcc-2.95.3/bin/gcc bzImage

编译配置成模块的驱动等:

make CC=/opt/gcc-2.95.3/bin/gcc modules

如果你要使用内核模块,你就需要一个/etc/modules.conf 文件。关于模块和内核配置的常用信息可以在内核文档中找到,位置是/usr/src/linux-2.4.22/Documentation. modules.conf的手册页和内核HOWTO(可以在http://www.tldp.org/HOWTO/Kernel-HOWTO.html 找到)也许你也有兴趣。

安装模块:

make CC=/opt/gcc-2.95.3/bin/gcc modules_install

没有文档,任何软件包都不完整。因此我们这里编译内核的man文档:

make mandocs

并安装它们:

cp -a Documentation/man /usr/share/man/man9

内核编译完成了,不过有一些创建的文件还留在源码树里。为了完成安装,要拷贝两个文件到 /boot 目录。

内核文件的路径在不同的平台上是不一样的。用以下命令安装内核:

cp arch/i386/boot/bzImage /boot/lfskernel

System.map 是内核的符号文件。它映射内核 API 中每一个函数的接口(entrypoints)以及正在运行的内核数据结构地址。用下列命令来安装它:

cp System.map /boot